Rumus Excel: Cari harga terbaru -

Formula umum

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

Ringkasan

Untuk mencari harga terbaru produk dalam daftar, diurutkan sehingga item terbaru muncul terakhir, Anda bisa menggunakan rumus berdasarkan fungsi LOOKUP. Pada contoh show, rumus di G7 adalah:

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

di mana item adalah rentang bernama B5: B12, harga adalah rentang bernama D5: D12, dan data diurutkan naik menurut tanggal.

Penjelasan

Fungsi LOOKUP mengasumsikan data diurutkan, dan selalu melakukan perkiraan kecocokan. Jika nilai pencarian lebih besar dari semua nilai dalam array pencarian, perilaku default-nya adalah "kembali" ke nilai sebelumnya. Rumus ini mengeksploitasi perilaku ini dengan membuat larik yang hanya berisi 1 dan kesalahan, lalu dengan sengaja mencari nilai 2, yang tidak akan pernah ditemukan.

Pertama, ekspresi ini dievaluasi:

item=F7

Ketika F7 berisi "sandal", hasilnya adalah larik nilai TRUE dan FALSE seperti ini:

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

Larik ini disediakan sebagai pembagi ke 1:

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

Operasi matematika secara otomatis memaksa nilai TRUE dan FALSE menjadi 1 dan 0, jadi hasilnya adalah array lain seperti ini:

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

dikembalikan langsung ke fungsi LOOKUP sebagai argumen vektor pencarian.

Perhatikan bahwa array hanya berisi dua nilai unik: kesalahan bagi dengan nol (# DIV / 0!) Dan angka 1.

LOOKUP mencari array untuk nilai 2, mengabaikan nilai kesalahan. Tidak menemukan 2, itu jatuh kembali ke 1 terakhir, di posisi 7 dalam vektor pencarian. LOOKUP lalu mengembalikan item ke-7 dalam vektor hasil (kisaran bernama "harga"), nilai 15.

Untuk membaca selengkapnya tentang konsep sengaja mencari nilai yang tidak akan pernah muncul, baca tentang BigNum.

Artikel yang menarik...