Şimdiye kadarki en iyi çözüm olduğuna inandığım şey şu:
=CountIf(ArrayFormula(range<>""),TRUE)
İşte 3 kolay adımda nedenleri
Adım 1: Pasta Olarak Basit - Fazladan Sütun Ekleme
EniacAvenger tarafından cevap olarak uç örnekleri endişelenmeden doğru çözümü verecektir =A1<>""
biz sezgisel olarak boş hücreleri düşüncenize bağlı doğru truthy / falsy değerine ulaşmak gibi görünüyor, bakire boşlukları veya oluşturulan boşlukları ya.
Bu verilere sahip olduğumuzu ve boşluk olmayanların sayısının içinde olmasını istediğimizi düşünün B2:B6
:
| | A | B | C |
|---|-------------|-------|---------|
| 1 | Description | Value | B1<>"" |
| 2 | Text | H | TRUE |
| 3 | Number | 1 | TRUE |
| 4 | IF -> "" | | FALSE |
| 5 | IF -> Text | h | TRUE |
| 6 | Blank | | FALSE |
Sütun C'ye güvenirsek, B'deki değerlerin sayısını şu şekilde elde edebilirdik:
=COUNTIF(C2:C6,True)
Adım 2: FormulaArray
Dinamik olarak Ekstra Sütun oluşturmak için kullanın
Bununla birlikte, consideRatio'nun yorumu geçerlidir - fazladan bir sütuna ihtiyacınız varsa, genellikle aynı hedefi birArrayFormula
sayfa alanını tüketmeden bellekte bir sütun oluşturabilen bir sütunla gerçekleştirebilirsiniz.
Yani C'yi dinamik olarak oluşturmak istiyorsak, aşağıdaki gibi bir dizi formülü kullanabiliriz:
=ArrayFormula(B2:B6<>"")
Basitçe C2'ye koyarsak, tek bir kalem vuruşuyla dikey diziyi oluşturur:
| | A | B | C |
|---|-------------|-------|--------------------------|
| 1 | Description | Value | =ArrayFormula(B2:B6<>"") |
| 2 | Text | H | TRUE |
| 3 | Number | 1 | TRUE |
| 4 | IF -> "" | | FALSE |
| 5 | IF -> Text | h | TRUE |
| 6 | Blank | | FALSE |
Adım 3: Dinamik Sütundaki Değerleri Sayın
Ancak bu çözüldüğünde, artık yalnızca değerleri görüntülemek için sütuna ihtiyacımız yok.
ArrayFormula
Aşağıdaki aralık sonucuna varılır: {True,True,False,True,False}
.
CountIf
sadece herhangi bir aralığı alır ve bu durumda True değerlerinin sayısını sayabilir.
Böylece CountIf
üretilen değerleri şöyle sıralayabiliriz ArrayFormula
:
=CountIf(ArrayFormula(B2:B6<>""),TRUE)
Daha fazla okuma
Bu iş parçacığındaki diğer çözümler ya aşırı karmaşıktır ya da bu test sayfasında listelediğim bazı uç durumlarda başarısız olur:
Neden CountA
işe yaradığı için, cevabıma buradan bakın