• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Sırasız saatler arasında öğle arasını hesaplama

Katılım
21 Mayıs 2010
Mesajlar
86
Excel Vers. ve Dili
2003 xls
Arkadaşlar öncelikle merhabalar. Elimde bir tablo var ve bu tabloda yapılan işlerin sırasız bir şekilde kişi bazlı saatleri bulunmakta. Bir personelin işe başlama, öğle arasına çıkışı dönüşü ve iş bitirme saatlerini almam gerekli. ( küçükten büyüğe sıralı olsa iki saat arasında ki en büyük fark öğle arası saati oluyor fakat liste çok büyük olduğu için her defasında bunu yapmak çok zaman alıyor. )

Örnek tabloyu ekliyorum. Böyle birşey yapmamız mümkün müdür ?
 

Ekli dosyalar

Öğle tatili kriteri vermemişsin, 11:48:37 yazmışsın. Yani 12 olmadan önceki ilk saat başlangıç 13:00 sonraki ilk saat bitiş mi
 
Son düzenleme:
Öğle tatili kriteri vermemişsin, 11:48:37 yazmışsın. Yani 12 olmadan önceki ilk saat başlangıç 13:00 sonraki ilk saat bitiş mi

kriter her zaman bu olmuyor. mesela personel 11:30 da bırakıyor 12:45 de tekrar başlayabiliyor. Bana bu aralıkta geçen süre lazım ama başlangıç ve bitiş değişkenlik gösterebiliyor.

Kriter şu olabilir gün içerisinde ki iki değer arasında oluşan en büyük fark.

Normalde ben manuel olarak şöyle yapıyorum. Önce saatleri küçükten büyüğe sıralıyorum, sonra gözle kontrol edip öğlen arasına kaçta çıkıp kaçta yeniden başladığını tespit ediyorum.

Veriler sıralı gelse bir önceki değerden bir sonraki değer çıkarılır ve oluşan değerler kümesi içerisinden en büyük olanı kabul edilebilir.
 
Hala bir koşul ya da formül oluşturamadım arkadaşlar. Konu günceldir
 
veri ve parametreler çok düzensiz. üstelik saatler sıralı da değil
 
[TR][TD]

11:30 -​

[/TD]
[TD]

12:45​

[/TD]
[TD]



=MOD(B1;A1)
[/TD][/TR]
 
Merhaba

"D" sütununa saat farklarını aldım. Sizin yazdığınız formülü "I" sütununa kopyaladım MAK olarak değiştirdim.

Bu gelen veri D168 de bize gereken C167-C168

Bunun için İndis ile bir formül yazılabilir.

Not: verinin düzgün gelmesi için Sıralama ilk önce saatleri sonra isimlere yapın.
 

Ekli dosyalar

Teşekkürler. Ellerinize sağlık.
Yalnız sorun şurda veriler bu şekilde sıralı gelmiyor. Bu işlemi yapmak için önce kullanıcıları ( X-Y-Z ) şeklinde gruplandırıp sonra kendi içinde küçükten büyüğe sıralamak lazım ki fark alınarak hesaplama yapılsın.
Veriler hem sırasız hemde kullanıcılar karışık geliyor.
 
Son düzenleme:
Ellerinize sağlık. Bir iki oynama ile istediğim formata kavuştum. Zaman ayırdınız hakkınızı helal edin.
 
Ellerinize sağlık. Bir iki oynama ile istediğim formata kavuştum. Zaman ayırdınız hakkınızı helal edin.
Ancak dikkat ediniz, biz en büyük aralığı aldık. Başka bir nedenle başka bir saat aralığında daha büyük bir boşluk olursa sorun oluşabilir. örneğin çalışan 2 saatlik izin aldı ve çıktı. Yaptığımız bu tablo öğle tatili olarak o aralığı alacaktır.
 
Ancak dikkat ediniz, biz en büyük aralığı aldık. Başka bir nedenle başka bir saat aralığında daha büyük bir boşluk olursa sorun oluşabilir. örneğin çalışan 2 saatlik izin aldı ve çıktı. Yaptığımız bu tablo öğle tatili olarak o aralığı alacaktır.

Bu gibi durumlar olduğunda ya da anormal bir durum olduğunda ayrı değerlendirmem gerekecek, çünkü bunu bir kritere oturtmak mümkün gibi durmuyor. Örneğin personeller bazen öğle arası yapmak yerine bir saat erken çıkmayı talep edebiliyor. İlginize çok teşekkür ederim.
 
Merhaba,

Eğer öğle yemeğine çıkış saati <= "12:00:00" ise;

NOT: Aşağıdaki formüller dizi formülü olduğundan, (Crtl + Shift + Enter) birlikte kullanılmalıdır. Hücre formatları "Time" olmalı.

C++:
'öğle yemeği çıkış saati: I2 hücresi 
=MAX(IF(G2=$A:$A;IF($C:$C<=VALUE("12:00");$C:$C)))
    
'öğle yemeği dönüş saati:  J2 hücresi 
=MIN(IF(G2=$A:$A;IF($C:$C>VALUE("12:00");$C:$C)))

'Fark:  K2 hücresi 
=J2-I2

Yukarıdaki şekilde standart yok anladığım kadarı ile. O zaman ya yemeğe çıkış saati yada yemekten dönüş saatini işaretlemen gerek.

Koyacağın işarete göre çıkış/dönüş saati bulunur.
 
Merhaba,

Eğer öğle yemeğine çıkış saati <= "12:00:00" ise;

NOT: Aşağıdaki formüller dizi formülü olduğundan, (Crtl + Shift + Enter) birlikte kullanılmalıdır. Hücre formatları "Time" olmalı.

C++:
'öğle yemeği çıkış saati: I2 hücresi
=MAX(IF(G2=$A:$A;IF($C:$C<=VALUE("12:00");$C:$C)))
   
'öğle yemeği dönüş saati:  J2 hücresi
=MIN(IF(G2=$A:$A;IF($C:$C>VALUE("12:00");$C:$C)))

'Fark:  K2 hücresi
=J2-I2

Yukarıdaki şekilde standart yok anladığım kadarı ile. O zaman ya yemeğe çıkış saati yada yemekten dönüş saatini işaretlemen gerek.

Koyacağın işarete göre çıkış/dönüş saati bulunur.

Sorunumuz şu hocam burada kişinin 12:00 den önce mi sonra mı çıkacağı belli olmadığı için kriteri zaman farkından yola çıkarak oluşturduk. Random gelişen olaylar. İlginize teşekkür ederim.
 
Geri
Üst