Excel formula: navedite počitnice med dvema datumoma -

Kazalo

Splošna formula

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

Povzetek

Če želite našteti praznike, ki se zgodijo med dvema datumoma, lahko uporabite formulo, ki temelji na funkcijah TEXTJOIN in IF.

V prikazanem primeru je formula v F8:

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

To je matrična formula, ki jo je treba vnesti s tipko control + shift + enter.

Pojasnilo

Na visoki ravni ta formula uporablja ugnezdeno funkcijo IF, da vrne vrsto počitnic med dvema datumoma. Nato to matriko obdela funkcija TEXTJOIN, ki matriko pretvori v besedilo z vejico kot ločilo.

Če delamo od znotraj navzven, z uporabo ugnezdenega IF ustvarimo vrsto ustreznih počitnic:

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

Če so datumi v B4: B12 večji ali enaki začetnemu datumu v F5 in če so datumi v B4: B12 manjši ali enaki končnemu datumu v F6, potem IF vrne vrsto počitnic. V prikazanem primeru je seznam videti tako:

(""; ""; "Dan predsednikov"; "Dan spomina"; ""; ""; "" ""; "")

Nato je ta matrika dostavljena funkciji TEXTJOIN kot argument text1 , pri čemer je ločilo nastavljeno na "," in ignore_empty je TRUE. Funkcija TEXT JOIN obdela elemente v matriki in vrne niz, kjer je vsak neprazen element ločen z vejico in presledkom.

Opomba: funkcija TEXTJOIN je nova funkcija, ki je na voljo v storitvah Office 365 in Excel 2019.

Zanimive Članki...