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

14 komentar:

  1. bahan januari februari maret
    sabun 500 550 575
    pasta 200 100 150
    bagaimana cara saya mengambil data di cell paling terakhir?
    menjadi
    nama harga sekarang
    sabun 575
    pasta 150

    BalasHapus
    Balasan
    1. ya rumus yg ini gimana ya pak prof ?

      Hapus
    2. Jika data terletak pada A1 sampai D2 kemudian kriteria sabun terletak pada A5 maka rumusnya =LOOKUP(9,99E+307;INDEX($B$1:$D$2;MATCH(A5;$A$1:$A$2;0);0))

      Hapus
  2. terima kasih banyak suhu...

    BalasHapus
  3. Terimkasih ilmunya "sangat bermanfaat'.
    Oh iya saya punya banyak pertanyaan tentang excel. saya harap bisa dibantu oleh admin

    BalasHapus
  4. Jika ada pertanyaan silahkan kirim ke rizkybhendrawan@gmail.com, terima kasih

    regards

    BalasHapus
  5. Tolong tanya pak, gimana cara mengambil data berdasarkan nama kolom

    misal:
    roti sabun rokok
    andi 1 2 5
    tina 3 4 0
    budi 7 7 7

    diminta berapa rokok yg diambil budi?
    tolong bantuannya trims

    BalasHapus
    Balasan
    1. Silahkan cek link ini
      https://simpan.ugm.ac.id/s/D8PA3Ed22DaoKRm

      saya berikan contoh rumusnya

      Hapus
  6. Terbaik. Rumus yang diberikan Pak Rizky, berjalan dengan sempurna. Terima kasih yah pak.

    BalasHapus
  7. Kak, kalau saya mau narik data spreadsheet dengan importrange, jika mau ambil data yang tanggal hari ini saja (today) taukah rumusnya?

    terima kasih

    BalasHapus
  8. Sama2x senang bisa share di blog ini terima kasih semua

    BalasHapus
  9. Jika ada pertanyaan silahkan kirim ke rizkybhendrawan@gmail.com, terima kasih

    BalasHapus
  10. Siang pak, saya mau tanya untuk rumus lookup nya:
    =LOOKUP(9,99E+307;INDEX($B$2:$D$6;MATCH(A9;$A$2:$A$6;0);0))
    rumus diatas hanya membaca untuk number.

    Yang saya mau tanya klo data yg mau di ambil itu tidak hanya number, tapi ada juga campuran antara number dan teks.

    BalasHapus