Contornando um bug da função Mês

Dúvida postada pelo leitor Cido.

Olá Reinaldo, preciso de mais uma ajuda sua.
A Fórmula =SOMA(SE(MÊS(A1:A6)=B1;1;0)) resulta em comportamento diferente em se tratando do mês de janeiro, pois são somados todas as células vazias do range o que não ocorre com os outros meses. Já tentei de tudo mas não consegui resolver. Desde já agradeço sua ajuda.
Obrigado.

A fórmula Mês do Microsoft Excel retorna o mês de uma data representado por um número de série. O mês é fornecido como um inteiro, variando de 1 (janeiro) a 12 (dezembro).
Para que você possa entender este processo, é necessário saber que o Microsoft Excel armazena datas como números de série seqüenciais para que eles possam ser usados em cálculos. Por padrão, 1° de janeiro de 1900 é o número de série 1 e 1° de janeiro de 2008 é o número de série 39448 porque está 39.448 dias após 1° de janeiro de 1900.
Até aqui tude bem. Nada resultaria em erros na sua utilização. Contudo, e, não me peçam para explicar o porquê, o valor 0 ou “”(célula vazia) é interpretado como 00/01/1900. Ou seja, uma célula vazia ou contendo o valor 0, retornaria uma data do mês de janeiro (dia: 0 – que coisa não!).
Para ajudar nosso leitor a resolver isto, e prestar uma informação útil a todos vocês, apresento uma pequeno arranjo na fórmula para ajustar este bug.
Eis a solução para contornar este problema.
Como o problema apresentado pelo leitor utiliza a fórmula matricial, não se esqueçam de teclar CTRL+Shift+ENTER ao terminar de escrever a fórmula abaixo.

=SOMA(SE(SE(A1:A6=0;”Não Informado”;MÊS(A1:A6))=B1;1;0))

A fórmula acima verifica se o valor de cada célula do intervalo é 0 ou vazio.

SE(A1:A6=0;“Não Informado”;MÊS(A1:A6))

Se verdadeiro, retorna “Não Informado”, caso contrário, ou seja, se contiver uma data, ela retorna o próprio valor da célula.

SE(A1:A6=0;“Não Informado”;MÊS(A1:A6))

Em seguida, é feita a comparação com o mês informado pelo usuário como critério (na célula B1).

SE(SE(A1:A6=0;”Não Informado”;MÊS(A1:A6))=B1;1;0)

Caso seja igual ao mês comparado, retorna 1, senão, retorna 0.
Finalmente, é realizada a contagem de todos esses resultados.

SOMA(SE(SE(A1:A6=0;”Não Informado”;MÊS(A1:A6))=B1;1;0))

Espero que tenham gostado.
Até a próxima.

5 comentários em “Contornando um bug da função Mês”

  1. olá, uso o excel 2007 e estou tentando fazer a fórmula acima funcionar para a contagem de várias células que preencham o requisito mês=1, mas o resultado insiste em dar 1 quando na verdade há mais células que satisfazem o requisito. ah, o ctrl+shift+enter faz a fórmula aparecer com o erro #NOME?. o que estou fazendo errado? minha linha de código aparece assim:
    {=SOMA(SE(SE(‘Relação de leituras’!$K$6:$K$150=0;”Não Informado”;MÊS(‘Relação de leituras’!$K$6:$K$150))=1;1;0))}

    Responder

Deixe um comentário