Tarihler Arası Çıkarma İşlemi

Katılım
18 Ocak 2007
Mesajlar
3
Excel Vers. ve Dili
office 2003
merhaba arkadaşlar sizlere gene bir problemimden bahsetmek istiyorum problem asagıdaki gibidir;

Tarih:
28.02.2007 - 21.12.1994 = sonucu bana 7.-10.13 olarak veriyor halbuki bunun doğrusu söyle olması gerekiyor 7.02.12 bunu nasıl formüle edebilirim ? ilginiz ve çabalarınız için simdiden teşekkür ederim

iyi çalışmalar.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
merhaba arkadaşlar sizlere gene bir problemimden bahsetmek istiyorum problem asagıdaki gibidir;

Tarih:
28.02.2007 - 21.12.1994 = sonucu bana 7.-10.13 olarak veriyor halbuki bunun doğrusu söyle olması gerekiyor 7.02.12 bunu nasıl formüle edebilirim ? ilginiz ve çabalarınız için simdiden teşekkür ederim

iyi çalışmalar.

=CONCATENATE(YEAR(B2-A2)-1900;" YIL, ";MONTH(B2-A2)-1;" AY, ";DAY(B2-A2);" GÜN")

Formülünden;

12 YIL, 2 AY, 9 GÜN

bulunur.

CONCATENATE = BİRLEŞTİR
YEAR = YIL
MONTH = AY
DAY = GÜN
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Bu formüle göre 12 yıl 2 ay 7 gündür.

A1=28.02.2007
B1=21.12.1994

=ETARİHLİ(B1;A1;"y") & " yıl " & ETARİHLİ(B1;A1;"ym") & " ay "& ETARİHLİ(B1;A1;"MD") & " gün"
 

Merhum İdris SERDAR

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

=CONCATENATE(INT((B2-A2)/365,25);" YIL, ";INT(MOD((B2-A2);365,25)/(365,25/12));" AY, ";INT(MOD(MOD((B2-A2);365,25);(365,25/12)));" GÜN")

12 YIL, 2 AY, 8 GÜN bulunur.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Buna göre de;

=CONCATENATE(INT((B2-A2)/365,25);" YIL, ";INT(MOD((B2-A2);365,25)/(365,25/12));" AY, ";INT(MOD(MOD((B2-A2);365,25);(365,25/12)));" GÜN")

12 YIL, 2 AY, 8 GÜN bulunur.

Kod:
Function Tarihfarkı(KüçükTarih As Date, BüyükTarih As Date) As String
Dim years, months, days, m
 
    years = Year(BüyükTarih) - Year(KüçükTarih)
    If Month(KüçükTarih) > Month(BüyükTarih) Then
        years = years - 1
    End If
 
    If Month(BüyükTarih) < Month(KüçükTarih) Then
        months = 12 - Month(KüçükTarih) + Month(BüyükTarih)
       Else
        months = Month(BüyükTarih) - Month(KüçükTarih)
    End If
 
    If Day(BüyükTarih) < Day(KüçükTarih) Then
        months = months - 1
        If Month(BüyükTarih) = Month(KüçükTarih) Then
            years = years - 1
            months = 11
        End If
    End If
 
    days = Day(BüyükTarih) - Day(KüçükTarih)
    If days < 0 Then
        m = CInt(Month(BüyükTarih)) - 1
        If m = 0 Then m = 12
        Select Case m
            Case 1, 3, 5, 7, 8, 10, 12
                days = 31 + days
            Case 4, 6, 9, 11
                days = 30 + days
            Case 2
                If (Year(BüyükTarih) Mod 4 = 0 And Year(BüyükTarih) _
                    Mod 100 <> 0) Or Year(BüyükTarih) Mod 400 = 0 Then
                    days = 29 + days
                   Else
                    days = 28 + days
                End If
        End Select
    End If
    Tarihfarkı = CStr(years) + " Yıl " + CStr(months) _
        + " Ay " + CStr(days) + " Gün "
