12 Juli 2013

Pengambilan Data Terakhir (Last Match)

Ass.Wr.Wb

Saya ingin memberikan contoh penerapan rumus Excel untuk mengambil data yang terakhir atau yang ter-update. Kasus ini banyak ditanyakan di forum-forum rumus excel.

KASUS 1

Hasil yang diinginkan adalah, jika kita mengetikkan nama dari Salesman maka akan muncul data penjualan yang terakhir. MIsalnya kita ketik "Samidi" maka hasil yang muncul adalah Rp.210.000

How to do it with Excel?

Bagi yang sudah sering pakai kombinasi INDEX dan MATCH pasti tahu bahwa hasil yang muncul adalah data yang pertama, so kombinasi rumus ini tidak bisa kita pakai.

Tetapi INDEX masih powerful dikombinasi dengan fungsi yang lainnya

Lebih jelasnya hasil yang diinginkan adalah seperti ini










Jadi semuanya adalah hasil terakhir sesuai single kriteria "Nama"

Rumus 1 (rumus reguler):
=INDEX(B2:B12;LOOKUP(2;1/(A2:A12=D2);ROW(A2:A12)-1))

Rumus 2 (rumus array):
=LOOKUP(9,99999999999999E+307;IF(A2:A12=D2;B2:B12))

Rumus 3 (rumus reguler):
=INDEX(B2:B12;SUMPRODUCT(MAX((A2:A12=D2)*(ROW(B2:B12)-1))))

Rumus 4 (rumus array):
=LOOKUP(999;IF(A2:A12=D2;ROW(A2:A12));B2:B12)

Rumus 5 (rumus array):
=INDEX(B:B;MAX((A2:A12=D2)*ROW(A2:A12)))

Rumus 6 (rumus reguler):
=INDEX(B2:B12;MATCH(1;INDEX(1/(D2=A2:A12););1))

Rumus 7 (rumus array):
=INDEX(B2:B12;MATCH(1;1/(D2=A2:A12);1))

KASUS 2















dan hasil yang diharapkan adalah seperti ini













rumus adalah seperti ini (rumus reguler atau non array):
=LOOKUP(9,99E+307;INDEX($B$2:$D$6;MATCH(A9;$A$2:$A$6;0);0))

KASUS 3




















dan hasil yang diinginkan tampilannya seperti ini








Jadi kasus ke 3 ini adalah mengambil hasil yang terakhir dengan 2 kriteria, rumusnya seperti ini
=INDEX($C$1:$C$12;SUMPRODUCT(MAX(--($B$2:$B$12=F2)*($A$2:$A$12=E2)*ROW($B$2:$B$12))))

ini rumus reguler ya atau rumus non array

Mudah2xan dapat diterapkan pada kasus yang anda temui sehari-hari, silahkan di unduh file latihannya DISINI