Edu Tognon

A função CONTAR.VAZIO realiza a contagem de células vazias em um intervalo. No entanto, como usá-la de forma dinâmica, para que nem todas as células vazias de uma coluna sejam levadas em consideração, por exemplo? Em casos assim, é possível combiná-la com outras funções, como a INDIRETO, para gerar um intervalo de referência atualizado conforme determinadas condições. 

Neste artigo vamos aprender a combinar as funções INDIRETO, CONTAR.VAZIO e CONT.VALORES para que o Excel conte células vazias obedecendo a um intervalo que é alterado conforme uma condição: a presença ou não de dados inseridos em uma outra coluna.

Versão em vídeo

Versão do Excel utilizada na aula: Microsoft Excel 365 [versão 2301]

Download dos arquivos

Você pode baixar os arquivos utilizados no tutorial em vídeo. O arquivo inicial refere-se ao arquivo sem as modificações, ideal para praticar o passo a passo e treinar suas habilidades. O arquivo pronto é o arquivo final, com todas as modificações ensinadas já aplicadas, ideal se você já quiser ter em mãos o resultado. 

Para baixar os arquivos, acesse a página de download e clique no botão Baixar

Inscreva-se para receber novos arquivos, aulas, artigos e dicas por e-mail! 

Ao se cadastrar, você aceita nossos Termos de Uso e Serviço e nossa Política de Privacidade.

Versão em texto / ilustrada

Versão do Excel utilizada neste tutorial: Microsoft Excel 365 [versão 2301]

Usando CONTAR.VAZIO com intervalo fixo

A função CONTAR.VAZIO realiza a contagem de células vazias em um intervalo de dados.

No exemplo abaixo, temos uma tabela para registro de doações a uma reforma, onde são inseridos os nomes dos participantes e os valores doados. São considerados pendentes aqueles participantes que confirmaram a participação, mas ainda não deram um valor; são considerados confirmados os participantes que já contribuíram com um determinado valor. 

O número de participantes é obtido com a função CONT.VALORES, enquanto o número de confirmados é obtido através da função CONT.NÚM, que conta justamente a quantidade de células com valores numéricos. A quantidade de participantes pendentes, no entanto, é obtida pela contagem de células vazias. 

=CONTAR.VAZIO(C5:C18)

Função CONTAR.VAZIO usando intervalo fixo

O impasse de se usar a CONTAR.VAZIO em um intervalo fixo é que, se inseríssemos mais participantes, precisaríamos de uma abrangência maior para a contagem de células vazias da coluna de valores, já que a quantidade de valores vazios a serem contados é atrelada à quantidade de participantes cadastrados. 

Toda vez que um novo participante for inserido, a CONTAR.VAZIO precisa aumentar sua abrangência em uma célula. Se temos participantes até a linha 18, a função abrange até a linha 18 (C5:C18). Se os participantes chegam até a linha 19, a CONTAR.VAZIO precisa terminar seu intervalo de referência na 19 (C5:C19). Como fazer com que esse intervalo seja dinâmico, aumentando somente se houver dados na coluna de participantes? 

É aí que vamos fazer uso da função INDIRETO. 

Entendendo a função INDIRETO

Diferentemente das funções mais habituais do Excel, a INDIRETO usa dados fixos para criar uma referência, referência essa que pode ser usada como argumento de uma outra função. Caso não tenha familiaridade com a função INDIRETO, é fortemente recomendado que você consulte este artigo para saber sobre seu funcionamento. 

Como essa função transforma seus argumentos em uma referência, observe como ela se torna interativa ao deixarmos dinâmica uma das partes da referência: 

=INDIRETO(“C5:C“&”18“) 

Aqui, a função INDIRETO retornaria, como referência, o termo C5:C18. Note que concatenamos o primeiro termo (C5:C) com o último (18). Sendo assim, não poderíamos obter o 18 através de alguma função que o modificasse para outro número, conforme é nosso intuito? Conforme o resultado dessa função se alterasse, a referência também se alteraria. 

Agrupando as funções INDIRETO, CONT.VALORES e CONTAR.VAZIO

Se nossa intenção é mudar o intervalo da CONTAR.VAZIO de acordo com o número de células da coluna de participantes, basta que contemos a quantidade de participantes e usemos esse número como “anexo” para a última parte da INDIRETO. 

Vamos dar uma olhadinha o que a CONT.VALORES pode fazer: 

=CONT.VALORES(B:B)-2 

Função CONT.VALORES contando células não vazias

Neste exemplo, usamos a coluna B completa (B:B), para que novos dados também sejam levados em consideração. Essa função faz a contagem de todas as células com dados inseridos, ou seja, células não vazias. A subtração por 2 serve justamente para ignorarmos as células B2 e B4 da contagem, ou seja, as células de cabeçalho, que não podem ser levadas em consideração. 

Observe que, nesse caso, temos 14 participantes até a linha 18. Se inseríssemos mais 1 participante, iríamos até a linha 19 com 15 participantes. A diferença entre esses números sempre seria de 4. Sendo assim, a segunda parte da função INDIRETO seria a soma do resultado de CONT.VALORES com 4: 

=CONTAR.VAZIO(INDIRETO(“C5:C“&CONT.VALORES(B:B)-2+4)) 

INDIRETO, CONT.VALORES e CONTAR.VAZIO agrupadas

INDIRETO agora é responsável por retornar a referência a ser usada para a contagem da CONTAR.VAZIO. O primeiro termo (C5:C) sempre é fixo, pois o intervalo sempre é iniciado em C5 e finalizado em alguma célula da coluna C. Ele é concatenado com o resultado da função CONT.VALORES, acrescido o número 4, que é a quantidade de células antes do início dos dados, já que essas células devem ser ignoradas. 

Podemos abreviar a conta -2+4 simplesmente como +2

=CONTAR.VAZIO(INDIRETO(“C5:C”&CONT.VALORES(B:B)+2)) 

Contagem condicional de células vazias

Observe que, agora, nossa contagem de células vazias na coluna B acompanha a presença de dados na coluna A. 

Dicas e informações complementares

  • Note que a CONTAR.VAZIO conta as células realmente vazias, sem nenhum tipo de dado. Se houver um simples espaço digitado em alguma célula, ela não é considerada vazia.