Excel formula: uzskaitiet brīvdienas starp diviem datumiem -

Satura rādītājs

Vispārēja formula

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

Kopsavilkums

Lai uzskaitītu brīvdienas, kas notiek starp diviem datumiem, varat izmantot formulu, kuras pamatā ir TEXTJOIN un IF funkcijas.

Parādītajā piemērā formula F8 ir:

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

Šī ir masīva formula, un tā jāievada ar vadības taustiņu + shift + enter.

Paskaidrojums

Augstā līmenī šī formula izmanto ligzdotu IF funkciju, lai atgrieztu brīvdienu masīvu starp diviem datumiem. Pēc tam šo masīvu apstrādā funkcija TEXTJOIN, kas masīvu pārveido par tekstu, izmantojot komatu kā atdalītāju.

Strādājot no iekšpuses, mēs ģenerējam atbilstošu svētku masīvu, izmantojot ligzdotu IF:

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

Ja B4: B12 datumi ir lielāki vai vienādi ar sākuma datumu F5 un ja B4: B12 datumi ir mazāki vai vienādi ar beigu datumu F6, IF atgriež brīvdienu masīvu. Parādītajā piemērā saraksts izskatās šādi:

(""; ""; "Prezidentu diena"; "Piemiņas diena"; ""; ""; ""; ""; "")

Pēc tam šī masīvs tiek piegādāts TEXTJOIN funkciju kā 1.teksts argumentu, kur norobežotājs ir iestatīts uz "", un ignore_empty ir TRUE. Funkcija TEXT JOIN apstrādā masīva vienumus un atgriež virkni, kur katru neiztukšoto vienumu atdala komats plus atstarpe.

Piezīme: TEXTJOIN funkcija ir jauna funkcija, kas pieejama Office 365 un Excel 2019.

Interesanti raksti...