Formula Excel: enumerați sărbătorile între două date -

Cuprins

Formula generică

(=TEXTJOIN(", ",TRUE,IF(dates>=start,IF(dates<=end,holidays,""),"")))

rezumat

Pentru a lista sărbătorile care au loc între două date, puteți utiliza o formulă bazată pe funcțiile TEXTJOIN și IF.

În exemplul prezentat, formula din F8 este:

(=TEXTJOIN(", ",TRUE,IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")))

Aceasta este o formulă matrice și trebuie introdusă cu control + shift + enter.

Explicaţie

La un nivel ridicat, această formulă utilizează o funcție IF imbricată pentru a returna o serie de sărbători între două date. Această matrice este apoi procesată de funcția TEXTJOIN, care convertește matricea în text folosind o virgulă ca delimitator.

Lucrând din interior spre exterior, generăm matricea de sărbători potrivite folosind un IF imbricat:

IF(B4:B12>=F5,IF(B4:B12<=F6,C4:C12,""),"")

Dacă datele din B4: B12 sunt mai mari sau egale cu data de începere din F5 și dacă datele din B4: B12 sunt mai mici sau egale cu data de sfârșit din F6, atunci IF returnează o serie de sărbători. În exemplul prezentat, lista arată astfel:

(""; ""; "Ziua Președinților"; "Ziua Memorialului"; ""; ""; ""; ""; "")

Această matrice este apoi livrat la funcția TEXTJOIN ca text1 argument, în cazul în care delimitatorul este setat la „“ și ignore_empty este adevărat. Funcția TEXT JOIN procesează elementele din matrice și returnează un șir în care fiecare element ne-gol este separat printr-o virgulă plus spațiu.

Notă: funcția TEXTJOIN este o funcție nouă disponibilă în Office 365 și Excel 2019.

Articole interesante...