Belirli iki tarih arası karşılaştırma

Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Merhaba.
Yapmak istediğim şey,
"L6" ve "M6" Hücrelerinde Başlangıç ve bitiş tarihi var.
Bu iki tarih arasında ki, 08:00-16:00 leri saydırmak. (ki bunu "B14" hücresinde yapıyorum.)
Yapamadığım,
08:00-16:00 a denk gelen günlerde personel rapor almışsa "R" adetlerini düşemiyorum.
Misal,
Ahmet, 15.06.21-20.06.21 tarihinde 08:00-16:00 vardiyasında 6 gün çalışacak gözüküyor. Fakat 15-17.06.21 tarihlerinde 3 gün rapor almış.
"D14" hücresine bunu nasıl hesaplattırırım?
Şimdiden teşekkürler..

Vardiyadan Rapor çıkartma.xlsx - 11 KB
 

Ekli dosyalar

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Zaten siz B14 de formülü bulmuşsunuz. Çok benzer bir şekilde
=ÇOKEĞERSAY($C$1:$AF$1;">="&$L$6;$C$1:$AF$1;"<="&$M$6;$C2:$AF2;"08:00-16:00")-ÇOKEĞERSAY($C$8:$AF$8;">="&$L$6;$C$8:$AF$8;"<="&$M$6;$C9:$AF9;"r")
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Zaten siz B14 de formülü bulmuşsunuz. Çok benzer bir şekilde
=ÇOKEĞERSAY($C$1:$AF$1;">="&$L$6;$C$1:$AF$1;"<="&$M$6;$C2:$AF2;"08:00-16:00")-ÇOKEĞERSAY($C$8:$AF$8;">="&$L$6;$C$8:$AF$8;"<="&$M$6;$C9:$AF9;"r")
Ömer Hocam Selamlar.
Benim istediğim bu değil. Benim istediğim,
Misal, adam bir ayda 6 gün 08:00-16:00 vardiyası tutmuş.
aynı adam ayı toplamda 7 raporla kapatmış.
Ama bunun 3 tanesi, 08:00-16:00 vardiyasına denk gelmiş.
Dolayısıyla sonuç 6-3=3 olacak şekilde bir formüle ihtiyacım var.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Anladım.
Aşağıdaki formül size 08:00-16:00 vardiyası ve ilgili tarih aralığındaki izinli gün sayısını verir
=TOPLA.ÇARPIM((C$2:AF$2="08:00-16:00")*(C$9:AF$9="r")*($C$1:$AF$1>=L6)*($C$1:$AF$1<=M6))
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Anladım.
Aşağıdaki formül size 08:00-16:00 vardiyası ve ilgili tarih aralığındaki izinli gün sayısını verir
=TOPLA.ÇARPIM((C$2:AF$2="08:00-16:00")*(C$9:AF$9="r")*($C$1:$AF$1>=L6)*($C$1:$AF$1<=M6))
Ömer hocam,
Formülü girdiğimde, hiç rapor almaması durumunda 0 değil 6 vermesi lazım. 08:00-16:00 ya denk gelen günlere, "r" girdikçe 6 dan eksiltmeye başlaması lazım.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Şöyle bir şey denedim ve çalıştı.
=TOPLA.ÇARPIM((C$2:AF$2="08:00-16:00")*($C$1:$AF$1>=L6)*($C$1:$AF$1<=M6)-(C9:AF9="r")*(C$2:AF$2="08:00-16:00"))
sizce doğru olmuş mudur?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
=ÇOKEĞERSAY($C$1:$AF$1;">="&$L$6;$C$1:$AF$1;"<="&$M$6;$C2:$AF2;"08:00-16:00")-ÇOKEĞERSAY($C$8:$AF$8;">="&$L$6;$C$8:$AF$8;"<="&$M$6;$C2:$AF2;"08:00-16:00";$C9:$AF9;"r")
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Deneyiniz.

