Soru tarih işlemi

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
G8 Hücresi : 0 Yıl 2 Ay 0 Gün
G9 Hücresi : 0 Yıl 4 Ay 16 Gün
G10 Hücresi : 0 Yıl 4 Ay 0 Gün
G11 Hücresi : 0 Yıl 8 Ay 26 Gün
G12 Hücresi : 0 Yıl 8 Ay 25 Gün
G13 Hücresi : TOPLAM YIL AY GÜN

Toplama formülü ya da makrosu her ikisi de olur. Rica etsem yardımcı olabilir misiniz?
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,058
Excel Vers. ve Dili
Office 2013 İngilizce

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Kullanıcı Tanımlı Fonksiyon Hazırladım.
Aşağıdaki kodları bir modüle kopyalayınız.
Kullanımı : =HizmetTopla(A1:A10) gibidir.
Kod:
Public Function HizmetTopla(Rng As Range)

    Dim Yil As Integer, _
        Ay  As Integer, _
        Gun As Integer, _
        d   As Variant, _
        Hcr As Range, _
        h   As String
    
    For Each Hcr In Rng
    
        h = Trim(Replace(Replace(Replace(Hcr, " Yıl", ""), " Ay", ""), " Gün", ""))
        d = Split(h, " ")
        Yil = Yil + d(0)
        Ay = Ay + d(1)
        Gun = Gun + d(2)
        
        If Gun > 30 Then
            Ay = Ay + 1
            Gun = Gun - 30
        End If
        If Ay > 12 Then
            Yil = Yil + 1
            Ay = Ay - 12
        End If
        
    Next Hcr
    
    HizmetTopla = Yil & " Yıl " & Ay & " Ay " & Gun & " Gün"
    
End Function
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
İdris Hocam Sitenizde ki hemen hemen tüm tarih dosyanızı indirdim. Ama beceremedim.
Necdet Hocam Eline koluna sağlık. Sağ ol, Var ol Çok çok teşekkür ederim.
Tamer42 hocam Kurum internet engelinden dolayı download edemedim. Rica etsem özel gönderdiğim adrese e-mail gönderebilir misiniz?
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

Eğer sizin verilerde yer alan:
G8 Hücresi : 0 Yıl 2 Ay 0 Gün
G9 Hücresi : 0 Yıl 4 Ay 16 Gün
G10 Hücresi : 0 Yıl 4 Ay 0 Gün
G11 Hücresi : 0 Yıl 8 Ay 26 Gün
G12 Hücresi : 0 Yıl 8 Ay 25 Gün

sonuçlar, formüllerin sonuçları ise, bunların başlangıç ve bitiş tarihleri muhakkak vardır. O zaman benim dosya işinize yarar. Değilse, yaramaz.

.
 
Katılım
6 Mart 2005
Mesajlar
6,233
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Formül Dizi formülü ctrl+Shift+ enter ile formülden çıkınız.G13 hücresine kopyalayınız.
Kod:
=TOPLA(EĞERHATA(0+PARÇAAL(G8:G12;BUL("Yıl ";$A126:$A130)-3;2);0))+TAMSAYI((TOPLA(EĞERHATA(0+PARÇAAL(G8:G12;BUL("Ay ";G8:G12)-3;2);0))+TAMSAYI(TOPLA(EĞERHATA(0+PARÇAAL(G8:G12;BUL("Gün";G8:G13)-3;2);0))/30))/12)&" Yıl "&MOD((TOPLA(EĞERHATA(0+PARÇAAL($A126:$A130;BUL("Ay ";G8:G12)-3;2);0))+TAMSAYI(TOPLA(EĞERHATA(0+PARÇAAL(G8:G12;BUL("Gün";G8:G12)-3;2);0))/30));12)&" Ay "&MOD(TOPLA(EĞERHATA(0+PARÇAAL(G8:G12;BUL("Gün";G8:G12)-3;2);0));30)&" Gün"
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Public Function HizmetTopla(Rng As Range)
Dim Yil As Integer, _
Ay As Integer, _
Gun As Integer, _
d As Variant, _
Hcr As Range, _
h As String
For Each Hcr In Rng
h = Trim(Replace(Replace(Replace(Hcr, " Yıl", ""), " Ay", ""), " Gün", ""))
d = Split(h, " ")
Yil = Yil + d(0)
Ay = Ay + d(1)
Gun = Gun + d(2)
If Gun > 30 Then
Ay = Ay + 1
Gun = Gun - 30
End If
If Ay > 12 Then
Yil = Yil + 1
Ay = Ay - 12
End If
Next Hcr
HizmetTopla = Yil & " Yıl " & Ay & " Ay " & Gun & " Gün"
End Function


