Fórmula do Excel: obtenha a última entrada por mês e ano -

Índice

Fórmula genérica

=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)

Resumo

Para consultar a última entrada em uma tabela por mês e ano, você pode usar a função LOOKUP com a função TEXT. No exemplo mostrado, a fórmula em F5 é:

=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)

onde B5: B13 e E5: E7 contêm datas válidas e C5: C13 contém valores.

Explicação

Nota: o lookup_value de 2 é deliberadamente maior do que qualquer valor no lookup_vector, seguindo o conceito de bignum.

Trabalhando de dentro para fora, a expressão:

(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))

gera strings como "0117" usando os valores na coluna B e E, que são comparados entre si. O resultado é uma matriz como esta:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

onde TRUE representa datas no mesmo mês e ano. O número 1 é então dividido por esta matriz. O resultado é uma matriz de erros de 1 ou divisão por zero (# DIV / 0!):

(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)

que entra em LOOKUP como a matriz de pesquisa. LOOKUP assume que os dados estão classificados em ordem crescente e sempre faz uma correspondência aproximada. Quando o valor de pesquisa 2 não pode ser encontrado, LOOKUP corresponderá ao valor anterior, portanto, pesquisa corresponderá ao último 1 na matriz.

Finalmente, LOOKUP retorna o valor correspondente em result_vector, que contém os valores em C5: C13.

Artigos interessantes...