tarihe en yakın tarihi bulma ve tutarı yazma

Katılım
9 Temmuz 2008
Mesajlar
277
Excel Vers. ve Dili
2007
J Kolonundaki Id Lere Bakacak Ve H Kolonundaki Tarihe En Yakın Günü D Kolonunda Bulacak Ve B Kolonundaki Rakam Yazacak
.
 

Ekli dosyalar

Korhan Ayhan

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

Aşağıdaki DİZİ formülünü deneyiniz.

CTRL+SHIFT+ENTER ile formül girişini tamamlayınız.

Kod:
=İNDİS($B$2:$B$40;TOPLA.ÇARPIM(KAÇINCI(J2&MİN(EĞER($A$2:$A$40=J2;EĞER(1*$D$2:$D$40>=$H$1;1*$D$2:$D$40)));$A$2:$A$40&1*$D$2:$D$40;0)))
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
Merhaba,

Aşağıdaki DİZİ formülünü deneyiniz.

CTRL+SHIFT+ENTER ile formül girişini tamamlayınız.

Kod:
=İNDİS($B$2:$B$40;TOPLA.ÇARPIM(KAÇINCI(J2&MİN(EĞER($A$2:$A$40=J2;EĞER(1*$D$2:$D$40>=$H$1;1*$D$2:$D$40)));$A$2:$A$40&1*$D$2:$D$40;0)))

Merhaba. Bu formülü tek bir kritere göre nasıl düzenleyebiliriz.
Tablodaki D'ye göre B'deki değerin gelmesi gibi.
Bir de bu tablonun mantığında hata var. En yakın tarih birden fazla olabilir. Benim isteğim bu durumda en büyük değer gelsin, teşekkür ederim.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,235
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosya paylaşarak ulaşmak istediğiniz sonucu açıklarsanız daha hızlı cevap alabilirsiniz.
 

Korhan Ayhan

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

DİZİ formüldür.

C++:
=MAX(IF($A$2:$A$39=E2;$B$2:$B$39))
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
=MAX(IF($A$2:$A$39=E2;$B$2:$B$39))
Yardımınız için teşekkür ancak A sütununda olmayan bir tarih yazdığımda sıfır geliyor, ben tarih yoksa en yakın tarihe ait, en büyük değerin gelmesini istiyorum.
 
Son düzenleme:
Katılım
15 Mart 2005
Mesajlar
379
Excel Vers. ve Dili
Microsoft 365 En 64 Bit
Altın Üyelik Bitiş Tarihi
20-03-2024
Merhaba,

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

En büyük tarihten büyük tarih yazarsanız en büyük tarihi ve onun maksimum değerini,
En küçük tarihten küçük tarih yazarsanız en küçük tarihi ve onun maksimum değerini,
Listedeki tarihi aralığında yazarsanız o tarihi ve onun maksimum değerini
bulur.

C++:
=MAXIFS(B:B;A:A;"="&INDEX($A$2:$A$500;MATCH(MIN(ABS(E2-$A$2:$A$500));ABS(E2-$A$2:$A$500);0)))
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Benim eski 2010 versiyonunda çalışan dizi formülü; (Ctrl + Shift + Enter)

Kod:
=MAX((A$2:A$500=INDEX($A$2:$A$500;MATCH(MIN(ABS(E2-$A$2:$A$500));ABS(E2-$A$2:$A$500);0)))*(B$2:B$500))
.
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
Benim eski 2010 versiyonunda çalışan dizi formülü; (Ctrl + Shift + Enter)

Kod:
=MAX((A$2:A$500=INDEX($A$2:$A$500;MATCH(MIN(ABS(E2-$A$2:$A$500));ABS(E2-$A$2:$A$500);0)))*(B$2:B$500))
.
Teşekkür ederim. 👍
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
Merhaba,

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

En büyük tarihten büyük tarih yazarsanız en büyük tarihi ve onun maksimum değerini,
En küçük tarihten küçük tarih yazarsanız en küçük tarihi ve onun maksimum değerini,
Listedeki tarihi aralığında yazarsanız o tarihi ve onun maksimum değerini
bulur.

C++:
=MAXIFS(B:B;A:A;"="&INDEX($A$2:$A$500;MATCH(MIN(ABS(E2-$A$2:$A$500));ABS(E2-$A$2:$A$500);0)))
Teşekkür ederim. 👍
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
@Haluk @dost
Haluk ve Dost Bey formül yazdığınız gibi doğru çalışıyor ama, verilerin olduğu alan sürekli güncelleniyor ve artıyor, ben aralığı kaldırdım, bu sefer çalışmadı, bir bakabilir misiniz.

Teşekkür ederim.
 

Ekli dosyalar

Korhan Ayhan

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

C++:
=MAX(IF(A:A<=C2;B:B))
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
@besen;

Ekli dosyada görüldüğü gibi A ve B sütunları için "Ad Tanımlama" kullanılmıştır....

.
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi

İlginç..... eklediğiniz dosyada "C" sütununda veri yok, Korhan Beyin formülünde "C" sütunundaki veriler "A" sütunuyla kıyaslanıyor ve siz formülün doğru çalıştığını belirtmek üzere teşekkür ediyorsunuz.

Korhan beyin formülündeki "C2" ifadesini, sizin dosyanıza göre "E2" olarak revize etsem bile, formül doğru sonuçları vermiyor.

Belki versiyon farkındandır diyeceğim ama, neyse....

.
 

besen

Altın Üye
Katılım
23 Mart 2007
Mesajlar
669
Excel Vers. ve Dili
excel 2019
İngilizce
Altın Üyelik Bitiş Tarihi
03-12-2024
İlginç..... eklediğiniz dosyada "C" sütununda veri yok, Korhan Beyin formülünde "C" sütunundaki veriler "A" sütunuyla kıyaslanıyor ve siz formülün doğru çalıştığını belirtmek üzere teşekkür ediyorsunuz.

Korhan beyin formülündeki "C2" ifadesini, sizin dosyanıza göre "E2" olarak revize etsem bile, formül doğru sonuçları vermiyor.

Belki versiyon farkındandır diyeceğim ama, neyse....

Haluk Bey siz farklı dosyadan bakıyorsunuz, en son size gönderdiğim dosya da buydu, siz bir öncekine cevap yazmışsınız.
.
 

Ekli dosyalar

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ben 6 No'lu mesajınız ekindeki dosyayı kastetmiştim...

.
 

Ekli dosyalar

Üst