
Fórmula genérica
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))
Resumo
Para pesquisar a primeira entrada em uma tabela por mês e ano, você pode usar uma fórmula de matriz com base nas funções INDEX, MATCH e TEXT.
a função LOOKUP com a função TEXT. No exemplo mostrado, a fórmula em F5 é:
=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))
onde "entrada" é o intervalo nomeado C5: C13, "data" é o intervalo nomeado B5: B13 e E5 contém uma data válida.
Esta é uma fórmula de matriz e deve ser inserida com control + shift + enter.
Explicação
Observação: os valores em E5: E7 são datas reais, formatadas com o formato de número personalizado "mmaa".
Trabalhando de dentro para fora, a expressão:
MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")
usa a função TEXT para gerar uma matriz de strings no formato "mmaa":
("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")
que são comparados em uma única string com base no valor em E5, "0117". O resultado é uma matriz de valores TRUE / FALSE:
(TRUE; TRUE; TRUE; FALSE; FALSE; FALSE; FALSE; FALSE; FALSE)
que são alimentados na função MATCH como a matriz de pesquisa, com um valor de pesquisa TRUE e um tipo de correspondência zero para correspondência exata. No modo de correspondência exata, a função MATCH retorna a posição do primeiro TRUE na matriz, que é 1 na fórmula em F5. Esta posição vai para INDEX como o número da linha, com uma matriz baseada no intervalo nomeado "entrada":
=INDEX(entry,1)
O índice retorna o item dentro da entrada na posição especificada.
Observação: se uma entrada não for encontrada para um determinado mês e ano, esta fórmula retornará # N / A.
Primeira entrada com base na data de hoje
Para obter a primeira entrada para um determinado mês e ano com base na data de hoje, você pode adaptar a fórmula para usar a função TODAY em vez do valor em E5:
(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))