End Function

Kullanıcı tanımlı fonksiyona göre yine 12 yıl 2 ay 7 gündür.
 

Merhum İdris SERDAR

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

12 YIL 2 AY 8 GÜN bulunur.

Dosya ekte.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Sn yurttas a&#351;a&#287;&#305;daki linkteki sayfadan hesaplay&#305;n. Buradada 12 y&#305;l 2 ay 7 g&#252;n olarak hesapl&#305;yor.

http://www.timeanddate.com/date/duration.html


Fark en son i&#231;erir olursa hesaplama de&#287;i&#351;iyor. 12 y&#305;l 2 ay 8 g&#252;n olur ama Excel'in yerle&#351;ik fonksiyonlar&#305; ve kullan&#305;c&#305; tan&#305;ml&#305; fonksiyon ile fark ediyor.
 

Merhum İdris SERDAR

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

Bunu biliyorum.

En basit matematiksel işlemle yani, (28.02.2007) - (21.12.1994) = 7 gün, 2 ay,12 yıl çıkar.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
=CONCATENATE(YEAR(B2-A2)-1900;" YIL, ";MONTH(B2-A2)-1;" AY, ";DAY(B2-A2);" GÜN")

Formülünden;

12 YIL, 2 AY, 9 GÜN

bulunur.

CONCATENATE = BİRLEŞTİR
YEAR = YIL
MONTH = AY
DAY = GÜN

yurttas' Alıntı:
Bakkal hesabı ile

12 YIL 2 AY 8 GÜN bulunur.

Sn yurttas aşağıdaki linkteki sayfadan hesaplayın. Buradada 12 yıl 2 ay 7 gün olarak hesaplıyor.

Sadece bir fark var onun ortaya çıkması için belirttim.Sorunun ortaya çıkması için dedim.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Sadece bir fark var onun ortaya çıkması için belirttim.Sorunun ortaya çıkması için dedim.
Sayın Ali Bey,

Neden alındığınızı anlayamadım. Ben bunu deyim yerindeyse eğlence olsun diye ve hep sizin bulduğunuz sonuçlara uymayan sonuçlar vererek şaka yapmak istedim.

Konuyu yukarıdan aşağı incelerseniz durum daha iyi ortaya çıkacak.

Siz kullanıcı tanımlı fonksiyonla bana yanıt verdiğinizde, ben bakkal hesabını öne sürdüm. (Tezat1)

Şimdi, gerek mesleğiniz gereği ve gerekse Excel'e olan hakimyetiniz karşısında bakkal hesabının lafı mı olur yani?

Siz gelişmiş profesyonelce hazırlanmış bir linkten hesaplamayı verirken, ben basit bir matematiksel çıkarma işlemi sundum. (Tezat2)

Sizin kapasitenizin ne çapta olduğunu herhalde biliyorum.

Ama öyle anlaşılıyorki bilmeden sizi üzmüşümdür.

O zaman sürçü lisan ettiysem affola...
 
Katılım
27 Aralık 2007
Mesajlar
5
Excel Vers. ve Dili
office xp türkçe
arkadaşlar bende burdaki formüllerin hiçbirisi olmuyor benim aradığım drek pratik formüller mesela
01.01.1981
01.01.2008 tarihleri çıkacak çıkınca ortaya 27 yıl çıkacak ve ben ayları veyağı tarihleri değiştirdiğim zaman otomatik 27-28-29 yaşında gibi değiştirecek

benim yapmak istediğim 2 sütunda ilk sutuna 01,01,1981 ikinci sutunada 01,01,2008 tarihini yazacağım ve bunu gizleyeceğim ilk sütundaki 01,01,1981 tarihini değiştirdiğim zaman 3 sütnda drek olarak yaşını yazacak ben sadece 1 sütundaki tarihi değiştirdiğimde 3 sütüna yaşı vermesi yeterli olacak boyle bir excle yapamadım nette buldum bir tane öyle ama onada koruma koymuşlar formüllerini alamadım yardımcı olursanız çok sevinirim

