her ayın 15i yoksa 16sı

Katılım
14 Eylül 2024
Mesajlar
1
Excel Vers. ve Dili
2016 TR
Herkese merhabalar chatgpt dahil her yerde bunu aradım ama bir türlü beceremedim. Yardımcı olacak var ise sevinirim.

A sütununda 2019 dan 2024 e kadar borsanın açık olduğu tarihler var
B sütununda ilgili güne denk gelen fiyatlar var.
C sütununa her ayın 1indeki fiyatı yazdırmak istiyorum fakat 1. gün yok ise 2. günü yazsın oda yok ise 3. günü yazsın.

iç içe =eğer() kullanarak 1. 2. 3. günleri yazdırabiliyorum fakat 1. gün var ise 2. ve 3. günü yazsın istemiyorum.
 
Katılım
11 Mart 2020
Mesajlar
87
Altın Üyelik Bitiş Tarihi
11-03-2025
Herkese merhabalar chatgpt dahil her yerde bunu aradım ama bir türlü beceremedim. Yardımcı olacak var ise sevinirim.

A sütununda 2019 dan 2024 e kadar borsanın açık olduğu tarihler var
B sütununda ilgili güne denk gelen fiyatlar var.
C sütununa her ayın 1indeki fiyatı yazdırmak istiyorum fakat 1. gün yok ise 2. günü yazsın oda yok ise 3. günü yazsın.

iç içe =eğer() kullanarak 1. 2. 3. günleri yazdırabiliyorum fakat 1. gün var ise 2. ve 3. günü yazsın istemiyorum.
Sub Borsa()
Dim ws As Worksheet
Dim lastRow As Long
Dim i As Long
Dim currentMonthYear As String
Dim firstValue As Variant

Set ws = ThisWorkbook.Sheets("Sayfa1")
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

For i = 2 To lastRow ' Başlık satırını atlamak için 2'den başlatıldı yoksa 1 yapın
ws.Cells(i, 4).Value = Format(ws.Cells(i, 1).Value, "mm-yyyy")
Next i

For i = 2 To lastRow
If IsEmpty(firstValue) And Not IsEmpty(ws.Cells(i, 2).Value) Then
firstValue = ws.Cells(i, 2).Value
End If

If ws.Cells(i, 4).Value = currentMonthYear And Not IsEmpty(firstValue) Then
ws.Cells(i, 3).Value = firstValue
End If

If ws.Cells(i, 4).Value <> currentMonthYear Then
currentMonthYear = ws.Cells(i, 4).Value
firstValue = Empty
End If
Next i
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,007
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Formülle alternatif...

Aradığınız tarileri E sütununa yazdığınızı varsaydım.

DİZİ formüldür... (Ctrl+Shift+Enter tuş kombinasyonu ile formül girişini tamamlayınız...)

C++:
=İNDİS(B:B;KAÇINCI(MİN(EĞER(A:A>=E1;A:A));A:A;0))
 
Üst