Sonraki ayda aynı gün yoksa ayın son gününü versin

Katılım
16 Nisan 2007
Mesajlar
27
Excel Vers. ve Dili
2010 TR
merhaba,
Gecikme zammı hesabında kullanmak için aşağıda açıkladığım sorunu çözmek için formüle ihtiyacım var.

=Tarih(yıl(a1);ay(a1)+1;gün(a1))
formülü ile bir tarihe 1 ay ilave edince sonraki ayda öyle bir gün yoksa (Şubat 29,30,31 ve bazı aylarda 31) bir ay daha sonraki ilk güne gidiyor.

Ben ise ayın son gününde kalmasını istiyorum.

Örnek olarak 29.01.2011 tarihine 1 ay ilave edince 01.03.2011 oluyor.
Ama ayın son günü olan 28.02.2011 de kalmasını istiyorum. 31.01.2011 tarihinde ise 03.03.2011 tarihine gidiyor.

=Tarih(yıl(a1);ay(a1)+1;gün(a1)) formülünde ayın son gününü geçen tarih yoksa düzgün çalışıyor.

Örnek olarak verdiğim tarihler:

15.01.2010 + 1 Ay ==> 15.02.2010 olmalı
01.01.2010 + 1 Ay ==> 01.02.2010 olmalı
29.01.2010 + 1 Ay ==> 28.02.2010 olmalı
30.01.2010 + 1 Ay ==> 28.02.2010 olmalı
31.01.2010 + 1 Ay ==> 28.02.2010 olmalı
31.03.2010 + 1 Ay ==> 30.04.2010 olmalı
29.02.2010 + 1 Ay ==> 29.03.2010 olmalı
27.05.2010 + 1 Ay ==> 27.06.2010 olmalı
30.01.2008 + 1 Ay ==> 29.02.2010 olmalı

Excel 2003 uyumlu formül olması gerekiyor.

Teşekkürler
 
Katılım
26 Aralık 2005
Mesajlar
86
Excel Vers. ve Dili
excel 2007 ingilizce
Merhaba,

=IF(DAY(A1)>DAY(DATE(YEAR(A1);MONTH(A1)+2;1)-1);TEXT((DATE(YEAR(A1);MONTH(A1)+2;1)-1);"gg.aa.yyyy");TEXT(DATE(YEAR(A1);MONTH(A1)+1;DAY(A1));"gg.aa.yyyy"))

yukarıdaki formülü deneyiniz.

IF = EĞER
DAY= GÜN
DATE= TARİH
YEAR = YIL
MONTH = AY
TEXT = METNE ÇEVİR

kolay gelsin.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,307
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki formülü denermisiniz.

Kod:
=EĞER(AY(TARİH(YIL(A1);AY(A1)+1;GÜN(A1)))-AY(A1)>1;TARİH(YIL(A1);AY(A1)+2;0);TARİH(YIL(A1);AY(A1)+1;GÜN(A1)))
 
Katılım
16 Nisan 2007
Mesajlar
27
Excel Vers. ve Dili
2010 TR
Sayın Korhan Ayhan verdiğiniz formül sorunsuz çalışıyor ve hatalı sonuç üretmedi. cevabımı aldım.

sayın nevermore verdiğiniz formül hata verdi. Türkçe'ye çevirdim ama olmadı. #AD? hatası verdi.
Kod:
=EĞER(GÜN(A1)>GÜN(TARİH(YIL(A1);AY(A1)+2;1)-1);METNEÇEVİR((TARİH(YIL(A1);AY(A1)+2;1)-1);"gg.aa.yyyy");METNEÇEVİR(TARİH(YIL(A1);AY(A1)+1;DA Y(A1));"gg.aa.yyyy"))
İlginizden dolayı çok teşekkür ederim.
 
Katılım
26 Aralık 2005
Mesajlar
86
Excel Vers. ve Dili
excel 2007 ingilizce
Merhaba,
Sorunsuz çalışıyor. Türkçe fonksiyon isimlerini bir daha kontrol edermisiniz.

kolay gelsin.
 
Katılım
16 Nisan 2007
Mesajlar
27
Excel Vers. ve Dili
2010 TR
DAY yazan bir yerde boşluk varmış DA Y yazıyor o nedenle çalışmamış. şimdi çalışıyor. Teşekkürler.
 
Üst