Bir sonraki ayın ilk günü

Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
Merhaba benim isteğim şu:

A1 hücresinde 01.01.2005 yazıyor

1) A2 hücresinde 1.2.2005, A3 de 1.3.2005 yani bir sonraki ayın ilk gününe denk gelecek ve bu şekilde devam edebilecek bi formül lazım bana,

2) B1 hücresinde ise 05.01.2005 yazıyor. Bu kez B2 hücresinde şubat kaç çekiyor ise o kadar arttıracak, B3 hücresinde mart kaç çekiyor ise o yazacak ve bu şekilde devam edecek bi formül lazım. Teşekkürler, saygılar ve iyi çalışmalar.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
a1 deki tarih ne ise b1 deki formülü yazın ve c1'e d1'e kopyalayın.
örnek dosya ektedir.
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın necdet yesertener göndermiş olduğunuz dosyadaki formül birinci sorumun cevabı oldu çok teşekkür ederim.sağolun.

ikinci soruma bir cevabınız varmı acaba. Saygılar iyi çalışmalar.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın ahmet_, ikinci soruyu görmemişim :) biraz kafa yorayım işlerden vakit bulabilirsem
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
Sayın necdet yesertener şöyle bir sorun ortaya çıktı formülü kopyalıyorum. ancak 01.12.2005 den sonra 01.01.2006 yazıyor sonra 01.02.2005 yazıyor. sebebini buldum manuel olarak formüldeki 2005' leri 2006 yaptığımda düzeliyor. fakat bunu otomatik olarak yapabilirmiyiz onu merak ettim ve daha iyi olacağı kanaatindeyim.

Saygılar iyi çalışmalar...
 
Katılım
1 Mart 2005
Mesajlar
249
İkinci sorunuzu formül ile değil de kodlarla yaptım. Sayfa üzerine koyduğum bir butonun kodları aşağıdadır. Burada 2.satırdan 100.satıra kadar işlem yaptırdım. Siz kendinize göre uyarlayabilrisiniz.
Formül olarak da yapmak isterseniz bu kodlarla Kullanıcı Tanımlı Fonksiyon oluşturup yapabiliriz. Aklıma gelen en kestirme çözüm bu.
Kod:
Private Sub CommandButton1_Click()
For i = 2 To 100
ay = DatePart("m", DateAdd("m", 1, Cells(i - 1, 2)))
yıl = DatePart("yyyy", DateAdd("m", 1, Cells(i- 1, 2)))
For k = 28 To 31
    yeni = DateAdd("d", k, "1/" & ay & "/" & yıl)
    If ay <> DatePart("m", yeni) Then Exit For
Next k
Cells(i, 2) = DateAdd("d", k, Cells(i - 1, 2))
Next i
End Sub
Eğer birinci sorunuz da halen devam ediyorsa aşağıdaki formülü A2 hücresine yapıştırın ve aşağıya doğru kopyalayın

=EÐER(AY(A1)<12;TARİH(YIL(A1);AY(A1)+1;1);TARİH(YIL(A1)+1;1;1))

İlave :D
=A1+GÜN(EoMonth(A1;1))
EoMonth işlevi var bende. O zaten yukarıdaki birinci sorunuza ait kodlarla verdiğim işi çözüyor.
Ben burada A sütununda işlem yaptırdım. Siz satır ve sütün etiketlerini de formülle oluşturarak güzel bir şekle de dönüştürebilirsiniz.
 

Necdet

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

Biraz dar düşününce formülde dar kapsamlı oluyor tabi :)
Þimdi ekteki dosyayı inceleyebilirsiniz.
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın cakonun vermiş olduğu formül sorumun cevabı oldu. çok teşekkür ederim.

visualden anlamadığım için kodlarla olan formüle bakmadım sayın cako. saygılar iyi çalışmalar.
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın cako, sayın necdet yesertener ek dosyada bir yerde takıldım. dosyada gerekli açıklamalar mevcut yardım edebilirmisiniz. teşekkürler.
 
Katılım
12 Haziran 2005
Mesajlar
95
Dosyanıza ben de baktım.
Formülün de değer hatası veriyor.
zaten bunu vermesi de normal.
A sütununda taksit sayısını vermemişsiniz.
O yüzden A31 için B31 hesaplandığında
=+EÐER(YADA(A32="";A32<=$C$2);B31+1;"") formül değer hatası vermek zorundadır.
Ben olsam bu işi şöyle yapardım.
A sütununu kaldırır, B sütuna formül koyar taksit sayısına göre hareket ederim. Ya da en güzeli bu işi makro ile yapmak ya, neyse siz bilirsiniz.
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın exelans hatamı gördüm. a stununa değerler yaıp rengini beyaz yapmış idim. diğer formüllerin üzerinde çalışırken bunu unutmuşum. şimdi farkettim. sayın cako ve sayın necdet yesertener kusura bakmayın vaktinizi boşa almış olabilirim.

