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.
 

hüseyintok

Altın Üye
Katılım
11 Mart 2020
Mesajlar
68
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
42,151
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