Excel formülü: Tarih iş günüdür -

İçindekiler

Genel formül

=WORKDAY(date-1,1,holidays)=date

Özet

Bir tarihin iş günü olup olmadığını belirlemek için İŞGÜNÜ işlevine dayalı bir formül kullanabilirsiniz. Gösterilen örnekte, C5'teki formül şöyledir:

=WORKDAY(B5-1,1,holidays)=B5

burada "tatiller" adlandırılmış aralıktır E5: E6.

21 Aralık 2015 Pazartesi bir iş günü olduğu için yukarıdaki formül DOĞRU değerini döndürür.

Açıklama

İŞGÜNÜ işlevi, (tanım gereği) "iş günleri" olan gelecekteki veya geçmişteki tarihleri ​​hesaplar. Diğer bir deyişle, WORKDAY, hafta sonlarını ve (isteğe bağlı olarak) tatilleri otomatik olarak hariç tutar. WORKDAY 3 bağımsız değişken kabul eder: başlangıç_tarihi, günler ve (isteğe bağlı olarak) tatiller.

Tek bir tarihi kontrol etmek ve DOĞRU veya YANLIŞ sonucu almak istediğimizden, ideal olarak İŞGÜNÜ'nü aşağıdaki basit formülle kullanırız:

=WORKDAY(date,0)

Ancak, İŞGÜNÜ, ofsetin bulunmadığı bir tarihi değerlendirmediği için bu işe yaramaz.

Çözüm, başlangıç_tarihi için arz (tarih-1), günler için 1 ve tatiller için "tatiller" (E5: E6) olarak adlandırılan aralıktır.

Bu, WORKDAY'in bir gün geri gitmesine ve ardından hafta sonları ve tatilleri hesaba katarak sonuca 1 gün eklemesine neden olur. Etkili bir şekilde, İŞGÜNÜ'nü başlangıç_tarihini değerlendirmek için "kandırıyoruz" .

Tarih bir hafta sonu veya tatile denk geldiğinde, WEEKDAY tarihi otomatik olarak sonraki iş gününe ayarlayacaktır.

Son olarak, orijinal başlangıç_tarihini İŞGÜNÜ işlevinin sonucuyla karşılaştırıyoruz. Tarihler aynıysa (yani İŞGÜNÜ sonucunun başlangıç_tarihine eşit olması durumunda formül DOĞRU değerini, değilse formül YANLIŞ değerini döndürür.

Hesaplanan bir tarihin iş gününe denk geldiğinden emin olun

Hesaplanan herhangi bir tarihin bir iş gününe denk geldiğinden emin olmak için aşağıdaki formülü kullanabilirsiniz:

=WORKDAY(calc_date-1,1,holidays)

Not - özel hafta sonlarına ihtiyacınız varsa İŞGÜNÜ.ULUSL işlevini kullanın.

Ilginç makaleler...