• DİKKAT

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

Doğum tarihine kaç gün var =YERİNEKOY

  • Konbuyu başlatan Konbuyu başlatan SAMACLN
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Temmuz 2019
Mesajlar
7
Excel Vers. ve Dili
2016 TR
Herkese Merhabalar;

Doğum tarihi takibi için bir listem var, Bu liste için kullandığım formül;

=YERİNEKOY(TARİH(YIL(BUGÜN())+(BUGÜN()>TARİH(YIL(BUGÜN());AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-BUGÜN()&" Gün Kaldı";"0 Gün Kaldı";"Doğumgünü BUGÜN")

formülünü kullanıyorum fakat bir sorunum var.
bazı doğum tarihlerinde sonuç atıyorum *209 gün kaldı* yazarken bazılarında ise *7 BUGÜN DOĞUM GÜNÜ* yazıyor halbuki *70 gün kaldı* yazması gerekiyor.
Bu linke tıklayarak sorunum ile ilgili fotoğrafa ulaşabilirsiniz Fotoğrafta kırmızı yerlerde herşey güzelken mavi yerlerde gördüğünüz gibi


*** LÜTFEN BANA YARDIMCI OLUN ***
 
Selamlar,
Formülünüzle önce, aradaki gün farkı hesaplanıp " Gün Kaldı" ile birleştiriliyor. Örneğinizde 190 Gün Kaldı.
YERİNEKOY ile de sonu 0 ile biten (10, 20, 30 ....gibi ve örneğinizde de 190) değerlerin, yani "0 Gün Kaldı" değerlerinin "Doğumgünü BUGÜN" ile değiştirilmesi işlemi yapılıyor. Örneğinizdeki 190 Gün Kaldı daki 0 Gün Kaldı yerine değişiklik yapıldığında 19Doğumgünü BUGÜN olmakta.
Formülünüzü

=EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN";TARİH(YIL(BUGÜN())+(BUGÜN()>TARİH(YIL(BUGÜN());AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-BUGÜN()&" Gün Kaldı")

şeklinde revize edebilirsiniz....

Alternatif olarak da
=EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN";ETARİHLİ(BUGÜN();TARİH(YIL(BUGÜN());AY(B2);GÜN(B2));"yd")&" Gün Kaldı")

formülünü de kullanabilirsiniz.

Not : Kişisel Tavsiyemdir.
BUGÜN() işlevi Volatile (Uçucu, Oynak nasıl tercüme edilir bilemem ama) işlevdir. Her defasında sayfanın yeniden hesaplatılmasını gerektirir.
O nedenle performans açısından, sayfanızın BOŞ herhangi bir hücresine =BUGÜN() yazıp Bugünün tarihini yazdırıp formüllerdeki BUGÜN() yerine de o hücreyi referans verin. (Örneğin D1 hücresine Bugünün tarihini yazın... Bu durumda formülünüz =EĞER(ETARİHLİ(B2;$D$1;"md")=0;"Doğum Günü BUGÜN";TARİH(YIL($D$1)+($D$1>TARİH(YIL($D$1);AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-$D$1&" Gün Kaldı") şeklinde olacaktır)
 
Merhaba,

Doğum günü ile kaç gün kaldığını sadece gün olarak verir. Değer 0 ise o gün doğum günüdür. Bunu kontrol etmedim. Siz ekleyiniz.

Doğum tarihinin A2 hücresinde olduğunu varsayarsak :

Kod:
=MUTLAK(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN())

Sütunu da Özel Hücre Biçimlendirme - İsteğe Uyarlanmış - Tür:
Kod:
0" Gün Kaldı";;"Bugün Doğum Günü"
olarak biçimlendirin.
 
Son düzenleme:
Selamlar,
Formülünüzle önce, aradaki gün farkı hesaplanıp " Gün Kaldı" ile birleştiriliyor. Örneğinizde 190 Gün Kaldı.
YERİNEKOY ile de sonu 0 ile biten (10, 20, 30 ....gibi ve örneğinizde de 190) değerlerin, yani "0 Gün Kaldı" değerlerinin "Doğumgünü BUGÜN" ile değiştirilmesi işlemi yapılıyor. Örneğinizdeki 190 Gün Kaldı daki 0 Gün Kaldı yerine değişiklik yapıldığında 19Doğumgünü BUGÜN olmakta.
Formülünüzü

=EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN";TARİH(YIL(BUGÜN())+(BUGÜN()>TARİH(YIL(BUGÜN());AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-BUGÜN()&" Gün Kaldı")

şeklinde revize edebilirsiniz....

Alternatif olarak da
=EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN";ETARİHLİ(BUGÜN();TARİH(YIL(BUGÜN());AY(B2);GÜN(B2));"yd")&" Gün Kaldı")

formülünü de kullanabilirsiniz.

Not : Kişisel Tavsiyemdir.
BUGÜN() işlevi Volatile (Uçucu, Oynak nasıl tercüme edilir bilemem ama) işlevdir. Her defasında sayfanın yeniden hesaplatılmasını gerektirir.
O nedenle performans açısından, sayfanızın BOŞ herhangi bir hücresine =BUGÜN() yazıp Bugünün tarihini yazdırıp formüllerdeki BUGÜN() yerine de o hücreyi referans verin. (Örneğin D1 hücresine Bugünün tarihini yazın... Bu durumda formülünüz =EĞER(ETARİHLİ(B2;$D$1;"md")=0;"Doğum Günü BUGÜN";TARİH(YIL($D$1)+($D$1>TARİH(YIL($D$1);AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-$D$1&" Gün Kaldı") şeklinde olacaktır)



Selamlar;
Öncelikle yazdığın yazıdaki emeğin için çok teşekkür ederim.

benim normlade kullandığım YERİNEKOY formülünün "0 Gün Kaldı" kısmında ki yerde 0 ile tırnak arasına boşluk koyarak " 0 Gün Kaldı" bu şekilde yaptım ve diğerleri de düzeldi bu sorun yaratır mı yani formül bu şekilde oldu.

=YERİNEKOY(TARİH(YIL(BUGÜN())+(BUGÜN()>TARİH(YIL(BUGÜN());AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-BUGÜN()&" Gün Kaldı";" 0 Gün Kaldı";"Doğumgünü BUGÜN")

sizin verdiğiniz tüm formüller de doğru bir şekilde çalıştı.
fakat en son kısımdki Volatile diye ifade ettiğiniz. Her defasında sayfanın yeniden hesaplatılmasını gerektirir. dediğiniz yeri tam anlayamadım.

hangi formülü kullanmam daha doğru olur benim kendi formülümdeki düzeltme mi yoksa sizdeki formülerden birini mi ?
şimdiden teşekkür ederim
 
Merhaba,

Doğum günü ile kaç gün kaldığını sadece gün olarak verir. Değer 0 ise o gün doğum günüdür. Bunu kontrol etmedim. Siz ekleyiniz.

Doğum tarihinin A2 hücresinde olduğunu varsayarsak :

Kod:
=MUTLAK(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN())

Sütunu da Özel Hücre Biçimlendirme - İsteğe Uyarlanmış - Tür:
Kod:
0" Gün Kaldı";;"Bugün Doğum Günü"
olarak biçimlendirin.

Merhaba;
Sizin cevabınızı tam olarak anlayamadım.
 
Alternatif 1
Doğum günü geçmişse BOŞ bırakıyor

=EĞER(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()<0;"";EĞER(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()=0;"Bugün Doğum Günü";TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()&" Gün Kaldı"))

Alternatif 2
Doğum günü geçmişse, bir sonraki yıla göre kaç gün kaldığını da söylüyor

=EĞER(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()<0;TARİH(YIL(BUGÜN())+1;AY(A2);GÜN(A2))-BUGÜN() &" Gün Kaldı";EĞER(TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()=0;"Bugün Doğum Günü";TARİH(YIL(BUGÜN());AY(A2);GÜN(A2))-BUGÜN()&" Gün Kaldı"))
 
Valla hepinizden Allah razı olsun.

hangi formülü kulanacağımı şaşırdım hangisi daha doğru olur ve daha düzgün çalışır?
 
benim normlade kullandığım YERİNEKOY formülünün "0 Gün Kaldı" kısmında ki yerde 0 ile tırnak arasına boşluk koyarak " 0 Gün Kaldı" bu şekilde yaptım ve diğerleri de düzeldi bu sorun yaratır mı yani formül bu şekilde oldu.

=YERİNEKOY(TARİH(YIL(BUGÜN())+(BUGÜN()>TARİH(YIL(BUGÜN());AY(B2);GÜN(B2)));AY(B2);GÜN(B2))-BUGÜN()&" Gün Kaldı";" 0 Gün Kaldı";"Doğumgünü BUGÜN")

sizin verdiğiniz tüm formüller de doğru bir şekilde çalıştı.

Selamlar,
Yaptığınız değişiklik sonu 0 ile bitenlerde de " 0 Gün Kaldı" şeklinde arar ve bulamaz sonuç ne ise onu yazar. 190 Gün için 190 Gün yazar. Fakat önemli olan şu ki, Bugün doğum günü olanlar için de Bugün doğum günü yazmaz ve 0 Gün Kaldı yazacaktır.

Ekteki dokumanı sizin verileri kullanarak hazırladım...
Yazdığım formülleri ve @Necdet tarafından önerilen Sayı biçimlendirmeli formülün kullanımını da ekledim...
(Bu arada, yazdığım formüllerde bir hatayı düzeltmem gerekir. EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN" .... Buradaki "md" ibaresi "yd" olarak değiştirilmelidir. Dokumanı hazırlarken fark ettim...)

Dokumanı incelersiniz... BUGÜN değeri de D1 hücresine yazıldı ve formüllerdeki BUGÜN() işlevi yerine $D$1 şeklinde yazıldı.

 
Selamlar,
Yaptığınız değişiklik sonu 0 ile bitenlerde de " 0 Gün Kaldı" şeklinde arar ve bulamaz sonuç ne ise onu yazar. 190 Gün için 190 Gün yazar. Fakat önemli olan şu ki, Bugün doğum günü olanlar için de Bugün doğum günü yazmaz ve 0 Gün Kaldı yazacaktır.

Ekteki dokumanı sizin verileri kullanarak hazırladım...
Yazdığım formülleri ve @Necdet tarafından önerilen Sayı biçimlendirmeli formülün kullanımını da ekledim...
(Bu arada, yazdığım formüllerde bir hatayı düzeltmem gerekir. EĞER(ETARİHLİ(B2;BUGÜN();"md")=0;"Doğum Günü BUGÜN" .... Buradaki "md" ibaresi "yd" olarak değiştirilmelidir. Dokumanı hazırlarken fark ettim...)

Dokumanı incelersiniz... BUGÜN değeri de D1 hücresine yazıldı ve formüllerdeki BUGÜN() işlevi yerine $D$1 şeklinde yazıldı.


Hayırlı Akşamlar
Formül içersinde BUGÜN() kullansak daha iyi olmazmı ?
yani neden tarihi ayrı bir hücreden referans alıyoruz?
 
Merhaba,

Formüllerde hata gördüm. Tarihin A1 hücresinde olduğu varsayılırsa :

Kod:
=EĞER(TARİH(YIL(BUGÜN());AY(A1);GÜN(A1))<BUGÜN();TARİH(YIL(BUGÜN())+1;AY(A1);GÜN(A1))-BUGÜN();BUGÜN()-TARİH(YIL(BUGÜN());AY(A1);GÜN(A1)))

Biçimlendirme yine ilk mesajımda olduğu gibidir.

52779 arkadaşımızın eklediği dosyada da hata vardı. Eğer kişinin doğum tarihi 1 ocak gibi yani geçerli tarihin ayı aynı ve günü de küçükse formüller hatalı çalışıyor.
 
Sadece merak ettim. #7 nolu mesajımdaki formüllerin sonucunda bir hata var mı? Biçimlendirmeye de ihtiyaç duymuyor.
 
Sadece merak ettim. #7 nolu mesajımdaki formüllerin sonucunda bir hata var mı? Biçimlendirmeye de ihtiyaç duymuyor.

Sayın NextLevel ben kendi ve 52779 nolu arkadaşın formülünden sözettim. Sanırım üzerinize alındınız. "Biçimlendirmeye de ihtiyaç duymuyor" diye.
 
@Necdet bey, Size değil, Sorunun sahibine sormak istemiştim. Yazdığım formülün hatalı işlem yapıp yapmadığını merak ettim.
 
Geri
Üst