Формула Excel: Отримати перший запис за місяцем та роком -

Зміст

Загальна формула

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(A1,"mmyy"),0)))

Резюме

Для пошуку першого запису в таблиці за місяцями та роками можна використовувати формулу і масив на основі функцій INDEX, MATCH та TEXT.

функція LOOKUP із функцією TEXT. У наведеному прикладі формула в F5 має вигляд:

=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy"),0))

де "запис" - іменований діапазон C5: C13, "дата" - іменований діапазон B5: B13, а E5 містить дійсну дату.

Це формула масиву, і її потрібно вводити за допомогою control + shift + enter.

Пояснення

Примітка: значення в E5: E7 - це фактичні дати, відформатовані у спеціальному форматі чисел "mmyy".

Працюючи зсередини, вираз:

MATCH(TRUE,TEXT(date,"mmyy")=TEXT(E5,"mmyy")

використовує функцію TEXT для створення масиву рядків у форматі "mmyy":

("0117"; "0117"; "0117"; "0217"; "0217"; "0217"; "0317"; "0317"; "0317")

які порівнюються з одним рядком на основі значення в E5, "0117". Результат - масив значень TRUE / FALSE:

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

які подаються у функцію MATCH як масив підстановки, зі значенням пошуку TRUE і типом відповідності нулем для точного збігу. У режимі точного збігу функція MATCH повертає позицію першої TRUE в масиві, яка дорівнює 1 у формулі у F5. Ця позиція переходить у INDEX як номер рядка з масивом на основі іменованого діапазону "запис":

=INDEX(entry,1)

Index повертає елемент всередині запису у вказану позицію.

Примітка: якщо запис не знайдено для даного місяця та року, ця формула поверне # N / A.

Перший запис на основі сьогоднішньої дати

Щоб отримати перший запис для даного місяця та року на основі сьогоднішньої дати, ви можете адаптувати формулу, щоб використовувати функцію TODAY замість значення в E5:

(=INDEX(entry,MATCH(TRUE,TEXT(date,"mmyy")=TEXT(TODAY(),"mmyy"),0)))

Цікаві статті...