• DİKKAT

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

hizmet günü sayma formülü

Katılım
18 Aralık 2007
Mesajlar
6
Excel Vers. ve Dili
2003 türkçe
statlar merhaba,

Çoklu tarih ve isim listesinde yazılacak formülle ilk giriş günü ve çıkış gününe ; sonrasında bu tarihler arasında kaç gün olduğunu bulmayı formülle yazarak yardımcı olursanız sevinirim. istem 2530 satır isim ve tarihli. tek gün konaklamalarını 1 siye yazsın istiyorum.

Siz üstatlardan desteklerinizi rica ederim.

Saygılar.
 

Ekli dosyalar

Son düzenleme:
angelworld, Merhaba,
I2 hücresine aşağıdaki formülü yazarak aşağı doğru çoğaltabilirsin.
Kolay gelsin,
sward175

=ETARİHLİ(G2;H2;"md")
 
ozaman bir gün eksik çıkıyor . birde aynı isimden birden fazla olduğu için giriş ve giriş/çıkış günlerini otomatik getirmesi gerekiyor. tşk. nasıl formül uygulamamız lazım.?
 
Merhaba.

Önce tarih sütunundaki sorunu düzeltmek için (ikinci isme ait tarihler aslında tarih değil çünkü);
boş bir hücreye 0 yazın ve bu hücreyi kopyalayıp tarihlerin olduğu hücrelerin tümü seçiliyken
ÖZEL YAPIŞTIR -> TOPLA -> TAMAM şeklinde işlem yapın ve ardından bu alanın biçimini TARİH olarak ayarlayın.

Sonra;
-- G2 hücresine aşağıdaki dizi formülünü uygulayın.
(dizi formülü hücreye ENTER değil CTRL+SHIFT+ENTER tuşlarına birlikte basarak girilmelidir,
işlemi doğru yapmışsanız formülün başında ve sonunda kendiliğinden {...} şeklinde farklı parantez oluşur
)

-- H2 için aynı işlemi formüldeki MİN yerine MAK olarak değiştirerek yapın,
-- I2 hücresine de =H2-G2+1 formülünü uygulayın,
-- G2, H2 ve I2 'deki formülleri aşağı doğru kopyalayın.

Kod:
=MİN(EĞER($A$2:$A$112=F2;$B$2:$B$112))
 
Teşekkürler üstadım.Elinize Sağlık.Bilginiz katlanarak çoğalsın.:)
 
Makroyla çözüm isterseniz aşağıdaki kodları bir modüle kopyalayıp deneyiniz:

Kod:
Sub hizmet()

son = Cells(Rows.Count, "A").End(3).Row
eski = WorksheetFunction.Max(2, Cells(Rows.Count, "F").End(3).Row)
Range("F2:I" & eski).ClearContents
yeni = 2

For i = 2 To son
liste = WorksheetFunction.Max(2, Cells(Rows.Count, "F").End(3).Row)
If WorksheetFunction.CountIf(Range("F2:F" & liste), Cells(i, "A")) = 0 Then
    Cells(yeni, "F") = Cells(i, "A")
    Cells(yeni, "G") = Cells(i, "B")
    Cells(yeni, "H") = Cells(i, "B")
    Cells(yeni, "I") = Cells(yeni, "H") - Cells(yeni, "G") + 1
    yeni = yeni + 1
Else
    For j = 2 To liste
        If Cells(j, "F") = Cells(i, "A") Then
            Cells(j, "H") = Cells(i, "B")
            Cells(j, "I") = Cells(j, "H") - Cells(j, "G") + 1
        End If
    Next
End If
Next
    
End Sub
 
Geri
Üst