S

Soru İki saat arasındaki giriş saatlerini saydırma

  • Konuyu başlatan Konuyu başlatan slymnytm
  • Başlangıç tarihi Başlangıç tarihi

slymnytm

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
3 vardiya halinde çalışılan bir firma ilk vardiya 06:45 te başlıyor kart hareketlerini çektiğimde memur ve işçi sayfasındaki gibi "-03:00" saat öncesini gösteriyor. Saat dilimleri arasında kaç memur kaç işçi saydırdım lakin kırmızı renkli saat dilimlerinde eksik ve bir sonraki güne geçince saat arasını saymıyor. İki tarih için (16/04/2021-17/04/2021) satır ekledim ama yine olmuyor yardımcı olunursa sevinirim.
 

Ekli dosyalar

Selamlar,
Son olarak eklediğiniz dosya üzerinden,

** K ve L sütunlarındaki her bir saat değeri için ilgili hücreyi seçin F2 ye basıp ENTER yapın.
** K ve L sütunlarının Sayı biçimini ss:dd yapın.
** M3 hücresindeki formülünüzdeki X kolonunda 16 değerini aramasına gerek yok... Yani
=ÇOKEĞERSAY(Z:Z;">="&K3;Z:Z;"<="&L3)
yeterli olacaktır. M3 hücresindeki formülü kopyalayıp, M4 : M28 aralığına yapıştır.özel >>> formülleri ile yapıştırın.

Sonuçları kontrol ediniz...
 
'=ÇOKEĞERSAY(Z:Z;">="&K3;Z:Z;"<="&L3;X:X;$I$1)

Bu formülü yazmıştım yazdığım halde 06:45-07:44 arasındaki M3 te ki değer 12;
07:45-08:44 arasındaki M4 de ki değer 11 çıkıyor. Z16:Z27 arasında ise 12 değer var 1 tanesi tanımlanmıyor.

X sütunundaki 16 ve 17 tarihleri şu açıdan önemli 3. vardiyadaki 02:45-03:44 arasındaki değer için önemli çünkü bir sonraki güne devir eden vardiya tarihi.
 
Cevabımı aceleyle yazdığım için eksik yazmışım...
** Ondalıklı sayılarda 4 işlem ya da farklı matematiksel işlemler yapıldığında, basamaklar ile ilgili olarak Excelin sayıları 15 basamak olarak saklamasından kaynaklanan durumlar ortaya çıkabilmektedir.
Bu problemin önüne geçebilmek amacıyla da YUVARLA, KYUVARLA gibi işlevler kullanılabilir.

Özetle, Z4 hücresindeki formülünüz olan
=W4+Y4
yerine
=KYUVARLA(W4+Y4;1/1440)
şeklinde yazıp aşağıya doğru kopyalayın....

Dosyanızı ekliyorum...
 

Ekli dosyalar

X sütunundaki 16 ve 17 tarihleri şu açıdan önemli 3. vardiyadaki 02:45-03:44 arasındaki değer için önemli çünkü bir sonraki güne devir eden vardiya tarihi.
Gerek Z kolonunda ve gerekse K ve L kolonlarında,
23:44 den sonra gelen 00:00 ve sonrası saatlerde 01.01.1900 00:00 şeklinde yazdığı için X kolonundaki arattırmaya gerek yok demiştim.

Çünkü 23:44 den sonra gelen saatler {ss]:dd biçimini uygularsanız , örneğin 00:00 için 24:00, 00:44 için 24:44 ya da 02:45 için ise 26:45 olduğunu görebilirsiniz.

Özetle, ben, X kolonuna göre 16, 17 arattırmasına gerek olmadığını dosyanıza bakarak belirttim.
 
Selamlar,
5 nolu mesajımı bir defa daha örnek vererek açıklamak isterim....
MEMUR Sayfasında, örnek olarak, K60 hücresine
=H60=ANASAYFA!B6
formülünü yazın....
H60 da hesaplama ile gelen 07:45 değeri var.
ANASAYFA!B6 da da manuel yazılmış 07:45 değeri var.
Sonuçta
=H60=ANASAYFA!B6 yani 07:45=07:45 ve eşitlik olup sonucu DOĞRU yazması gerekiyor.
Ama
K60 daki sonuç YANLIŞ....
Neden?
K60 da iken Formüller >>> Formül değerlendir >> Değerlendir butonuna 2 defa basın.. Değerleri inceleyin
H60 = 0,322916666666666
ANASAYFA!B6 = 0,322916666666667
Yani bu iki değer birbirine EŞİT değil...
Çünkü problem, Excelin SAYILARI 15 basmak olarak saklamasından kaynaklıdır.
 
Sorum şu,
AnaSayfadaki Başlangıç ve Bitiş Saatleri SABİT değerler midir?
Diğer bir deyişle, Ana Sayfadaki Tablonuz sabit midir.

Eğer sabit ise,
ilk gönderdiğiniz dokumana göre, Ana Sayfanızda tarih kolonu da koyup, formüle etmeye çalışacağım.
Ana Sayfanıza 2 kolon ekleyip, Memur ve İşçi sayfalarındaki F kolonundaki saatleri dikkate alarak formüle edeceğim... G-H-I kolonlarına gerek olmayacak.
 
2. sorum da şu
F kolonunu manuel mi yazıyorsunuz. Yoksa sistemden bu şekilde mi geliyor.
Neden soruyorum..
** 04-16 için saatler 21:45 şeklinde... Fakat 04-17 için ise 01.01.1900 02:45 şeklinde....
Bu da benim 6 nolu mesajımın içeriği aslında...