Necdet Abi
Bu toplamanın çıkarması da mümkün müdür?
Ekleyebilir misiniz?
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Sayın Çıtır
Teşekkür ederim. Elinize sağlık. Sağ ol, Var ol
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Necdet Abi
Bu toplamanın çıkarması da mümkün müdür?
Ekleyebilir misiniz?
Merhaba,

Çıkarmaya bir örnek verir misiniz?
Sonradan uzun yazışmalara gerek kalmaması için sordum.
Bir süreden sonraki süreler mi çıkacak, yoksa tekli mi olacak ?
 

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Necdet Abi
8 Yıl 5 Ay 0 Gün
3 Yıl 0 Ay 0 Gün
8 Yıl 1 Ay 0 Gün
+-------------------
19 Yıl 6 Ay 0 Gün (2 Ay Fazla Veriyor Necdet Abi)


0 Yıl 2 Ay 0 Gün
0 Yıl 4 Ay 16 Gün
0 Yıl 4 Ay 0 Gün
0 Yıl 8 Ay 26 Gün
0 Yıl 8 Ay 25 Gün
+--------------------
2 Yıl 4 Ay 7 Gün (2 Ay Fazla Veriyor Necdet Abi)

Tarih çıkarma
19 Yıl 6 Ay 0 Gün
2 Yıl 4 Ay 7 Gün
- ------------------
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Tam tarih toplamlarında 2 ay fazla veriyor demişsiniz, inceledim öyle bir şeye denk gelmedim. Siz emin misiniz? Eminseniz verileri ve sonucu söyleyiniz. Ayrıca ben günü 30 gün olarak kabul ettim.

Fark için aşağıdaki kodları deneyiniz.

Kullanımı :

Kod:
= HizmetFark(A1;D1)
gibi, ilk tarihten ikincisini çıkartır.

Kod:
Function HizmetFark(Rng1 As Range, Rng2 As Range)

    Dim Y1  As Integer, _
        A1  As Integer, _
        G1  As Integer, _
        Y2  As Integer, _
        A2  As Integer, _
        G2  As Integer, _
        d1  As Variant, _
        d2  As Variant, _
        t   As String
    
        t = Trim(Replace(Replace(Replace(Rng1, " Yıl", ""), " Ay", ""), " Gün", ""))
        d1 = Split(t, " ")
        t = Trim(Replace(Replace(Replace(Rng2, " Yıl", ""), " Ay", ""), " Gün", ""))
        d2 = Split(t, " ")
        
        Y1 = d1(0): A1 = d1(1): G1 = d1(2)
        Y2 = d2(0): A2 = d2(1): G2 = d2(2)
        
        If G2 > G1 Then
            A1 = A1 - 1
            G1 = G1 + 30
        End If
        
        If A2 > A1 Then
            Y1 = Y1 - 1
            A1 = A1 + 12
        End If
        
            
    HizmetFark = "Fark : " & Y1 - Y2 & " Yıl " & A1 - A2 & " Ay " & G1 - G2 & " Gün"
  
End Function
 
Son düzenleme:

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,518
Excel Vers. ve Dili
2021 LTSC TR
Altın Üyelik Bitiş Tarihi
18-06-2026
Necdet Abi
Hakkını helal et
Ellerine sağlık. Çok çok teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,372
Excel Vers. ve Dili
Ofis 365 Türkçe
Güle güle kullanınız.
 
Üst