• DİKKAT

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

[ÇÖZÜLDÜ] Bir zaman diliminden, başka bir zaman diliminin çıkarılması hk.

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
5 Nisan 2006
Mesajlar
449
Excel Vers. ve Dili
Office Excel 2003
TÜRKÇE
Ekte gönderdiğim dosyada anlatmaya çalıştım ama burada da kısaca belirteyim. 3 yıl 5 ay 14 günden, 2 yıl 10 ay 3 gün gibi bir süreyi yine YIL-AY-GÜN şeklinde görünecek şekilde çıkarmak istiyorum. İlgilenenlere minnettar olurum. Saygılarımla..
 
Tarih Çıkartma

Merhaba,

Anlaşamadığımız bir işlem var, onun haricinde anlaştık :)

1. Çıkartma Yıl :

Kod:
=ETARİHLİ(TARİH(D6;F6;H6);TARİH(D5;F5;H5);"Y")
1. Çıkartma Ay :

Kod:
=ETARİHLİ(TARİH(D6;F6;H6);TARİH(D5;F5;H5);"YM")
1. Çıkartma Gün : (bunda anlaşamadık)

Kod:
=ETARİHLİ(TARİH(D6;F6;H6);TARİH(D5;F5;H5);"MD")
 
Hocam teşekkür ederim. Bu formül ayı 31 gün olarak gördüğü için mi acaba böyle bir sonuç çıkarıyor. Başka bir yolu var mıdır. Saygılar....
 
Merhaba,

Excelde çareler tükenir mi?
Sizin için Kullanıcı Tanımlı Fonksiyon yazdım, sıcak sıcak kullanınız.

Eklenen dosyayı eklenti olarak saklayıp Araçlar, Eklenti den TarihC yi bulup çentiklerseniz tüm excel dosyanızda kullanabilirsiniz.

1 le belirtilenler Büyük Tarih (Çıkartılan), 2 ler küçük tarih (Çıkan)

Sonuç :

  1. Gün
  2. Ay
  3. Yıl
Kod:
Function TarihC(Yıl1, Ay1, Gün1, Yıl2, Ay2, Gün2, Sonuç As Integer)
If Gün1 < Gün2 Then
    Gün1 = Gün1 + 30
    Ay1 = Ay1 - 1
End If
If Ay1 < Ay2 Then
    Ay1 = Ay1 + 12
    Yıl1 = Yıl1 - 1
End If
If Yıl1 < Yıl2 Then
    TarihC = "Hatalı"
    Exit Function
End If
Gün1 = Gün1 - Gün2
Ay1 = Ay1 - Ay2
Yıl1 = Yıl1 - Yıl2
If Sonuç = 1 Then
    TarihC = Gün1
ElseIf Sonuç = 2 Then
    TarihC = Ay1
Else
    TarihC = Yıl1
End If
End Function
 
Hocam, excel'de &#231;areler sizin gibiler sayesinde t&#252;kenmez. Birazdan deneyece&#287;im ama bir sorum daha olacak, toplama yapmak istedi&#287;imizde ayn&#305; fonksiyonu k&#252;&#231;&#252;k bir de&#287;i&#351;iklikle kullanabilir miyiz acaba. Yoksa onun i&#231;in ayr&#305; bir fonksiyon mu yazmak gerekir. Sayg&#305;lar&#305;mla...
 
Toplamas&#305;n&#305; da yapar&#305;z :)
Bir ka&#231; saniyemize mal olur, isterseniz hemen yapay&#305;m.

Ama ben bunu size b&#305;rak&#305;yorum. Yukar&#305;daki kodda &#231;&#305;kartma de&#287;il toplama yapt&#305;racaks&#305;n&#305;z.
G&#252;n 29 dan b&#252;y&#252;k olunca, ay 11 den b&#252;y&#252;k olunca ilgili de&#287;i&#351;ikli&#287;i yapacaks&#305;n&#305;z.

Ne dersiniz?
 
Toplamasını da yaparız :)
Bir kaç saniyemize mal olur, isterseniz hemen yapayım.

Ama ben bunu size bırakıyorum. Yukarıdaki kodda çıkartma değil toplama yaptıracaksınız.
Gün 29 dan büyük olunca, ay 11 den büyük olunca ilgili değişikliği yapacaksınız.

Ne dersiniz?

:( vallahi hocam ne kadar isterdim yapabilmeyi. :(
 
Tarih Toplama

Merhaba,

Toplama da hazır.

Kod:
Function TarihT(Yıl1, Ay1, Gün1, Yıl2, Ay2, Gün2, Sonuç As Integer)
Gün1 = Gün1 + Gün2
If Gün1 > 29 Then
    Gün1 = Gün1 - 30
    Ay1 = Ay1 + 1
End If
Ay1 = Ay1 + Ay2
If Ay1 > 11 Then
    Ay1 = Ay1 - 12
    Yıl1 = Yıl1 + 1
End If
Yıl1 = Yıl1 + Yıl2
If Sonuç = 1 Then
    TarihT = Gün1
ElseIf Sonuç = 2 Then
    TarihT = Ay1
Else
    TarihT = Yıl1
End If
End Function
 
Son düzenleme:
Bende ona u&#287;ra&#351;&#305;yordum hocam ama maalesef ay ve y&#305;l&#305; yapt&#305;m g&#252;n&#252; tutturamad&#305;m. Elinize sa&#287;l&#305;k. Sayg&#305;lar&#305;mla...
 
G&#252;le g&#252;le kullan&#305;n&#305;z.
 
Merhaba,

Yaz&#305;m hatas&#305; yapt&#305;&#287;&#305;m i&#231;in y&#305;l&#305; toplam&#305;yordu,

Dosyay&#305; ve makroyu d&#252;zelttim, &#246;nceki mesajdan alabilirsiniz.
 
Evet hocam, &#305; ile 1 kar&#305;&#351;&#305;nca b&#246;yle olmu&#351; demekki. &#199;ok te&#351;ekk&#252;r eder sayg&#305;lar sunar&#305;m.....
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst