Aqui está o que eu acredito ser a melhor solução até agora:
=CountIf(ArrayFormula(range<>""),TRUE)
Aqui está o porquê em 3 etapas fáceis
Etapa 1: Simples como torta - Adicionar coluna extra
A resposta do eniacAvenger produzirá a solução correta sem se preocupar com casos extremos , pois =A1<>""
parece chegar ao valor correto de verdade / falsidade com base em como pensamos intuitivamente em células em branco, espaços em branco virgens ou espaços em branco criados.
Imagine que temos esses dados e queremos o Count of non-blank em 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 |
Se confiarmos na coluna C , poderíamos obter a contagem de valores em B assim:
=COUNTIF(C2:C6,True)
Etapa 2: use FormulaArray
para criar dinamicamente coluna extra
No entanto, o comentário de consideRatio é válido - se você precisar de uma coluna extra, geralmente poderá atingir o mesmo objetivo com o ArrayFormula
qual poderá criar uma coluna na memória sem ocupar espaço na folha.
Portanto, se queremos criar C dinamicamente, podemos usar uma fórmula de matriz como esta:
=ArrayFormula(B2:B6<>"")
Se simplesmente o colocarmos em C2, ele criaria a matriz vertical com um único toque da caneta:
| | 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 |
Etapa 3: contar valores na coluna dinâmica
Mas com isso resolvido, não precisamos mais da coluna para exibir apenas os valores.
ArrayFormula
vai resolver para o seguinte intervalo: {True,True,False,True,False}
.
CountIf
apenas aceita qualquer intervalo e, neste caso, pode contar o número de valores True.
Portanto, podemos envolver CountIf
os valores produzidos ArrayFormula
desta maneira:
=CountIf(ArrayFormula(B2:B6<>""),TRUE)
Leitura adicional
As outras soluções neste segmento são muito complexas ou falham em casos extremos que eu enumerei nesta folha de teste:
Por que CountA
funciona da maneira vacilante, veja minha resposta aqui