Excel formülü: Son fiyatı ara -

Genel formül

=LOOKUP(2,1/(item="hat"),price)

Özet

Listedeki bir ürünün en son fiyatını aramak için, en son öğeler en sonda görünecek şekilde sıralanır, ARA işlevine dayalı bir formül kullanabilirsiniz. Örnek gösteride, G7'deki formül şöyledir:

=LOOKUP(2,1/(item=F7),price)

burada öğe B5: B12 adlandırılmış aralıktır, fiyat adlandırılmış aralık D5: D12'dir ve veriler tarihe göre artan şekilde sıralanır.

Açıklama

ARA işlevi, verilerin sıralandığını varsayar ve her zaman yaklaşık bir eşleşme yapar. Arama değeri, arama dizisindeki tüm değerlerden büyükse, varsayılan davranış önceki değere "geri dönmektir". Bu formül, yalnızca 1'ler ve hatalar içeren bir dizi oluşturarak ve ardından kasıtlı olarak hiçbir zaman bulunamayacak olan 2 değerini arayarak bu davranışı kullanır.

İlk olarak bu ifade değerlendirilir:

item=F7

F7 "sandalet" içerdiğinde, sonuç aşağıdaki gibi bir DOĞRU ve YANLIŞ değerler dizisidir:

(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Bu dizi, 1'e bölen olarak sağlanır:

1/(FALSE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE)

Matematik işlemi DOĞRU ve YANLIŞ değerlerini otomatik olarak 1'ler ve 0'lara zorlar, bu nedenle sonuç şuna benzer başka bir dizidir:

(#DIV/0!;1;#DIV/0!;1;#DIV/0!;#DIV/0!;1;#DIV/0!)

arama vektörü bağımsız değişkeni olarak doğrudan ARA işlevine döndürülür.

Dizinin yalnızca iki benzersiz değer içerdiğine dikkat edin: sıfıra bölme hatası (# SAYI / 0!) Ve 1 sayısı.

ARA, hata değerlerini yok sayarak dizide 2 değerini arar. 2 bulunmazsa, arama vektöründe 7. konumda son 1'e geri döner. ARA, daha sonra sonuç vektöründeki 7. öğeyi ("fiyat" adlı aralık) 15 değerini döndürür.

Hiç görünmeyecek bir değeri kasıtlı olarak arama kavramı hakkında daha fazla bilgi edinmek için BigNum hakkında okuyun.

Ilginç makaleler...