Excel-kaava: Luettele lomapäivät kahden päivämäärän välillä

Sisällysluettelo

Yleinen kaava

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

Yhteenveto

Voit luetella kahden päivämäärän välillä esiintyviä vapaapäiviä käyttämällä TEXTJOIN- ja IF-funktioihin perustuvaa kaavaa.

Esitetyssä esimerkissä kaava kohdassa F8 on:

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

Tämä on matriisikaava ja se on syötettävä näppäimillä + + Vaihto + Enter.

Selitys

Korkealla tasolla tämä kaava käyttää sisäkkäistä IF-funktiota palauttamaan joukon lomia kahden päivämäärän välillä. Tämän taulukon käsittelee TEXTJOIN-funktio, joka muuntaa matriisin tekstiksi käyttämällä pilkua erottajana.

Työskentelemällä sisältä ulospäin, luomme joukko vastaavia lomia sisäkkäisellä IF: llä

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

Jos kohdassa B4: B12 olevat päivämäärät ovat suurempia tai yhtä suuria kuin alkion päivämäärä kohdassa F5, ja jos päivämäärät kohdassa B4: B12 ovat pienempiä tai yhtä suuria kuin päivämäärän F6 lopetuspäivä, IF palauttaa joukon lomia. Esitetyssä esimerkissä luettelo näyttää tältä:

(""; ""; "Presidenttien päivä"; "Muistopäivä"; ""; ""; ""; ""; "")

Tämän taulukon toimitetaan sitten TEXTJOIN toiminto kuin Teksti1 väitettä, jossa erotin on asetettu "" ja ignore_empty on TOSI. TEXT JOIN -funktio käsittelee taulukon kohteet ja palauttaa merkkijonon, jossa jokainen ei-tyhjä kohde erotetaan pilkulla ja välilyönnillä.

Huomaa: TEXTJOIN-toiminto on uusi toiminto, joka on käytettävissä Office 365: ssä ja Excel 2019: ssä.

Mielenkiintoisia artikkeleita...