C++:
=ÇOKEĞERSAY($C$1:$AF$1;">="&$L$6;$C$1:$AF$1;"<="&$M$6;$C2:$AF2;"08:00-16:00")-ÇOKEĞERSAY($C$8:$AF$8;">="&$L$6;$C$8:$AF$8;"<="&$M$6;$C2:$AF2;"08:00-16:00";$C9:$AF9;"r")
Korhan hocam merhabalar.
Denedim çalışıyor. Peki bunu başka bir sayfada 100 kişinin içinden bulup doğru satıra nasıl baktırırız?
Misal bu sayfada 10 tane vardiyacı var.
Diğer sayfada bunlarla beraber isim sırasına göre dizilmiş 90 kişi daha var. Doğru sırayı nasıl buldururuz?
Çok kasıyorum biliyorum. Haklarınızı helal ediniz.. :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu formülü diğer sayfa dediğiniz sayfada boş bir sütuna uygulayın. Yani o sayfada sonucu hesaplayın. Sonra görmek istediğiniz sayfaya tablonuz uygunsa DÜŞEYARA ya da İNDİS-KAÇINCI fonksiyonları ile aktarabilirsiniz.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Korhan hocam,
Yemek&Yol Alanlar sayfasında bulunan "AP5" ve aşağıya doğru devam eden hücrelerde ki formül aşağıda.
Burada kalın yazı ile belirttiğim aralığı elle belirttim ama bir türlü otomatik yaptıramadım. Bu kısmı nasıl buldurabilirim?
=ÇOKEĞERSAY($K$4:$AO$4;">="&$F$2;$K$4:$AO$4;"<="&$G$2;K$5:AO$5;"08:00 16:00")-
ÇOKEĞERSAY(PUANTAJ!$BC$6:$CG$6;">="&$F$2;PUANTAJ!$BC$6:$CG$6;"<="&$G$2;'YEMEK&YOL ALANLAR '!K$5:AO$5;"08:00 16:00";PUANTAJ!BC29:CG29;"R")
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bahsettiğiniz bölüm için aşağıdaki yapıyı kullanabilirsiniz.

KAYDIR(PUANTAJ!$A$1;KAÇINCI($I5;PUANTAJ!$C:$C;0)-1;KAÇINCI(--("1."&PUANTAJ!$CR$3&"."&PUANTAJ!$CU$3);PUANTAJ!$5:$5;0)-1;;31)
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Bahsettiğiniz bölüm için aşağıdaki yapıyı kullanabilirsiniz.