Ancak c7 den başlayan tarih stununun yandaki b7 den başlayan taksit sayılarına göre dolması mümkünmü acaba. örneğin taksit adedine 10 yazdığımızda b stunu b16 ya kadar doluyor gerisi boş kalıyor. tarihlerinde c16 ya kadar olmasını ve aşağılarının boş kalmasını istiyorum. bunu nasıl halledebilirim. saygılar iyi çalışmalar.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
bende tam onu söyleyecektim ahmet, ama hatayı bulmuşsunuz :)
kolay gelsin
 
Katılım
12 Haziran 2005
Mesajlar
95
A sütununu unutun
B sütununa;
=+EÐER(SATIR()-6<=C$2;SATIR()-6;"")

C sütununa
=+EÐER(B7<=C$2;EÐER(AY(C$4)<12;TARİH(YIL(C$4);AY(C$4)+SATIR()-6;1);TARİH(YIL(C$4)+1;1;1));"")
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın exelans vermiş olduğunuz cevap tam olarak işime yaradı teşekkür ederim. çok sağolun birde şunu öğrenebilirmiyim acaba:

diğer bütün şartlar aynı kalmak şartı ile C4 hücresine 05.05.2005 yazdığımda b7 de 01.06.2005 yazıyor. şimdi ben C4 hücresine 05.05.2005 yazdığımda b7 hücresinde 05.06.2005 yazmasını istiyorum. yani C4 hücresine hangi tarihi yazarsam yazayım b7 de aynı gün ile başlayan bir sonraki ayı versin istiyorum. umarım anlatabilmişimdir teşekkürler iyi çalışmalar.

Birde B stununa yazdığımız
=+eğer(satır()-6<=C$2;satır()-6;"") formülünün mantığını bana yazabilirmisiniz.
satır()-6 ne demek?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,369
Excel Vers. ve Dili
Ofis 365 Türkçe
Sayın Ahmet Bey,
Kendi düşünceme göre dosyayı düzenledim, bakalım beğenecekmisiniz? :)
İyi Çalışmalar
 
Katılım
12 Haziran 2005
Mesajlar
95
=+EÐER(SATIR()-6<=C$2;SATIR()-6;"")

=Satır() fonksiyonu bu eşitliğin yazıldığı hücrenin satır numarasını verir.
Siz de dosyanızda taksit sayısı kadar tarih görmek istediğiniz için, yani B7 den itibaren başlayacaksa
Satır(B7)=7 dir. yada bu fonksiyonun bulunduğu ilk hücre olan B7 hücresinde sonuç 7 dir
B8 için 8, B9 için 9 diye devam eder.
Ben de C2 hücresindeki taksit sayısı kadar yazabilmek için
B7 hücresinde; Satır()-6=7-6=1 oluyor
B8 hücresinde; 8-6=2 vs..
Sanırım anlatabildim

Diğer sorunuz:
Zaten siz gönderdiğim şekilde yapınca yani C sütunu için vermiş olduğum
=+EÐER(B7<=C$2;EÐER(AY(C$4)<12;TARİH(YIL(C$4);AY(C$4)+SATIR()-6;1);TARİH(YIL(C$4)+1;1;1));"")
formülünü kullanınca istediğiniz oluyor.
 
Katılım
2 Mart 2005
Mesajlar
82
Excel Vers. ve Dili
office xp, türkçe
sayın exelans satır ile ilglili açıklamalarınız tatmin edici teşekkürler

Ancak yukaruda vermiş olduğunuz ve dosyada da var olan formülde C4 hücresine ne yazarsanız yazın bir sonraki ayın ilk gününü veriyor.yani 05.01.2005 yazın 01.02.2005 yazıyor. ben burada 05.02.2005 yazsın istiyorum.

Bi bakıma C4' e 05.05.2005 yazdığımda B7 de 05.06.2005, B8 de 05.07.2005 diye devam etmesi.

Teşekkürler iyi çalışmalar.
 
Katılım
12 Haziran 2005
Mesajlar
95
Pardon.
=+EÐER(B7<=C$2;EÐER(AY(C$4)<12;TARİH(YIL(C$4);AY(C$4)+SATIR()-6;GÜN(C$4);TARİH(YIL(C$4)+1;1;GÜN(C$4));"")
 
Katılım
12 Haziran 2005
Mesajlar
95
=+EÐER(B10<=C$2;EÐER(AY(C$4)<12;TARİH(YIL(C$4);AY(C$4)+SATIR()-6;GÜN(C$4));TARİH(YIL(C$4)+1;1;GÜN(C$4)));"")

denedim oldu. parantez hatası varmış. siz de balığı yemek yerine tutmaya çalışsanız bulurdunuz ama neyse.
 
Üst