Em uma planilha do Google: como posso contar as linhas de uma determinada área que possuem um valor? Todas as dicas que encontrei até agora levam a fórmulas que contam as linhas que possuem um conteúdo não vazio (incluindo a fórmula), mas uma célula com
=IF(1=2;"";"") // Shows an empty cell
também é contado.
Qual é a solução para esta tarefa simples?
Respostas:
Faça outra coluna que determine se a célula referenciada está em branco usando a função "CountBlank". Em seguida, use count nos valores criados na nova coluna "CountBlank".
fonte
Acabei de usar
=COUNTIF(Range, "<>")
e contava células não vazias para mim.fonte
=COUNTIF(Range,"?*")
counta
: "Retorna uma contagem do número de valores em um conjunto de dados"Nota:
CountA
considera""
ser um valor . Somente as células que estão em branco (pressione excluir em uma célula para esvaziá-la) não são contadas.Suporte do Google: https://support.google.com/docs/answer/3093991
countblank
: "Retorna o número de células vazias em um determinado intervalo"Nota:
CountBlank
considera as células em branco (pressione delete para apagar uma célula) e as células que possuem uma fórmula que retorna""
como células vazias .Suporte do Google: https://support.google.com/docs/answer/3093403
Se você possui um intervalo que inclui fórmulas que resultam em
""
, você pode modificar sua fórmula depara:
EDIT: a função é
countblank
, nãocountblanks
, o último dará um erro.fonte
Aqui está o que eu acredito ser a melhor solução até agora:
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
:Se confiarmos na coluna C , poderíamos obter a contagem de valores em B assim:
Etapa 2: use
FormulaArray
para criar dinamicamente coluna extraNo 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:
Se simplesmente o colocarmos em C2, ele criaria a matriz vertical com um único toque da caneta:
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 produzidosArrayFormula
desta maneira:Leitura adicional
As outras soluções neste segmento são muito complexas ou falham em casos extremos que eu enumerei nesta folha de teste:
Planilha do Google - Teste CountA - Demo
Por que
CountA
funciona da maneira vacilante, veja minha resposta aquifonte
ArrayFormula(...)
para retornar a matriz de valores dentro doCountIf
que você sugeriu. Atualizei a resposta e a demonstração da planilha. Ambos farão a mesma coisa, mas a limpeza é próxima à bondade.Para mim, nenhuma das respostas funcionou para intervalos que incluem células virgens e células vazias com base em uma fórmula (por exemplo
=IF(1=2;"";"")
)O que resolveu para mim é isso:
=COUNTA(FILTER(range, range <> ""))
fonte
Filter()
não encontrar nenhum elemento, ele retornará o#N/A
que éCOUNTA()
tratado como um elemento e sempre retornará 1, mesmo que a contagem seja zero. Exemplo no Planilhas Google=COUNTA(filter({1;range},{1;range}<>"")) - 1
Resolvido usando uma solução que encontrei no Google por Yogi Anand: https://productforums.google.com/d/msg/docs/3qsR2m-1Xx8/sSU6Z6NYLOcJ
O exemplo abaixo conta o número de linhas não vazias no intervalo A3: C, lembre-se de atualizar os dois intervalos na fórmula com seu intervalo de interesse.
Além disso, evite dependências circulares, isso acontecerá se, por exemplo, você contar o número de linhas não vazias em A: C e colocar essa fórmula na coluna A ou C.
fonte
É trabalho para mim:
Contagem de todas as células não vazias de F2 até o final da coluna
fonte
Dado o intervalo
A:A
, eu sugiro:O problema é a contagem excessiva de COUNTA pelo número exato de células com cadeias de comprimento zero
""
.A solução é encontrar uma contagem exata dessas células. Isso pode ser encontrado procurando todas as células de texto e subtraindo todas as células de texto com pelo menos um caractere
""
mas excluindo células realmente vazias""
mas excluindo células realmente em brancoIsso significa que o valor
COUNTIF(A:A,"*")-COUNTIF(A:A,"?*")
deve ser o número de células de texto menos o número de células de texto que possuem pelo menos um caractere, ou seja, a contagem de células contendo exatamente""
fonte
Uma solução mais simples que funciona para mim:
Conta números, seqüências de caracteres, datas, etc. que não estão vazios
fonte
Tanto quanto posso ver, a maioria das soluções aqui conta o número de células não vazias, e não o número de linhas com células não vazias dentro.
Uma solução possível para a linha
B3:E29
é, por exemploAqui
ArrayFormula(IF(B3:B29&C3:C29&D3:D29&E3:E29="";0;1))
retorna uma coluna de0
(se a linha estiver vazia) e1
(mais).Outro é dado na resposta de consideRatio .
fonte
Você pode definir uma função personalizada usando o Apps Apps (Ferramentas> Editor de scripts) chamado por exemplo
numNonEmptyRows
:E depois use-o em uma célula como esta
=numNonEmptyRows(A23:C25)
para contar o número de linhas não vazias no intervaloA23:C25
;fonte
No Planilhas Google, para contar o número de linhas que contêm pelo menos uma célula não vazia em um intervalo bidimensional :
Onde A1: C5 é o intervalo que você está verificando quanto a linhas não vazias.
A fórmula vem e é explicada no seguinte artigo da EXCELXOR - https://excelxor.com/2015/03/30/counting-rows-where-at-least-one-condition-is-met/
fonte
Uma maneira muito flexível de fazer esse tipo de coisa é usar o ARRAYFORMULA.
Como um exemplo, imagine que você deseja contar cadeias não vazias (campos de texto), você pode usar este código:
O que acontece aqui é que "ArrayFormula" permite operar sobre um conjunto de valores. Usando a função SUM, você indica "ArrayFormula" para somar qualquer valor do conjunto. A cláusula "If" é usada apenas para verificar "vazio" ou "não vazio", 1 para não vazio e 0 caso contrário. "Len" retorna o comprimento dos diferentes campos de texto; é aí que você define o conjunto (intervalo) que deseja verificar. Finalmente, "ArrayFormula" somará 1 para cada campo dentro do conjunto (intervalo) no qual "len" retorna mais que 0.
Se você deseja verificar qualquer outra condição, basta modificar o primeiro argumento da cláusula IF.
fonte