Fiyat Listesinden, aynı ürünün, farklı iki tarih arasındaki geçerli fiyatını getirmek.

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, iki tarih arasındaki tüm sorulara baktım ama benzer bir soru bulamadım.
Sorumu içeren örnek dosya ekte.
Teşekkür ederim

Stok Kodu

Geçerlilik Tarihi Başlangıcı

Geçerlilik Tarihi Bitişi

Fiyat

XYZ

8.06.2020​

1.04.2021​

85​

XYZ

2.04.2021​

31.07.2021​

95​

XYZ

1.08.2021​

 

122​

 

Ekli dosyalar

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Bu şekilde dener misiniz ?
Kod:
=ARA(F2;$B$2:$C$4;$D$2:$D$4)
 

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, evet doğru çalışıyor, ancak sanırım bir şeyi unuttum, Ürün kodu da dikkate alınmalı.
Örnek Dosyayı tekrar ekledim.


Bu şekilde dener misiniz ?
Kod:
=ARA(F2;$B$2:$C$4;$D$2:$D$4)
 

Ekli dosyalar

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
=LOOKUP(2;1/($A$2:$A$15=$E2)/($B$2:$B$15<=$F2)/($C$2:$C$15>=$F2);$D$2:$D$15)
Bu formülle bir çözüm oluşturdum ama, en son veride bitiş tarihi henüz olmadığı için bu hücreyi dikkate almıyor. Hücreye ileri bir tarih girince formül doğru. Tarih alanı boş olduğu durumuna göre bir çözüm varmı?
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
=TOPLA.ÇARPIM(($A$2:$A$14=$E2)*($B$2:$B$14<=$F2)*(EĞER($C$2:$C$14="";1;$C$2:$C$14>=F2))*($D$2:$D$14))
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
formülün içine @ işaretini siz mi koyuyorsunuz?

230754
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
Özürlük bir durum yok. Lütfen

Bu @ işareti sebep oluyor ama sebebini bilmiyorum. Sizdeki dosyayı açınca ben böyle görüyorum.
Ben size bendeki dosyayı göndereyim. Oradan bakın
 

Ekli dosyalar

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
Özürlük bir durum yok. Lütfen

Bu @ işareti sebep oluyor ama sebebini bilmiyorum. Sizdeki dosyayı açınca ben böyle görüyorum.
Ben size bendeki dosyayı göndereyim. Oradan bakın
Anladım. Sorun @ işareti değil, dizi formülüymüş, ondan dolayı olmuş.
Teşekkür ederim.
 
Katılım
21 Aralık 2016
Mesajlar
722
Excel Vers. ve Dili
Office 365 TR
Selamlar,
formülün içine @ işaretini siz mi koyuyorsunuz?
Sn @ÖmerFaruk
Bilgi amaçlı olarak yazıyorum...

@ işareti, özellikle Office 365 ile görünmeye başlayan bir işaret olup Örtük Kesişim İşleci olarak adlandırılır.
Konu ile ilgili Microsoft makalesi aşağıdadır.


=LOOKUP(2;1/($A$2:$A$15=$E2)/($B$2:$B$15<=$F2)/($C$2:$C$15>=$F2);$D$2:$D$15)
Bu formülle bir çözüm oluşturdum ama, en son veride bitiş tarihi henüz olmadığı için bu hücreyi dikkate almıyor. Hücreye ileri bir tarih girince formül doğru. Tarih alanı boş olduğu durumuna göre bir çözüm varmı?
Sn @besen
Dosyanızı göremem...
4 no lu mesajınızdan anladığım kadarıyla, (eğer yanlış anlamıyorsam)
Koşulları sağlayan, D2 : D15 arasında (BOŞ olmayan) en son DOLU olan hücredeki değeri arıyorsunuz...

Formülünüze D2 : D15<>"" koşulunu da ekleyerek deneyebilirsiniz...
Yani
=LOOKUP(2;1/($A$2:$A$15=$E2)/($B$2:$B$15<=$F2)/($C$2:$C$15>=$F2)/($D$2:$D$15<>"");$D$2:$D$15)

Ya da alternatif olarak
=İNDİS($D$2:$D$15;TOPLAMA(14;6;(SATIR($A$2:$A$15)-SATIR($A$2)+1)/($A$2:$A$15=$E2)/($B$2:$B$15<=$F2)/($C$2:$C$15>=$F2)/($D$2:$D$15<>"");1))

Burada
İNDİS = INDEX
TOPLAMA = AGGREGATE
SATIR = ROW
 
Katılım
21 Aralık 2016
Mesajlar
722
Excel Vers. ve Dili
Office 365 TR
Belki de
C2 : C15 Bitiş Tarihleri kolonu olabilir. Bu durumda
=LOOKUP(2;1/($A$2:$A$15=$E2)/($B$2:$B$15<=$F2)/(IF($C$2:$C$15="";1;$C$2:$C$15>=$F2));$D$2:$D$15)
şeklinde denersiniz...
 
Üst