Excel vzorec: Seznam prázdnin mezi dvěma daty -

Obsah

Obecný vzorec

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

souhrn

Chcete-li vypsat svátky, které nastanou mezi dvěma daty, můžete použít vzorec založený na funkcích TEXTJOIN a IF.

V zobrazeném příkladu je vzorec v F8:

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

Toto je vzorec pole a musí být zadán pomocí kláves Control + Shift + Enter.

Vysvětlení

Na vysoké úrovni používá tento vzorec vnořenou funkci IF k vrácení pole prázdnin mezi dvěma daty. Toto pole je poté zpracováno funkcí TEXTJOIN, která převede pole na text pomocí čárky jako oddělovače.

Při práci zevnitř ven generujeme pole odpovídajících svátků pomocí vnořeného IF:

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

Pokud jsou data v B4: B12 větší nebo stejná jako počáteční datum v F5 a pokud jsou data v B4: B12 menší nebo stejná jako koncová data v F6, IF vrátí řadu prázdnin. V zobrazeném příkladu vypadá seznam takto:

(""; ""; "Den prezidentů"; "Pamětní den"; ""; ""; ""; ""; "")

Toto pole je poté doručeno funkci TEXTJOIN jako argument text1 , kde je oddělovač nastaven na „,“ a ignore_empty má hodnotu TRUE. Funkce TEXT JOIN zpracuje položky v poli a vrátí řetězec, kde je každá neprázdná položka oddělena čárkou plus mezerou.

Poznámka: Funkce TEXTJOIN je nová funkce dostupná v Office 365 a Excel 2019.

Zajímavé články...