KAYDIR(PUANTAJ!$A$1;KAÇINCI($I5;PUANTAJ!$C:$C;0)-1;KAÇINCI(--("1."&PUANTAJ!$CR$3&"."&PUANTAJ!$CU$3);PUANTAJ!$5:$5;0)-1;;31)
Korhan hocam,
Öncelikle elinize sağlık..
Bu formulü daha önce kalın yazı ile belirttiğimin yerine yapıştırdım.
Fakat Formüller->Formülleri Değerlendir diyorum. Bir türlü mantığını anlayamadım!
Bu kod ile biz ne istemiş olduk? :(
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
PUANTAJ sayfasından seçtiğiniz tarihe ve ilgili satırdaki kişiye göre bakılması gereken alanı buluyor.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Korhan Hocam Tekrar Merhaba.
Hocam Puantaj sayfasında CU7 ye formul girdim.
Fakat formül istediğim gibi çalışmıyor.!
Şöyle ki,
Yaptırmak istediğim, Pauntaj sayfasında yer alan isimlerden vardiyacı olanlara, Yol&Yemek Alanlar sayfasında bulunan "AQ5" hücresi doluysa AQ hücresi değilse AP5 hücresi ni getirsin demek istiyorum.
Çözemediğim başka bir sıkıntı, personel vardiyacı değilse habire Hata kodu verip durması.
Hocam tekrar desteğinizi rica ediyorum.
Allah razı olsun. Hakkınızı helal ediniz.
 

Ekli dosyalar

Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Korhan hocam rica etsem bir yardımcı olabilir misiniz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bence AR sütununa bir formül oluşturun. Burada AP ya da AQ hangi sütundaki verinin gelmesi gerekiyorsa ona göre bir formül kurun. Sonra DÜŞEYARA ile o veriyi diğer sayfaya aktarmak daha kolay olur. Öbür türlü formül gereksiz yere uzayıp gidecektir. Uzayan formüllerde tablo üzerinde ki kontrolü kaybetmenize sebep olacaktır.

AR5 hücresi için örnek formül;
C++:
=EĞER(AQ5<>"";AQ5;AP5)

PUANTAJ sayfasına bu değeri almak için aşağıdaki formülü kullanabilirsiniz. Kendi formülünüze adapte edersiniz.
C++:
=EĞERHATA(DÜŞEYARA($C7;'YEMEK&YOL ALANLAR '!$I:$AR;36;0);0)
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Korhan Hocam,
=EĞERHATA(DÜŞEYARA($C7;'YEMEK&YOL ALANLAR '!$I:$AR;36;0);0)
Bunu girdiğimde, vardiyacı olmayanlar hesap edilmeden 0 veriyor.
Şunu girdiğimde de sonuç vermiyor.
=EĞERHATA(DÜŞEYARA($C7;'YEMEK&YOL ALANLAR '!$I:$AR;36;0);
ÇOKEĞERSAY($BC$6:$CG$6;">="&'YEMEK&YOL ALANLAR '!$F$2;$BC$6:$CG$6;"<="&'YEMEK&YOL ALANLAR '!$G$2;BC7:CG7;"X")))
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Vardiyacı olmayanları neye göre ayırıyorsunuz?

Tablonuzu siz biliyorsunuz. Bizler yabancıyız.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Vardiyacı olmayanları neye göre ayırıyorsunuz?

Tablonuzu siz biliyorsunuz. Bizler yabancıyız.
Haklısınız. Özür dilerim..
Vardiyacılar, YEMEK&YOL ALANLAR sayfasında I5:I18 arasındakiler. Ki bunlar aynı zaman da PUANTAJ sayfasındaki listede de varlar.
Oluşturmak istediğim,
Ramazan Başlangıç ve bitiş tarihleri baz alınarak,
vardiyacılarda 08:00-16:00 saatleri hangi güne denk gelmişse yemek gün adedi sayıcak. (Tabi o günlere Rapor,Yıllık İzin falan denk gelmişse onlarıda düşüyorum)
Vardiyacı olmayanlarda ise başlangıç ve bitiş tarihi direk baz alınarak yemek gün adedini arıyorum. (Tabi o günlere Rapor,Yıllık İzin falan denk gelmişse onlarıda düşüyorum)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,329
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Eklediğiniz dosyada puantaj verileri olmadığı için tam olarak test edemiyorum.

Adım adım gidelim...

Paylaştığınız dosyayı açtım.

"YEMEK&YOL ALANLAR" isimli sayfada F2 hücresini Trh_1 olarak adlandırdım.
"YEMEK&YOL ALANLAR" isimli sayfada G2 hücresini Trh_2 olarak adlandırdım.

"PUANTAJ" sayfasında 23. satırda "DENİZ K." bulunuyor. Buna göre aşağıdaki formül 08:00 16:00 verisini içeren ve üstteki tanımladığımız tarih aralığında olan 5 adet hücre olduğunu sonuç olarak verdi.

Formül bu haliyle isme göre dinamik çalışmaktadır.

C++:
=ÇOKEĞERSAY('YEMEK&YOL ALANLAR '!$K$3:$AO$3;">="&Trh_1;'YEMEK&YOL ALANLAR '!$K$3:$AO$3;"<="&Trh_2;KAYDIR('YEMEK&YOL ALANLAR '!$K$1;KAÇINCI($C23;'YEMEK&YOL ALANLAR '!$I:$I;0)-1;;;31);"08:00 16:00")
Şimdi bu aşamadan sonra ne olmasını istiyorsunuz? Lütfen adım adım yazınız.
 
Üst