belirlenen tarihler arasını otomatik doldurma

Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
tablo 1 deki sarı kutudaki tarihleri başka tablodan çekiyorum, diğer kutular formülle doluyor (yıl sonu, yıl başı formülü) tablo 1 i tablo 2 ye otomatik çeviren bir formül yazılabilir mi.

(tablo 1 deki 11.satırdaki hatayı da giderecek formül yazamadım henüz)

Özetle; dönem başı ve dönem sonu olarak yapılacak iki sütuna belirlediğim tarihlerin birbirini takip eder şekilde yerleştirilmesi nasıl mümkün olabilir.

Dönem başı Dönem sonu
15.11.2025 31.12.2025
01.01.2026 31.12.2026
01.01.2027 15.11.2027
15.11.2027 31.12.2027
01.01.2028 31.12.2028
01.01.2029 15.11.2029
15.11.2029

koyu siyah tarihleri X!A1 X!A2 X!A3 Vd. çeksin düzenli bir şekilde döngüyü ilk tarihten son tarihe kadar tamamlasın istiyorum.
Emekleriniz için teşekkür ederim.
 

Necdet

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

Dosya örneğini paylaşım sitelerinden birine kopyalayın, resim olarak kimsenin işine yaramaz.
Yardım almanız daha kolay olur.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,209
Excel Vers. ve Dili
Ofis 365 Türkçe
Excel dosyası demiştim, yardımcı olmak isteyen hiç kimse resimlere bakarak, yeni bir excel dosyası oluşturup üzerinde çalışmak istemez.
Kimsenin de buna zamanı olduğunu düşünmüyorum.
İyi geceler.
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Tabloluk iş yok aslında
Veriler:
15.11.2025
15.11.2027
15.11.2029

İstenen tablo:
Dönem başı Dönem sonu
15.11.2025 31.12.2025
01.01.2026 31.12.2026
01.01.2027 15.11.2027
15.11.2027 31.12.2027
01.01.2028 31.12.2028
01.01.2029 15.11.2029
15.11.2029

Saydığım üç tarihi bu şekilde dönem başı dönem sonu olarak başlayıp bitiren bir formül yeterli, mantığını anlasam yeter
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Sayın Necdet'in belirttiklerine katılıyorum ve eklediğiniz resimlerdeki çelişkiye dikkat çekmek istiyorum:

2. yani olmasını istediğim tablo diye belirttiğiniz tabloda ilk 3 sarı hücrenin altındaki hücreler bir önceki dönem sonundan sonraki gün iken sonraki 2 sarı hücreden sonraki tarihler önceki donem sonuyla aynı tarih olarak belirtilmişler.
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Sayın Necdet'in belirttiklerine katılıyorum ve eklediğiniz resimlerdeki çelişkiye dikkat çekmek istiyorum:

2. yani olmasını istediğim tablo diye belirttiğiniz tabloda ilk 3 sarı hücrenin altındaki hücreler bir önceki dönem sonundan sonraki gün iken sonraki 2 sarı hücreden sonraki tarihler önceki donem sonuyla aynı tarih olarak belirtilmişler.
Ordaki hatayı belirtmiştim ilk başta. Benim Manuel arayışlarım elle düzeltmeli, makrosuz ancak onu yapabiliyorum üzgünüm

tablo önemli değil. Tabloları da boşver

SORUM ŞU;

Veriler:
15.11.2025
15.11.2027
15.11.2029

İstenen tablo:
Dönem başı Dönem sonu
15.11.2025 31.12.2025
01.01.2026 31.12.2026
01.01.2027 15.11.2027
15.11.2027 31.12.2027
01.01.2028 31.12.2028
01.01.2029 15.11.2029
15.11.2029

Sadece Saydığım üç tarihi bu şekilde dönem başı dönem sonu olarak başlayıp bitiren bir formül yeterli,
 

sbayyigit

Altın Üye
Katılım
11 Aralık 2004
Mesajlar
409
Excel Vers. ve Dili
Ms Office Pro Plus 2019
Altın Üyelik Bitiş Tarihi
23-02-2026
örnek dosyadaki formüllerden faydalanarak yapabilirsiniz.
 

Ekli dosyalar

Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Makrosuz çok zor reis, ben 3 tane tarih verince dahi (15.11.2025
15.11.2027
15.11.2029)

Aşağıdaki şekle getirecek formül olacaksa eğer ler kullanılmalı bi sürü

15.11.2025 31.12.2025
01.01.2026 31.12.2026
01.01.2027 15.11.2027
15.11.2027 31.12.2027
01.01.2028 31.12.2028
01.01.2029 15.11.2029
15.11.2029
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Sayın Necdet'in belirttiklerine katılıyorum ve eklediğiniz resimlerdeki çelişkiye dikkat çekmek istiyorum:

2. yani olmasını istediğim tablo diye belirttiğiniz tabloda ilk 3 sarı hücrenin altındaki hücreler bir önceki dönem sonundan sonraki gün iken sonraki 2 sarı hücreden sonraki tarihler önceki donem sonuyla aynı tarih olarak belirtilmişler.
Aslında hata değil excelin mantığı bu şekilde
1.01.2027 15.11.2027 0,872222222
15.11.2027 31.12.2027 0,127777778
toplam. 1
Değer 1 yaptığı için sıkıntı yok
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Formülle nasıl yapılır bilmiyorum. Makroyla resimdeki gibi bir çözüm bulunabilir. Makro A2'den itibaren aşağı doğru dönem başlarının olduğu durumda, D2'den itibaren dönemleri oluşturmak üzere ayarlanmıştır:

229059

229056
 
Son düzenleme:

NADİR YILDIZ

