Excel büyük saatler arası fark nasıl hesaplanır?

Nomrukan

Hectopat
Katılım
13 Ocak 2021
Mesajlar
1.616
Çözümler
6
Daha fazla  
Cinsiyet
Erkek
Merhaba. Başlıkta derdimi tam istediğim gibi anlatamadım. Benim iki saat arasındaki farkı hesaplamam lazım ama bu saatler günün saatleri değil. Toplam saatler olduğu için sayılar 24 saatten hayli büyük. Benim yapmak istediğim, bir aydaki toplam çalıştığım günlerin saat toplamını, o ayki normal çalışma saatinden çıkarmak veya eklemek.
Diyelim ki bu ay 200 saat çalışmışım. Bu ayki normal çalışma saati ise 195. bu ikisini kullanarak 3. hücreye 05:00 yazmasını istiyorum. Eğer mümkün ise normal çalışma saati fiili olarak çalıştığım saatten yüksekse, yani 190 saat çalışmış isem ve normal çalışma saati 195 ise 3. hücreye 00:00 yazdırabilir miyim?

Yapmak istediğim şeyi =mod formülü ile yapınca böyle alakasız bir sonuç çıkıyor. Hücre biçimlendirmeden söz konusu 3. hücreyi [S]:dd olarak biçimlendirdiğim halde sonuç böyle oldu.

1723839825522.png


Yardımlarınıza müteşekkirim.
 
Klasik formüllerle yapayım dedim, bir hafta kendime gelemem herhalde.

Görselde sarı renkli normal çalışma saatinin olduğu E3 hücresi için;
=BİRLEŞTİR(AŞAĞIYUVARLA(((B3*C3*60)+(D3*B3))/60;0)+AŞAĞIYUVARLA(D3*B3/60;0))&":"&((D3*B3)-(AŞAĞIYUVARLA(B3*D3/60;0)*60))

Mavi renkli E5 hücresi, yani fiili çalışma saatini kendiniz yazmalısınız. SS:DD şeklinde.

Yeşil renkli E7 hücresinin içeriği;
=EĞER((PARÇAAL(E5;1;(MBUL(":";E5;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))<(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2));0;BİRLEŞTİR(AŞAĞIYUVARLA(((PARÇAAL(E5;1;(MBUL(":";E5;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)))/60;0)&":"&EĞER((PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))<60;(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2));((PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))-(AŞAĞIYUVARLA((PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;(MBUL(":";E3;1)-1))*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))/60;0)*60)))))

1723849550234.png


Tek sorun saat yada dakika 0x şeklinde olmuyor. Yani 01:05 yerine 1:5 şeklinde görünüyor. Bir çözümü vardır belki ama şimdi aklıma gelmedi. Beyin hararet yaptı.

----
Şimdi fark ettim, fiili çalışma süreniz haftalık normal çalışma süresinden fazla ancak fiili çalışmanın dakika bölümü normal çalışmanın dakika bölümünden küçük ise formül hata veriyor. Düzeltebilirim ama mavi ekran hatası vermeye başladım.
1723850033249.png


Dosyaya buradan ulaşabilirsiniz.

---
Sanırım şimdi doğru çalışıyor.

Normal çalışma saati için;
=BİRLEŞTİR(AŞAĞIYUVARLA(((B3*C3*60)+(D3*B3))/60;0)+AŞAĞIYUVARLA(D3*B3/60;0))&":"&(MOD((D3*B3);60))

Fazla çalışma süresi için;
=EĞER((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))<=0;"";BİRLEŞTİR((AŞAĞIYUVARLA((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)))/60;0))&":"&(MOD((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)));60))))

---
Fiili çalışma süresi normal mesai süresinin altında kalmışsa 00:00 şeklinde yazmasını istemişsiniz. O zaman formülü şu şekilde değiştirin;
=EĞER((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))<=0;[COLOR=rgb(226, 80, 65)]"00:00"[/COLOR];BİRLEŞTİR((AŞAĞIYUVARLA((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)))/60;0))&":"&(MOD((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)));60))))

Formülde renklendirmiştim değişmesi gereken kısmı, bozmuş tabi formülü. Düzenleme süresi de geçtiği için müdahale edemiyorum. Şu şekilde yapın formülü;​
=EĞER((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2))-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2))<=0;"00:00";BİRLEŞTİR((AŞAĞIYUVARLA((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)))/60;0))&":"&(MOD((PARÇAAL(E5;1;MBUL(":";E5;1)-1)*60+PARÇAAL(E5;(MBUL(":";E5;1)+1);2)-(PARÇAAL(E3;1;MBUL(":";E3;1)-1)*60+PARÇAAL(E3;(MBUL(":";E3;1)+1);2)));60))))
 
Son düzenleme:
Hocam çok uğraşmışsınız çok teşekkür ederim akşam eve geçince bilgisayardan bakıp size dönüş yapayım. Emeğiniz, bilginiz ve vaktiniz için ne kadar teşekkür etsem azdır.
 
Hocam siz çok emek vermişsiniz ama bütün bunlar benim beynimi yaktı. Sanırım fiili çalışma saati ile normal çalışma saati arasındaki farkı elle hesaplamak daha kolay olacak. :)
Size çok teşekkür ederim.
 
Siz bilirsiniz, sonuçta bir ayda en fazla kaç saat fazla çalışma yapabilirsiniz ki? Manuel de hesaplanır.
Ama formülü kopyala yapıştır ile yan tarafa bir yere yapıştırın, kendi hesabınız ile arada fark var mı kontrol edersiniz.​
 
Siz bilirsiniz, sonuçta bir ayda en fazla kaç saat fazla çalışma yapabilirsiniz ki? Manuel de hesaplanır.
Ama formülü kopyala yapıştır ile yan tarafa bir yere yapıştırın, kendi hesabınız ile arada fark var mı kontrol edersiniz.​
Becerebilsem zaten doğrudan yerine yapıştıracağım da, beni aştı.
Zaten bizim çalışma saatleri otomatik olarak yarıma veya tama yuvarlanıyor.
Sadece atıyorum 225 saatten 196 saati çıkarabilmenin bu kadar karmaşık olmasına şaşırdım.
 
Sadece atıyorum 225 saatten 196 saati çıkarabilmenin bu kadar karmaşık olmasına şaşırdım.
Sadece tam saat farkı olsa bu kadar uzun ve karmaşık olmazdı. Üstte 6 satır gördüğünüz formül 2 satıra falan düşerdi. Dakika da işin içine girince karmaşıklaştı. İşin içine gün, hafta, saniye vb bir iki tane daha değişken girseydi göz hastalıkları uzmanına doğru giderdi formül.
Sizin için en basiti neyse çözüm o dur.​
 
Sadece tam saat farkı olsa bu kadar uzun ve karmaşık olmazdı. Üstte 6 satır gördüğünüz formül 2 satıra falan düşerdi. Dakika da işin içine girince karmaşıklaştı. İşin içine gün, hafta, saniye vb bir iki tane daha değişken girseydi göz hastalıkları uzmanına doğru giderdi formül.
Sizin için en basiti neyse çözüm o dur.​
Teşekkür ederim hocam. Saatleri üst üste toplatmak kolaydı da, gerisi dediğiniz gibi çok karışık. Olsun bu kadar yaptığım bile benim işimi ziyadesiyle kolaylaştıracak. Yoksa o saatleri hep tek tek topluyordum defalarca kontrol ediyordum. :)
Siz de emek verdiniz çok sağ olun.
 

Technopat Haberler

Yeni konular

Geri
Yukarı