Excel

Tarihler ve saatler arasındaki çalışma saatlerini alın

Get Work Hours Between Dates

Excel formülü: Tarihler ve saatler arasındaki çalışma saatlerini alınGenel formül |_+_| Özet

İki tarih ve saat arasındaki toplam çalışma saatlerini hesaplamak için TAMİŞGÜNLERİ işlevini temel alan bir formül kullanabilirsiniz. Gösterilen örnekte, E5 şu formülü içerir:



=( NETWORKDAYS (start,end)-1)*(upper-lower) + IF ( NETWORKDAYS (end,end), MEDIAN ( MOD (end,1),upper,lower),upper) - MEDIAN ( NETWORKDAYS (start,start)* MOD (start,1),upper,lower)

'düşük' nerede adlandırılmış aralık H5 ve 'üst', adlandırılmış H6 aralığıdır.

bir yıldaki iş günü sayısı

Not: Bu örnekten ilham alınmıştır. Chandoo'da bir formül mücadelesi ve tarafından sağlanan daha eksiksiz bir çözüm formül ustası Barry Houdini MrExcel forumunda.





Açıklama

Bu formül, iki tarih ve saat arasındaki, 'alt' ve 'üst' zaman arasında gerçekleşen toplam çalışma saatlerini hesaplar. Gösterilen örnekte, alt saat sabah 9:00 ve üst saat 17:00'dir. Bunlar formülde şu şekilde görünür: adlandırılmış aralıklar 'alt' ve 'üst'.

Formülün mantığı, başlangıç ​​ve bitiş tarihleri ​​dahil olmak üzere tüm olası çalışma saatlerini hesaplamak, ardından başlangıç ​​tarihindeki başlangıç ​​saati ile daha düşük saat arasındaki herhangi bir saati ve bitiş tarihindeki herhangi bir saati bu tarihler arasında geri almaktır. bitiş zamanı ve üst zaman.



NS TAMİŞGÜNÜ işlevi hafta sonları ve tatillerin hariç tutulmasını ele alır (bir tarih aralığı olarak sağlandığında). geçiş yapabilirsiniz TAMİŞGÜNLERİ.ULUSL programınızın standart olmayan çalışma günleri varsa.

Biçimlendirme çıktısı

Sonuç, toplam saatleri temsil eden bir sayıdır. hepsi gibi Excel zamanları , çıktıyı uygun bir formatla biçimlendirmeniz gerekecek. sayı biçimi . Gösterilen örnekte şunları kullanıyoruz:

 
=( NETWORKDAYS (B5,C5)-1)*(upper-lower) + IF ( NETWORKDAYS (C5,C5), MEDIAN ( MOD (C5,1),upper,lower),upper) - MEDIAN ( NETWORKDAYS (B5,B5)* MOD (B5,1),upper,lower)

Köşeli parantezler, saatler 24'ten büyük olduğunda Excel'in yuvarlanmasını engeller. Başka bir deyişle, 24'ten büyük saatleri görüntülemeyi mümkün kılar. Saatler için ondalık bir değere ihtiyacınız varsa, sonucu 24 ile çarpın ve normal bir sayı olarak biçimlendirin.

Basit versiyon

Başlangıç ​​ve bitiş saatleri ise her zaman alt ve üst zamanlar arasında meydana gelirse, bu formülün daha basit bir versiyonunu kullanabilirsiniz:

haftanın gününü döndürmek için mükemmel formül
 
[h]:mm

Başlangıç ​​ve bitiş zamanı yok

Tüm günlerin tam iş günü olduğunu varsayarak iki tarih arasındaki toplam çalışma saatlerini hesaplamak için daha da basit bir formül kullanabilirsiniz:

 
=( NETWORKDAYS (B5,C5)-1)*(upper-lower)+ MOD (C5,1)- MOD (B5,1)

Görmek açıklama burada detaylar için.

Yazar Dave Bruns


^