Загальна формула
(=TEXTJOIN(", ",TRUE,IF(dates>=start,IF(dates<=end,holidays,""),"")))
Резюме
Для переліку свят, які відбуваються між двома датами, ви можете використовувати формулу на основі функцій TEXTJOIN та IF.
У наведеному прикладі формула в F8 має вигляд:
(=TEXTJOIN(", ",TRUE,IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")))
Це формула масиву, і її потрібно вводити за допомогою control + shift + enter.
Пояснення
На високому рівні ця формула використовує вкладену функцію IF для повернення масиву свят між двома датами. Потім цей масив обробляється функцією TEXTJOIN, яка перетворює масив у текст, використовуючи кому як роздільник.
Працюючи зсередини, ми генеруємо масив відповідних свят, використовуючи вкладений IF:
IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")
Якщо дати в B4: B12 більше або дорівнюють даті початку в F5, і якщо дати в B4: B12 менше або дорівнюють даті завершення в F6, тоді IF повертає масив свят. У наведеному прикладі список виглядає так:
(""; ""; "День президентів"; "День пам'яті"; ""; ""; ";" ";" ")
Потім цей масив доставляється до функції TEXTJOIN як аргумент text1 , де для роздільника встановлено значення ",", а ignore_empty має значення TRUE. Функція TEXT JOIN обробляє елементи масиву і повертає рядок, де кожен непустий елемент відокремлюється комою та пробілом.
Примітка: Функція TEXTJOIN - це нова функція, доступна в Office 365 та Excel 2019.