Excel formülü: İki tarih arasındaki tatilleri listeleyin -

İçindekiler

Genel formül

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

Özet

İki tarih arasında gerçekleşen tatilleri listelemek için METİNBİRLEŞTİR ve EĞER işlevlerine dayalı bir formül kullanabilirsiniz.

Gösterilen örnekte, F8'deki formül şöyledir:

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

Bu bir dizi formülüdür ve kontrol + shift + enter ile girilmelidir.

Açıklama

Yüksek düzeyde, bu formül iki tarih arasında bir tatil dizisi döndürmek için iç içe geçmiş bir EĞER işlevi kullanır. Bu dizi daha sonra TEXTJOIN işlevi tarafından işlenir, bu işlev diziyi ayırıcı olarak virgül kullanarak metne dönüştürür.

İçten dışa doğru çalışarak, iç içe geçmiş bir EĞER kullanarak eşleşen tatil dizisini oluşturuyoruz:

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

B4: B12'deki tarihler F5'teki başlangıç ​​tarihinden büyük veya başlangıç ​​tarihine eşitse ve B4: B12'deki tarihler F6'daki bitiş tarihinden küçük veya bu tarihe eşitse, IF bir tatil dizisi döndürür. Gösterilen örnekte liste şuna benzer:

(""; ""; "Başkanlar Günü"; "Anma Günü"; ""; ""; ""; ""; "")

Bu dizi daha sonra da TEXTJOIN fonksiyonu teslim edilir metni1 bağımsız değişken, sınırlayıcı "" ayarlanır ve ignore_empty GERÇEK ise. TEXT JOIN işlevi, dizideki öğeleri işler ve boş olmayan her öğenin virgül artı boşlukla ayrıldığı bir dize döndürür.

Not: METİNBİRLEŞTİR işlevi, Office 365 ve Excel 2019'da kullanılabilen yeni bir işlevdir.

Ilginç makaleler...