Altın Üye
Katılım
7 Ocak 2006
Mesajlar
1,284
Excel Vers. ve Dili
2016 Türkçe
Altın Üyelik Bitiş Tarihi
09-02-2026
Resimli kodlama ve anlatım gayet güzel olmuş üstad
aklınıza sağlık
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Canınız sağolsun reis ellerinize sağlık, sıkıntısız çalıştı maşallah) Allah razı olsun sizden
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Kod:
Sub tarihler()
sonA = Cells(Rows.Count, "A").End(3).Row

For donem = 2 To sonA - 1
    donemsonu = Cells(donem + 1, "A") - 1
10:
    yeni = Cells(Rows.Count, "D").End(3).Row + 1
    If yeni = 2 Then
        Cells(yeni, "D") = Cells(donem, "A")
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    Else
        Cells(yeni, "D") = Cells(yeni - 1, "E") + 1
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    End If
    If Cells(yeni, "E") < donemsonu Then GoTo 10
Next
Cells(yeni + 1, "D") = Cells(sonA, "A")
Range("D2:E" & yeni + 1).NumberFormat = "dd/mm/yyyy"
End Sub

01.01.2025

14.11.2025

15.11.2025

31.12.2025

01.01.2026

31.12.2026

01.01.2027

14.11.2027

15.11.2027

31.12.2027



Bu kod çok iyi yalnız bizim sürekli kullandığımız şekil aşağıdaki gibi : 15.11.2025 de kesip tekrar 15.11.2025ten başlaması mümkün kılınabilir mi ancak bu şekilde olursa bir tam yılı veriyor çünkü. yılda 1 gün eksik oluyor bu haliyle

1.1.2025​

15.11.2025​

15.11.2025​

31.12.2025​

1.1.2026​

31.12.2026​

1.1.2027​

15.11.2027​

15.11.2027​

31.12.2027​

 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Öncelikle örnek excel dosyasının neden önemli olduğunu umarım anlamışsınızdır.

Açıklamalarınızdan anlamadım ama örnek dosyanızdaki verilerden anladığım kadarıyla aşağıdaki kodları deneyiniz:

PHP:
Sub tarihler()
sonA = Cells(Rows.Count, "A").End(3).Row
sonD = Cells(Rows.Count, "D").End(3).Row
If sonD > 1 Then Range("D2:E" & sonD).Clear

For donem = 2 To sonA - 1
    donemsonu = Cells(donem + 1, "A")
10:
    yeni = Cells(Rows.Count, "D").End(3).Row + 1
    If yeni = 2 Then
        Cells(yeni, "D") = Cells(donem, "A")
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    ElseIf Cells(yeni - 1, "E") = Cells(donem, "A") Then
        Cells(yeni, "D") = Cells(donem, "A")
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
        Cells(yeni, "D").Interior.Color = vbYellow
    Else
        Cells(yeni, "D") = Cells(yeni - 1, "E") + 1
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    End If
    If Cells(yeni, "E") < donemsonu Then
        GoTo 10
    Else
        Cells(yeni - 1, "E") = Cells(yeni - 1, "E") - 1
    End If
Next
Cells(yeni + 1, "D") = Cells(sonA, "A")
Cells(yeni + 1, "D").Interior.Color = vbYellow
Range("D2:E" & yeni + 1).NumberFormat = "dd/mm/yyyy"
Range("D2:E" & yeni + 1).Borders.LineStyle = 1
End Sub
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
üstat ellerine sağlık istediğim şekilde olmuş ; bu seferde bazı yıl sonlarını 30.12.2024 gibi 30 unda bırakmış buna bir çözüm bulunabilir mi . tüm yıl sonlarının 31.12.2024 gibi 31ine bitmesi gerekiyor
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Aşağıdaki gibi deneyin:

PHP:
Sub tarihler()
sonA = Cells(Rows.Count, "A").End(3).Row
sonD = Cells(Rows.Count, "D").End(3).Row
If sonD > 1 Then Range("D2:E" & sonD).Clear

For donem = 2 To sonA - 1
    donemsonu = Cells(donem + 1, "A")
10:
    yeni = Cells(Rows.Count, "D").End(3).Row + 1
    If yeni = 2 Then
        Cells(yeni, "D") = Cells(donem, "A")
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    ElseIf Cells(yeni - 1, "E") = Cells(donem, "A") Then
        Cells(yeni, "D") = Cells(donem, "A")
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
        Cells(yeni, "D").Interior.Color = vbYellow
    Else
        Cells(yeni, "D") = Cells(yeni - 1, "E") + 1
        Cells(yeni, "E") = WorksheetFunction.Min(DateSerial(Year(Cells(yeni, "D")), 12, 31), donemsonu)
    End If
    If Cells(yeni, "E") < donemsonu Then
        GoTo 10
    End If
Next
Cells(yeni + 1, "D") = Cells(sonA, "A")
Cells(yeni + 1, "D").Interior.Color = vbYellow
Range("D2:E" & yeni + 1).NumberFormat = "dd/mm/yyyy"
Range("D2:E" & yeni + 1).Borders.LineStyle = 1
End Sub
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Hocam Allah razı olsun sizden, çok teşekkür ederim, çok güzel çalışıyor
 
Katılım
20 Ağustos 2018
Mesajlar
25
Excel Vers. ve Dili
2010 c++
Altın Üyelik Bitiş Tarihi
26-07-2022
Üstat ek olarak bir ay sıralamasına daha ihtiyacım var. asgari ücret hesabı için ,2016 öncesi yılda iki kez değiştiği için yılık tabloyu kullanamıyorum. Aşağıdaki tablonun 3.sayfasına açıklamayı yazdım. Size zahmet, baya zaman alıcı bir işlem sürekli manuel yazmak benim için ,
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu sorunuz bu konu başlığının devamı mı yoksa ayrı bir konu mu?
 
Üst