örnek birisi yapmış ekledim böyle birşey arıyorum
 
Son düzenleme:
Katılım
3 Ocak 2006
Mesajlar
43
Excel Vers. ve Dili
2007
İngilizce
&#214;ncelikle de&#287;erli ustalara verdikleri bilgiler i&#231;in te&#351;ekk&#252;r ederim.

Sn. recep24ank

A1 = 01.01.1981
B1 = 01.01.2008

olsun, buna g&#246;re form&#252;l&#252;n&#252;z;

=YUVARLA(((B1-A1)/365,25);0)

olacakt&#305;r. Tabii form&#252;l yazd&#305;&#287;&#305;n&#305;z h&#252;cre format&#305; say&#305; olmal&#305;d&#305;r.
 
Katılım
27 Aralık 2007
Mesajlar
5
Excel Vers. ve Dili
office xp türkçe
t&#351;k karde&#351; ama bir iste&#287;im daha olacak ben &#351;imdi 16.06.1979 dogumluyum 01.01.2008 tarihi itibari ile bu form&#252;le g&#246;re &#231;&#305;karma yapt&#305;g&#305;mda 29 ya&#351; g&#246;steriyor ama ben 28 ya&#351;&#305;nday&#305;m ay itibari ile dolmad&#305;&#287;&#305; i&#231;in ne yapmam gerekiyor
 
Katılım
3 Ocak 2006
Mesajlar
43
Excel Vers. ve Dili
2007
İngilizce
Sn. recep24ank

E&#287;er ondal&#305;kl&#305; veya y&#252;zdelikli g&#246;stermek istiyorsan&#305;z : "28,54" gibi

=YUVARLA(((B1-A1)/365,25);2)

yaz&#305;n&#305;z. Form&#252;lde sonda yazan 2 rakam&#305; virg&#252;lden sonra ka&#231; hane olaca&#287;&#305;n&#305; belirtir.

Yok e&#287;er ya&#351;&#305;m dolmadan ondal&#305;kl&#305; veya y&#252;zdelikli g&#246;stermesin diyorsan&#305;z. Yani yaln&#305;zca "28" yazs&#305;n diyorsan&#305;z.

=A&#350;A&#286;IYUVARLA(((B1-A1)/365,25);0)

yaz&#305;n&#305;z.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
tşk kardeş ama bir isteğim daha olacak ben şimdi 16.06.1979 dogumluyum 01.01.2008 tarihi itibari ile bu formüle göre çıkarma yaptıgımda 29 yaş gösteriyor ama ben 28 yaşındayım ay itibari ile dolmadığı için ne yapmam gerekiyor

A1 hücrenizde 16.06.1979
B1 hücrenizde 01.01.2008 olsun

=ETARİHLİ(A1;B1;"y")

yazın.

Yıl,ay,gün olarak görmek istiyorsanızda

=ETARİHLİ(A1;B1;"y") & " yıl " & ETARİHLİ(A1;B1;"ym") & " ay "& ETARİHLİ(A1;B1;"MD") & " gün"

yazınız.

Yukarıdaki mesajlardada bununla ilgili formüller var.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
tşk kardeş ama bir isteğim daha olacak ben şimdi 16.06.1979 dogumluyum 01.01.2008 tarihi itibari ile bu formüle göre çıkarma yaptıgımda 29 yaş gösteriyor ama ben 28 yaşındayım ay itibari ile dolmadığı için ne yapmam gerekiyor
Ekteki örneği inceleyin.

.
 
Katılım
27 Aralık 2007
Mesajlar
5
Excel Vers. ve Dili
office xp türkçe
&#231;ok t&#351;k karde&#351; tamda boyle bir&#351;ey ar&#305;yordum eme&#287;i ge&#231;en herkese &#231;ok t&#351;k ediyorum allah kolayl&#305;k uzun &#246;m&#252;r versin
 
Üst