Eğer sistemden geliyorsa, ya da manuel yazılıyorsa bile
HEP böyle olacaksa, Ana Sayfada 2 kolon eklemeye gerek yok. Direkt formüle edilebilir..

F kolonundaki saatler DAİMA bu şekilde mi olacak?
Yani bir sonraki güne ait saatlerin önünde 01.01.1900 gibi tarih olacak mı...
01.01.1900 ün karşılığı 1 dir... yani 1 gün = 24 saat
Diğer bir deyişle 01.01.1900 02:45 = 26:45 saat tir.
 
Sayfasına istediğinizi ekleyebilirsiniz. Formüle etmeye çalışacaksanız sadeleştirip yükledim memur ve işçi sayfasındaki tabloları birleştirdim.
H sütunu önemli çünkü sistemden veri çektiğimde 3 saat öncesini veriyor o yüzden H sütununa baz aldığımız saati ekledim.
 

Ekli dosyalar

İşin teknik tarafını Sayın @52779 yeterince açıklamış.

Madem 03:00 ekleme kısmı sürekli var ve yanılmıyorsam;
ÇOKEĞERSAY formülünde H sütunu yerine F sütununu kullanıp, bu 03:00 ilavesini formülde yapıp istenilen sonuç alınabilir sanırım.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 
İşin teknik tarafını Sayın @52779 yeterince açıklamış.

Madem 03:00 ekleme kısmı sürekli var ve yanılmıyorsam;
ÇOKEĞERSAY formülünde H sütunu yerine F sütununu kullanıp, bu 03:00 ilavesini formülde yapıp istenilen sonuç alınabilir sanırım.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
Benim sorularım da,
1 - F kolonunu kullanarak 03:00 eklenmesi ve
2 - Formülünüzdeki B5 ve C5 in durumu ile ilgiliydi....
C5 > B5 ise formülde problem yok.. Ama bir gün sonrası için de sadece saatler olacaksa formülde problem var.
Yani sadece saatler yazılıyorsa 23:45 - 00:44 arasını hesaplamada problem olur.
Yok, 23:45 saat 00:44 ise 01.01.1900 00:44 şeklinde ise bu formül geçerlidir.

Sorularım bunun içindi...
 
@Slymnytm

Şimdi kontrol ettim, madem sayının küsurat kısmı sorun oluyor, pragmatik yaklaşımla formülü şöyle yapsak nasıl olur.
1 saniye ekle çıkart ile küsurat sorunu hallolur gibi.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(1 satır)
 
Sorularıma NET cevaplar alamadım maalesef. gönderdiğiniz dokuman üzerinde de bir şey yapamam. Standart olmadıktan sonra formüle edemem.
İlk gönderdiğim dokuman sorunuza cevaptır... İnceleyiniz....

Gönderdiğiniz dosyalarınızı bir kez daha inceleyiniz.
Ana Sayfa (Sorum Bk. mesaj No 10)
Başlangıç saati : 00:45, 01:45 ve 02:45 in önünde 01.01.1900 olarak tarih var. Yani saatler aslında 24:45, 25:45 ve 26:45
Fakat 03:45, 04:45 ve 05:45 de tarih YOK. Yani saatler olduğu gibi 03:45, 04:45 ve 05:45...... Oysa ki Tarih bir sonraki gün. Yani önlerinde 01.01.1900 tarihi olmalı. Ya da AYRI bir kolonda TARİH kolonu açıp sadece saatleri yazmak gerekir.

Aynı durumu Bitiş saatlerinde de inceleyin.

Başındaki tarihin önemi de şu
Örnek 23:45 ile 00:44 arasını arayacağız.
Ana sayfada 23:45 sadece saat, 00:44 ise tarih + saat yani 24:44 yani 23:45 e göre bir sonraki gün

Bu durumda MEMUR sayfasındaki F kolonundaki saatlerin de bu mantıkta olması gerekir.

Özellikle MEMUR sayfası 291 - 578 satırlara dikkat edin.... Buradaki saatler sadece saat.... yani saat olarak 04-16 nın saatleri ile bir farkları yok.
Bir de 578. satır sonrasına bakın....Önlerinde Tarih var ve yine 04-17 ye ait.

örnekle anlatalım.
06:45 - 07:44 arasını arattırıp saydıracağız.
hem 04-16 da 12 adet var....
Ama 04-17 de de sadece saatler olduğundan bir 12 adet de orada var Yani sonuç 24 Memur bulunur.

Standart nedir? (Bak Mesaj 11 - Soru 2)
 
Bir not daha
F kolonunda hep 5 dakikalık ARTIŞLAR var.
Ana Sayfada da hep 1 saatlik Saat Dilimleri var.
Aradığınız cevap 1 saat içinde kaç adet 5 dakika vardır ile AYNI.... Yani HEP 60/5 =12 .... Formüle gerek yok...
Standart bu mu?
 
Yaşanan aksaklık çözüldü ufak tefek değişiklikler ile.
İlgilendiğiniz için çok teşekkür ederim.
Sayın @Slymnytm .

Bu şekilde cevap yazılması pek anlamlı gelmiyor bana.
Emek/zaman harcanarak yazılan cevaplarla ilgili olarak net geri bildirimde bulunmanız daha doğru olurdu.
Kendi çözümünüzü üretmişseniz de çözüm belgesini foruma eklemeniz beklenirdi.

Neticede forumların varlık sebebi bilgi paylaşmak ve bilgiyi paylaşarak çoğaltmak.
Başka bir üyemizin de benzer ihtiyacı olduğunda çözümden istifade etmesini sağlamak gerekir.
Yoksa forum sadece, konu sahiplerinin sorularının cevaplandığı. sorun çözme alanı olarak kalırdı değil mi?

Herneyse canınız sağ olsun.

.
 
Üst