• DİKKAT

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

aylık mesai toplamını kafasına göre sonuc veriyor

Katılım
12 Kasım 2016
Mesajlar
131
Excel Vers. ve Dili
Excel 2016
=TOPLA.ÇARPIM((CETELE!C3:BJ3<>"")*(CETELE!C3:BJ3>20/24)*(CETELE!C3:BJ3-20/24))

formul bu ama sonuc ne alakaya maydonoz sonucu gece yarısını geçkin bir sonucumda yok ama çıkardıgı onucu anlam vermiş degilim.

ilgili dosyada açıklama yaptım yardımcı olursanız sevinirim.

akşam 20:00 geçen mesai başlangıcı: diger günün 03:00 kadar
Rica ediyorum sabah başlama saatinden baz alarak yapmayın sadece akşam 20:00 sonrası benim için önemli
1.1.2016 20:00---2.1.2016 03:00 =7 saat
ör: 20:00 --- 00:30 4:30 mesai
 

Ekli dosyalar

Merhaba.

Mevcut verilere göre aşağıdaki dizi formülü istediğiniz sonucu verir.
Formülü hücre birleştirmesi olmayan bir hücreye uygulayınız.
Gerekiyorsa uygulamayı yaptıktan sonra hücre birleştirmesini yapabilirsiniz.


Formül;
-- C:BJ sütun aralığında sütun numarası çift olan sütunlarda (maksat sadece ÇIKIŞ saatlerini kontrol etmek),
...EĞER(ÇİFTMİ(SÜTUN($C3:$BJ3));...
-- tarihlerden ayrıştırılmış saatlerden,
... EĞER(MOD($C3:$BJ3;1) ...
-- 20:00'yi geçenlerden,
... >20/24; ...
-- 20:00'nin çıkartılması
... (SAAT($C3:$BJ3)&":"&DAKİKA($C3:$BJ3))-20/24 ...
-- sonucunda bulunan değerlerin toplanması şeklinde hesaplama yapar. =TOPLA( ...
.
Kod:
=TOPLA(EĞER(ÇİFTMİ(SÜTUN($C3:$BJ3));EĞER(MOD($C3:$BJ3;1)>20/24;(SAAT($C3:$BJ3)&":"&DAKİKA($C3:$BJ3))-20/24)))
[FONT="Arial Narrow"][COLOR="Blue"]Dizi formülü olduğundan; hücreye [B][COLOR="Red"]CTRL+SHIFT+ENTER[/COLOR][/B] ile girilmelidir.
İşlemi doğr yapmışsanız formül kendiliğinden [B][COLOR="Red"]{[/COLOR][/B]....[B][COLOR="red"]}[/COLOR][/B] gibi köşeli paranez arasına alınır.[/COLOR][/FONT]
 
sizlerde olmasanız biz ne yapacagız bilemedim ki :)
yalnız gece sonrası hesaplama yapmıyor zannedersem yada ben mi yapamdım ama 20:00 ile 02:00 saat hesaplaamsı lazım ama zannedersem hesapalamıyor.....
 
Son düzenleme:
Bu belge ile ilgili olarak açtığınız kaçıncı konu oldu sayamadım ve tümünü
(ekindeki örnek belgeler ve konu sayfalarındaki yazışmalar dahil) takip etmiştim.

Örnek belgeleriniz belirttiğiniz tüm seçenekleri içermiyor diye hatırlıyorum.

Giriş-çıkış saatlerinin belirlenmesi (tabi bu arada parmak okutma yapılmadan gerçekleşen giriş veya çıkışların,
hangisinin giriş hangisinin çıkış olduğu durumu netleşmeli) olmazsa olmaz sanırım.
Kanaatim o ki; halen parmak izi okutma sonucunda oluşan tarih/saat bilgisinin hangisinin giriş, hangisinin çıkış olduğu sorununu aşmış değilsiniz.

Bence Sayın sakman'ın (ki bu tür konularda her zaman çok şık çözümler üretmiştir) önerilerini dikkate almalı,
forumdaki mesai/vardiya gibi konularda araştırma yapmalısınız.

"yalnız gece sonrası hesaplama yapmıyor"
cümlenizle ilgili olarak; sadece elle girilmiş birkaç sütunluk bir belge hazırlayıp ya da
mevcut belgede, adres belirterek şu hücrede şunu hesaplamıyor şeklinde örneklendirirseniz çözüme ulaşılır diye düşünüyorum.
 
merhaba
Giriş çıkış satlerinin belirlenmesi demişsiniz ben bu konuyu aştıgımı zannediyorum. şu örnekle
***=MİN(EĞER(KAYNAK!$B$2:$B$3956="MURAT GÜLER";EĞER(KAYNAK!$C$2:$C$3956>=TARİHSAYISI( "01.11.2016")+5/24;EĞER(KAYNAK!$C$2:$C$3956<=TARİHSAYISI("1.11.2016")+12/24;KAYNAK!$C$2:$C$3956)))) Giriş saati 1.1.2016 sabah 05:00 12:00 arası giri kısmına işaret ettim.

***=MAK(EĞER(KAYNAK!$B$2:$B$3956="MURAT GÜLER";EĞER(KAYNAK!$C$2:$C$3956>=TARİHSAYISI( "01.11.2016")+12/24;EĞER(KAYNAK!$C$2:$C$3956<=TARİHSAYISI("2.11.2016")+3/24;KAYNAK!$C$2:$C$3956)))) çıkış saati 12:00 1.1.2016 ögleden başlayıp diger günün sabahına kadar 03:00 akşam çıkışı olarak alıyor . yani siz eğer bu şekilde de giriş çıkışların belli degil diyorsanız sil baştan tekrar yapayım.

gece hesaplaması ben dosyanın üzerinede ilk olarak o açıklamayı yapmıştım ((04:07 mesai olması lazımken 02:20 dk kalıyor
birde gece yarısına gecen vaktleri nasıl hesap edecem!!)) dosyanın isçindeki açıklamdan bir satır....
konunun tekrar tekrar açmak istemem kusura bakmayın ama sayanizde bayğı bir yol katettik teşekkür ama bu şekilde sitem etmeniz üzdü beni. 20:00 mesai farkını hesapladıgım gibi geceye sarkan kısmınıda hesap etsem iş benim içinde bitmiş sayılır. teşekkür ederim ilgi alakanız için.
 
Tekrar merhaba.

Ekli belgeyi inceleyiniz.

Hesaplanmasını istediğiniz ancak,
hesaplaması yapılmamış/yanlış sonuç veren
durumlar varsa; belge üzerindeki hücre adresleri belirterek durumu açıklamanızı öneriyorum.
.
 

Ekli dosyalar

Ömer bey elinize kolunuza saglık ögrenecegiz efendim inşallah sizlerin sayesinde, sabrınız içinde teşekkürler ediyorum.
 
Estağfurullah.

Fark ettiğiniz gibi formüllere esneklik kazandırma üzerinde durmalısınız.
(Kişi adını değişken hale getirmek, atıf yapılan tarihi değişken hale getirmek vs.)
Böylece oluşturulan tek formül gönül rahatlığıyla kopyalanabilir hale gelecektir.
Aslında veri kaynağındaki son satırı AD TANIMLAMA ile tespit edip formülü de buna göre düzenlerseniz;
veri tablonuzun uzunluğu ile formül arasındaki bağlantıyı da kopartmış olursunuz ve formülde örneğin
5000 satır yerine sadece dolu olan satır sayısına öre işlem yapılması sağlanabilir.
Malum kullanılan formül dizi formülü; veri yoğunluğuna ve dizi formülü adetinin çokluğuna göre
belgenizde yavaşlama oluşacaktır. Bu nedenle AD TANIMLAMA konusu üzerinde durmanızı öneririm.

İyi çalışmalar dilerim.
.
 
Sİze katılıyorum ama hocam hem iş teleşı hem kendimizi geliştirmek biraz zaman alıyor, bu site ve sizler sayesinde çok hızlı ilerledigimizde bir gerçek bir sitenin bu kadar verimli olabilecegini hiç tahmin etmezdim. Kurucularına teşekkürler ederim.
 
FORMÜLLER menüsü, AD TANIMLAMA kısmında;
-- isimler şeklinde adlandırma için aşağıdaki formülü kullandım.
Kod:
="KAYNAK![B][COLOR="Blue"]B2:B[/COLOR][/B]"&BAĞ_DEĞ_DOLU_SAY(KAYNAK!$B:$B)
-- saatler şeklinde adlandırma için aşağıdaki formülü kullandım.
Kod:
="KAYNAK![B][COLOR="blue"]C2:C[/COLOR][/B]"&BAĞ_DEĞ_DOLU_SAY(KAYNAK!$B:$B)
-- ardından da C2 hücresindeki formülü (tabi yine dizi formülü olduğundan CTRL+SHIFT+ENTER şeklinde)
aşağıdaki şekilde değiştirerek bu formülü sağa ve aşağı doğru kopyaladım.

Kod:
=EĞER(GÜN(SERİAY($C$2;0))>=SÜTUNSAY($C3:C3)/2;EĞER(TEKMİ(SÜTUN());MİN(EĞER(DOLAYLI([COLOR="blue"]isimler[/COLOR])=$B3;EĞER(DOLAYLI([COLOR="Blue"]saatler[/COLOR])>=C$2-MOD(C$2;1)+5/24;EĞER(DOLAYLI([COLOR="blue"]saatler[/COLOR])<=C$2-MOD(C$2;1)+12/24;DOLAYLI([COLOR="blue"]saatler[/COLOR])))));MAK(EĞER(DOLAYLI([COLOR="blue"]isimler[/COLOR])=$B3;EĞER(DOLAYLI([COLOR="blue"]saatler[/COLOR])>=B$2-MOD(B$2;1)+12/24;EĞER(DOLAYLI([COLOR="blue"]saatler[/COLOR])<=1+B$2-MOD(B$2;1)+3/24;DOLAYLI([COLOR="Blue"]saatler[/COLOR]))))));"")
--Elbette aynı sonuçlar alındı. Ancak artık sayma, koşullara uyma gibi kontroller, 3956 satırda değil 68 satırda yapılır hale geldi.
--Ayrıca KAYNAK sayfasına yeni veriler eklendiğinde AD TANIMLAMASI eklenen bu yeni satırları da formülün içine dahil edecek, yani güncellenecek.
.
 
hocam çok teşekkür ediyorum en kısa zamanda formulu uygulamaya başlayacam
 
evet hocam dedigin gibi yaptım harika çalışyor formuller. yalnız hocam aylar degişkenlik yaptıgı için pazar günleri mesai hesaplamasını nasıl bir yol haritası olması gerek. Düşüncem yatay ara ama hücre içindeki sabah akşam herhangi bir deger varsa
=pazar mesai=
1
yazsın ikinci pazarda olursa pazar mesai 2 yazsa hiç fena olmaz
ilginiz için elinize tessekkur ederim
 
Geçen gün yazdığım ve sizin sitem olarak nitelendirdiğiniz mesajımın metni aslında daha uzundu ve
şu andaki soru ve devamında gelmesi muhtemel soru/sorunlara ilişkin idi.

Başta Sayın sakman'ın destek verdiği mesai-fazla mesai-vardiya gibi içerikli konuları araştırıp
örnek belgeleri biraz inceleyin derim (zaten bir kısmına ben de cevap vermişimdir).

Mevcut belgenizde; ilk iki satırdaki (tarih ve günler) alana uygulanmış KOŞULLU BİÇİMLENDİRME
formülüne bakın isterseniz, fikir verecektir.

Denemelerinizi az sayıda satır/sütun üzerinden yapmanızı öneririm.

İçinden çıkamazsanız elbette ben veya başka bir üye dönüş yapacaktır.
Sütunlara 1 yazdırmak yerine sağdaki bir hücreye (koşullarını net ifade ederseniz) yazılmasını istediğiniz 1'lerin toplamı yazdırılabilir.

Sorunuzu yine örnek belge ile desteklemeyi ve durumu hücre adresleri belirterek net ifade etmeyi ihmal etmeyiniz.
Önemli bir tavsiyem de hücre birleştirmelerini mümkün olduğunca uygulamamanız olacak.
Hücre birleştirmeleri, oluşturulacak formülleri daha karmaşık/uzun hal almasına neden oluyor.
.
 
Geçen gün yazdığım ve sizin sitem olarak nitelendirdiğiniz mesajımın metni aslında daha uzundu ve
şu andaki soru ve devamında gelmesi muhtemel soru/sorunlara ilişkin idi.

Başta Sayın sakman'ın destek verdiği mesai-fazla mesai-vardiya gibi içerikli konuları araştırıp
örnek belgeleri biraz inceleyin derim (zaten bir kısmına ben de cevap vermişimdir).

Mevcut belgenizde; ilk iki satırdaki (tarih ve günler) alana uygulanmış KOŞULLU BİÇİMLENDİRME
formülüne bakın isterseniz, fikir verecektir.

Denemelerinizi az sayıda satır/sütun üzerinden yapmanızı öneririm.

İçinden çıkamazsanız elbette ben veya başka bir üye dönüş yapacaktır.
Sorunuzu yine örnek belge ile desteklemeyi ve durumu hücre adresleri belirterek net ifade etmeyi ihmal etmeyiniz.
.
tamam hocam teşekkür ederim
 
Tekrar merhaba.

Hazır bu belgeyle uğraşmaya başlamışken bir hususu daha hatırlatmak isterim.
Zaten giriş/çıkış saati nedir? sorusunun net cevabına ulaşılamadığını belirtme nedenim bu durumdu.

Örneğin; benim eklediğim son belgede Naim DAĞDELEN 01.11.2016 günü 08:04'de cihazda parmak okutmuş
(giriş olduğu varsayıldı), aynı gün başka bir okutma bilgisi yok. Yani şayet 08:04 giriş ise çıkışı yok.

Bu durumda hesaplama tablosunda çıkış saati olarak önceki formül 00:00 değerini veriyordu. Bu ne kadar doğrudur bilemiyorum.

Bu gün için kişi hakkında fazla mesai hesaplaması yapmak istediğinizde çalışılan süreyi nasıl hesaplayacaksınız bilemiyorum.
Bunun için de varsayımlarda bulunmak durumundasınız sanırım.

Durumu böyle olanlar, C3 hücresine uygulanan dizi formülünü aşağıdaki ile değiştirip (yine dizi formülüdür)
sağa ve aşağı kopyalarsanız daha net görünür.
Formül, okutma bilgisi olmayan hücreler için BOŞ sonuç döndürür.
.
Kod:
=EĞER(GÜN(SERİAY($C$2;0))>=SÜTUNSAY($C3:C3)/2;EĞER(TEKMİ(SÜTUN());EĞER(GÜN(MİN(EĞER(DOLAYLI(isimler)=$B3;EĞER(DOLAYLI(saatler)>=C$2-MOD(C$2;1)+5/24;EĞER(DOLAYLI(saatler)<=C$2-MOD(C$2;1)+12/24;DOLAYLI(saatler))))))=0;"";MİN(EĞER(DOLAYLI(isimler)=$B3;EĞER(DOLAYLI(saatler)>=C$2-MOD(C$2;1)+5/24;EĞER(DOLAYLI(saatler)<=C$2-MOD(C$2;1)+12/24;DOLAYLI(saatler))))));EĞER(GÜN(MAK(EĞER(DOLAYLI(isimler)=$B3;EĞER(DOLAYLI(saatler)>=B$2-MOD(B$2;1)+12/24;EĞER(DOLAYLI(saatler)<=1+B$2-MOD(B$2;1)+3/24;DOLAYLI(saatler))))))=0;"";MAK(EĞER(DOLAYLI(isimler)=$B3;EĞER(DOLAYLI(saatler)>=B$2-MOD(B$2;1)+12/24;EĞER(DOLAYLI(saatler)<=1+B$2-MOD(B$2;1)+3/24;DOLAYLI(saatler)))))));"")
-- Tabi bu durumda BM3 hücresine uygulanan dizi formülü aşağıdaki şekilde değişitirilmelidir.
Kod:
=TOPLA(EĞER($C3:$BL3<>"";EĞER(ÇİFTMİ(SÜTUN($C3:$BL3));EĞER(MOD($C3:$BL3;1)>BM$1;(SAAT($C3:$BL3)&":"&DAKİKA($C3:$BL3))-BM$1))))
-- BN3 hücresine uygulanan formülün de aşağıdaki şekilde değiştirilmesi gerekir.
Kod:
=TOPLA(EĞER($C3:$BL3<>"";EĞER(ÇİFTMİ(SÜTUN($C3:$BL3));EĞER(MOD($C3:$BL3;1)<BN$1;0+(SAAT($C3:$BL3)&":"&DAKİKA($C3:$BL3))))))
değiştirilmesi gerekir.

Hatırlatma: Gerek önceki cevabımın ekindeki belgede uygulanan formül,
gerekse de bu cevabımda belirttiğim ilk formülün sonucu sadece saat değil,
veri kaynağındaki gibi tarih ve saat. Hücre biçimlendirmesi dolayısıyla sadece saat gibi görünüyor.
.
 
Hocam büyüksün

ara ara sitem fırça atıyorsunuz ama ne deseniz haklısınız:) daha önce deger olmadıgı zaman hiç yazmasın diye eğer ehatalıysa konusu altında başlık attım ama gittgimi yol dogru de.gil miş diye tekrardan bir uyarı alınca konunun üzerine fazla gitmemiştim. Ama sizki demeden kendi işiniz gibi ugraşıyor olmanız büyük takdirlerimi aldı onun için tekrar tekrar teşekkür ediyorum sihirli degnek gibi yaptıgınız bypas formuller resmen excel dosya mı iha etti şirkettenden çok büyük takdir aldım sayenizde hocam. kızmasanız son rutuslarıda sizle beraber tamam etmek isterim. :)
 
Hocam elinize kolanıza saglık bundan iyisi can sağlığı parmak okutma cihazı kullananlar için harika bir excel dosyası oldu bir önceki versiyondan daha hızlı olmuş dediginiz gibi her şey göz önünde olmuş excel excel hakikaketen büyük bir program ve onu kullanması çok ayrı bir bilgi birikim istiyor. Hocam bir öneriniz var mı bu exceli tam olarak ögrenmek için hangi yolu takip etmeliyiz.
 
Geri
Üst