ikuti Saluran WhatsApp Rumahdisolo.com. Klik WhatsApp

Belajar VLOOKUP Dari Nol Sampai Mahir

Kuasi rumus VLOOKUP dari nol hingga mahir — panduan praktis lengkap + contoh siap pakai. Mulai sekarang, klik dan praktekan sendiri!

VLOOKUP itu salah satu rumus paling populer di Excel dan Google Sheets.

Kalau kamu mau cari data cepat berdasarkan kunci (misal: cari harga produk berdasarkan kode produk), VLOOKUP biasanya jadi pilihan pertama orang.

Di artikel ini kita bakal bahas VLOOKUP dari dasar sampai tingkat mahir: sintaks, contoh nyata, trik debug, kasus khusus (lookup kiri, lookup banyak kecocokan), optimasi, dan praktik langsung yang mudah diikuti anak remaja.

Semua contoh pakai bahasa santai, paragraf pendek, dan rumus siap copy-paste.


Daftar isi singkat

  • Apa itu VLOOKUP dan kapan dipakai
  • Sintaks VLOOKUP dijelskan step-by-step
  • Contoh sederhana: cari harga produk
  • Exact match vs approximate match (FALSE vs TRUE)
  • Aturan pengurutan untuk approximate match
  • Masalah umum & cara atasinya (N/A, #VALUE!, dll.)
  • VLOOKUP dengan wildcard untuk pencarian partial
  • VLOOKUP kiri? (trik CHOOSE / solusi INDEX-MATCH)
  • Pakai MATCH untuk kolom indeks dinamis
  • VLOOKUP pada Table / Named Range / Structured Reference
  • Mengambil beberapa kolom / multiple returns
  • Mencari banyak hasil (multiple matches) — cara di Sheets & Excel
  • Kombinasi dengan IFERROR, TRIM, VALUE buat data messy
  • Performa & best practices buat file besar
  • Latihan + jawaban
  • Ringkasan & langkah mulai cepat

Apa itu VLOOKUP dan kapan dipakai

VLOOKUP (vertical lookup) adalah rumus untuk mencari nilai di kolom paling kiri sebuah range, lalu mengembalikan nilai dari kolom lainnya pada baris yang sama.

Gunanya: kalau kamu punya tabel referensi (misal: daftar harga, daftar siswa, daftar barang), dan ingin mengambil data berdasarkan "kunci" (misal kode barang, NIS), VLOOKUP memudahkan ambil datanya tanpa scroll manual.

Contoh penggunaan nyata:

  • Cari harga produk dari kode produk untuk cetak nota.
  • Ambil nama siswa dari NIS untuk daftar hadir.
  • Temukan departemen karyawan berdasarkan NIP.
  • Ambil saldo rekening berdasarkan nomor rekening.

Sintaks VLOOKUP — arti tiap argumen

Sintaks:

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])

Penjelasan:

  • lookup_value: nilai yang ingin dicari. Bisa teks, angka, sel (mis. A2).
  • table_array: range tempat pencarian (mis. $A$2:$D$100). Kolom pertama harus berisi lookup_value.
  • col_index_num: nomor kolom (dalam table_array) yang akan dikembalikan, dimulai dari 1 untuk kolom pertama.
  • range_lookup (opsional): TRUE atau FALSE.
  • `FALSE` = exact match (cari nilai yang sama persis).
  • `TRUE` atau dikosongkan = approximate match (mencari nilai terdekat). Untuk approximate, table harus diurutkan ascending pada kolom lookup.

Contoh:

=VLOOKUP("P001", $A$2:$C$100, 2, FALSE)

Artinya: cari "P001" di kolom A (dalam range A2:C100), lalu kembalikan nilai dari kolom ke-2 (kolom B) di baris yang sama.


Contoh dasar: cari harga produk (langkah demi langkah)

Misal tabel produk:

Kode Nama Produk Harga
P001 Pensil 2B 3.000
P002 Buku Tulis A5 5.500
P003 Penghapus 2.500

Kalau kamu punya form di sel F2 dengan kode produk, dan mau tampilkan harga di G2:

=VLOOKUP(F2, $A$2:$C$4, 3, FALSE)
  • F2 = misal "P002"
  • range A2:C4 berisi data
  • col_index_num 3 artinya ambil kolom Harga
  • FALSE supaya exact match (paling aman untuk kode)

Jika F2 = "P002", rumus akan keluarkan `5500`.


Exact match vs Approximate match — jangan keliru!

Poin paling krusial: biasanya pakai FALSE (exact match). Kenapa? Karena FALSE mencari kecocokan persis dan lebih aman jika tabel tidak terurut. Jika kamu pakai TRUE (approximate), Excel/Sheets akan mencari nilai terdekat bila tidak menemukan exact; namun tabel harus diurutkan naik pada kolom lookup. Banyak kesalahan muncul karena orang lupa ini.

Contoh approximate: tarif pajak berdasarkan penghasilan:

Tabel (diurutkan ascending):

Min Income Tarif
0 5%
50,000,000 15%
250,000,000 25%
500,000,000 30%

Rumus:

=VLOOKUP(salary, $A$2:$B$5, 2, TRUE)

Jika salary = 120,000,000 → VLOOKUP akan cari last value <= salary → 50,000,000 → tarif 15%.

Catatan: default `range_lookup` jika dihilangkan sering dianggap TRUE di Excel lama — selalu sebutkan FALSE/TRUE eksplisit.


Kesalahan umum dan cara memperbaikinya

  1. #N/A → tidak ditemukan. Penyebab:
    • Data tidak ada.
    • Perbedaan spasi atau case (contoh: "P001 " vs "P001").
    • Tipe data berbeda (angka di tabel tapi lookup sebagai teks).
    • Range_lookup = FALSE dan tidak ada exact match.
    Solusi:
    • Pakai `IFERROR` untuk tampilkan pesan ramah: `=IFERROR(VLOOKUP(...),"Tidak Ditemukan")`.
    • Gunakan `TRIM`, `VALUE`, `UPPER/LOWER` untuk normalisasi data.
    • Pastikan format data sama (number/text).
  2. #REF! → col_index_num terlalu besar (lebih dari jumlah kolom di table_array). Periksa angka ke-3.
  3. Salah hasil ketika menggunakan TRUE → biasanya karena table tidak diurutkan ascending. Urutkan data atau gunakan FALSE.
  4. Nilai muncul tapi salah/nyaris cocok → mungkin ada spasi atau lookup_source berbeda tipe. Gunakan `TRIM` dan `VALUE`.

Contoh perbaikan spasi:

=VLOOKUP(TRIM(F2), $A$2:$C$100, 3, FALSE)

VLOOKUP dengan wildcard (pencarian partial / starts-with)

VLOOKUP bisa pakai wildcard (`*` atau `?`) saat `range_lookup = FALSE`. Gunanya untuk mencari teks yang mengandung atau diawali pola tertentu.

Contoh: cari produk yang namanya diawali "Pensil":

=VLOOKUP("Pensil*", $B$2:$C$100, 2, FALSE)

Catatan: lookup_value harus berupa teks (bukan sel berisi wildcard yang dihasilkan formula dengan referensi yang kosong? bisa juga: `=VLOOKUP(A2 & "*", ...)`).

Wildcard berguna kalau kode tidak konsisten dan kamu mau temukan berdasarkan substring.


VLOOKUP tidak bisa lookup ke kiri — trik solusinya

Keterbatasan VLOOKUP: ia selalu mencari di kolom paling kiri dari table_array. Kalau kunci (lookup_value) berada di kolom kanan dan kamu mau ambil nilai di kolom kiri, VLOOKUP gak bisa langsung. Ada beberapa solusi:

Solusi A — Buat helper column (gabung/letakkan key di kiri)

Buat kolom baru di paling kiri yang isiannya = kunci yang kamu cari (misalnya gabungan kolom). Ini paling mudah dan cepat.

Solusi B — Pakai CHOOSE (trick "lookup kiri")

CHOOSE dapat membalik urutan kolom:

=VLOOKUP(G2, CHOOSE({1,2}, C2:C100, A2:A100), 2, FALSE)

Penjelasan: CHOOSE membentuk array baru di mana kolom pertama adalah C (kunci) dan kolom kedua adalah A (nilai yang mau diambil). Cara ini agak rumit dan di Excel lama mungkin memerlukan Ctrl+Shift+Enter (array formula). Di Excel modern dan Google Sheets, ini lebih fleksibel.

Solusi C — Gunakan INDEX + MATCH (direkomendasikan)

INDEX + MATCH tidak terbatas pada kiri-kanan:

=INDEX(A2:A100, MATCH(G2, C2:C100, 0))

MATCH cari posisi G2 di C2:C100; INDEX ambil dari A2:A100 pada posisi yang cocok.

Walau ini masuk di poin lain, tetap penting: kalau sering butuh lookup kiri, pelajari INDEX-MATCH / XLOOKUP.


Kolom indeks dinamis: pakai MATCH untuk cari nomor kolom

Kadang kita mau VLOOKUP tapi kolom yang diambil tidak statis. Misal header bisa berubah, kita ingin cari kolom berdasar nama header. Gunakan MATCH untuk cari nomor kolom lalu masukkan ke VLOOKUP.

Contoh: header ada di A1:D1, lookup table A2:D100. Kalau mau cari kolom yang headernya "Harga":

=VLOOKUP(E2, $A$2:$D$100, MATCH("Harga", $A$1:$D$1, 0), FALSE)

Keuntungan:

  • Rumus jadi fleksibel jika kolom berpindah.
  • Lebih aman saat struktur tabel berubah.

VLOOKUP + Table / Named Range / Structured References

Lebih rapi kalau data disimpan sebagai Table (Excel: Insert → Table). Keuntungannya:

  • Range otomatis meluas saat tambah data.
  • Bisa pakai structured reference yang lebih readable.

Contoh (Table bernama `Products` dengan kolom `Kode`, `Nama`, `Harga`):

=VLOOKUP(F2, Products, 3, FALSE)

Atau pakai structured reference dalam INDEX/MATCH:

=INDEX(Products[Harga], MATCH(F2, Products[Kode], 0))

Di Google Sheets, pakai Named Range (Data → Named ranges) lalu:

=VLOOKUP(F2, ProductsRange, 3, FALSE)

Mengambil banyak kolom / multiple returns

VLOOKUP normalnya mengembalikan satu kolom. Kalau mau ambil beberapa kolom ada beberapa cara:

  1. Buat VLOOKUP terpisah untuk tiap kolom:
    • Harga: `=VLOOKUP(F2,$A$2:$D$100,3,FALSE)`
    • Stok: `=VLOOKUP(F2,$A$2:$D$100,4,FALSE)`
  2. INDEX-MATCH untuk kolom berbeda (lebih efisien jika banyak kolom):
    • `=INDEX($C$2:$C$100, MATCH(F2,$A$2:$A$100,0))` untuk Harga.
    • `=INDEX($D$2:$D$100, MATCH(F2,$A$2:$A$100,0))` untuk Stok.
  3. Google Sheets: pakai ARRAYFORMULA + VLOOKUP pada array kolom
  4. Misal mau mengembalikan kolom 3 dan 4 sekaligus (Sheets bisa handle array return):

       =ARRAYFORMULA(VLOOKUP(F2, $A$2:$D$100, {3,4}, FALSE))

    Ini mengembalikan dua nilai dalam dua sel berurutan.

  5. Excel modern (dynamic array): Gunakan `FILTER` (Excel 365) untuk ambil seluruh baris:
  6.    =FILTER($B$2:$D$100, $A$2:$A$100 = F2)

    FILTER mengembalikan seluruh baris yang cocok (bukan hanya yang pertama).


Mencari banyak hasil (multiple matches) — cara praktis

VLOOKUP hanya mengembalikan hasil pertama. Jika ada banyak baris dengan kunci sama dan kamu ingin semua hasil, gunakan:

Google Sheets — FILTER (paling gampang)

=FILTER($B$2:$B$100, $A$2:$A$100 = F2)

Ini mengembalikan semua nilai di kolom B di mana kolom A = F2.

Excel (tanpa dynamic array) — INDEX + SMALL trick

Lebih advanced. Contoh:

=IFERROR(INDEX($B$2:$B$100, SMALL(IF($A$2:$A$100=F$2, ROW($A$2:$A$100)-ROW($A$2)+1), ROWS($G$2:G2))), "")
  • Ini formula array (Ctrl+Shift+Enter di versi lama).
  • Taruh di G2 dan kopas ke bawah; akan mengembalikan match ke-1, ke-2, dst.

Excel 365 — FILTER

Kalau pakai Excel 365:

=FILTER($B$2:$B$100, $A$2:$A$100 = F2, "Tidak Ada")

Lebih simple seperti di Google Sheets.


VLOOKUP dengan beberapa kriteria (multi-criteria lookup)

Jika pencarian berdasarkan dua kolom atau lebih (mis: combine "kode produk" + "warna"), VLOOKUP langsung tidak bisa. Pilihan:

Metode A — Helper column (paling mudah)

Buat kolom gabungan di tabel:

=A2 & "|" & B2

Di lookup:

=VLOOKUP(F2 & "|" & G2, $H$2:$J$100, 3, FALSE)

F2 & G2 adalah nilai yang kita cari (kode & warna).

Metode B — INDEX + MATCH dengan array (no helper)

=INDEX($C$2:$C$100, MATCH(1, ($A$2:$A$100=F2)*($B$2:$B$100=G2), 0))

Butuh array formula CSE atau Excel 365 dynamic.


Gabungan VLOOKUP + MATCH untuk fleksibilitas

Seperti sudah dicontoh, MATCH bisa cari nomor kolom. Sedangkan VLOOKUP butuh col_index_num. Kombinasikan:

=VLOOKUP(F2, $A$2:$D$100, MATCH("Harga", $A$1:$D$1, 0), FALSE)

Atau pakai INDEX+MATCH yang sering lebih cepat dan fleksibel:

=INDEX($C$2:$C$100, MATCH(F2, $A$2:$A$100, 0))

Kombinasi populer: VLOOKUP + IFERROR + TRIM + UPPER

Praktik terbaik ketika data messy:

=IFERROR(VLOOKUP(TRIM(UPPER(F2)), $A$2:$C$100, 3, FALSE), "Tidak Ditemukan")

Langkah:

  • TRIM -> hapus spasi nyelip.
  • UPPER -> standar huruf besar.
  • IFERROR -> tampilkan pesan jika tidak ditemukan.

Performance: tips untuk workbook besar

  • Jangan buat ribuan VLOOKUP yang merujuk ke range besar — ini bisa lambat.
  • Gunakan helper column untuk transform mahal (mis. TRIM & UPPER) sekali saja, bukan di setiap VLOOKUP.
  • Jika banyak lookup, convert tabel jadi Excel Table dan pakai INDEX-MATCH atau XLOOKUP (lebih efisien di Excel modern).
  • Gunakan calculation manual sementara membangun rumus besar (Excel Options → Manual calculate) lalu tekan F9.

Contoh kasus nyata panjang + panduan praktis

Kasus: Toko Sekolah — generate invoice otomatis

Data Produk (Sheet `Produk`):

Kode Nama Produk Harga
P001 Pensil 2B 3000
P002 Buku Tulis A5 5500
P003 Penghapus 2500

Sheet `Order`:

A: ItemCode B: QTY C: Nama Produk (VLOOKUP) D: Harga Satuan E: Subtotal
P001 2 [rumus] [rumus] [rumus]

Rumus di `Order` C2:

=IFERROR(VLOOKUP(A2, Produk!$A$2:$C$100, 2, FALSE), "Kode Tidak Valid")

Rumus D2:

=IFERROR(VLOOKUP(A2, Produk!$A$2:$C$100, 3, FALSE), 0)

Rumus E2:

=B2 * D2

Tips: gunakan Named Range `ProdukTable` sehingga rumus jadi:

=VLOOKUP(A2, ProdukTable, 3, FALSE)

Kasus: Daftar nilai siswa — tarik nama dari NIS, tampilkan grade

Tabel Siswa:

NIS Nama Kelas
101 Andi 7A
102 Budi 7B

Nilai sheet punya NIS; gunakan:

=VLOOKUP(A2, Siswa!$A$2:$C$100, 2, FALSE)

Latihan praktis untuk belajar (ikuti langkah demi langkah)

  1. Buat tabel kecil (5 baris) produk di sheet baru. Kolom: Kode, Nama, Harga.
  2. Buat sheet Order dengan 3-4 baris kode pembelian.
  3. Di kolom Nama Produk → pakai VLOOKUP exact match (FALSE).
  4. Di kolom Harga Satuan → VLOOKUP.
  5. Tambah kolom Total = Qty Harga.
  6. Uji: masukkan kode yang tidak ada → lihat error; ubah rumus pakai IFERROR supaya tampil “Tidak ditemukan”.
  7. Uji: masukkan kode dengan spasi depan → gunakan TRIM(lookup) atau pastikan data bersih.

Pertanyaan yang sering muncul (FAQ singkat)

Q: Kenapa VLOOKUP gagal menemukan padahal ada datanya?

A: Periksa spasi tersembunyi, tipe data (angka vs teks), dan range_lookup. Pakai TRIM & VALUE bila perlu.

Q: VLOOKUP butuh sorting?

A: Hanya kalau pakai `range_lookup = TRUE` (approximate). Untuk `FALSE` (recommended), nggak perlu sorting.

Q: Bisa VLOOKUP dengan case-sensitive?

A: VLOOKUP default tidak case-sensitive. Untuk case-sensitive butuh formula kompleks (INDEX/MATCH dengan EXACT) atau helper column.

Q: Bisa VLOOKUP di sheet lain?

A: Bisa. Contoh: `=VLOOKUP(A2, Sheet2!$A$2:$C$100, 3, FALSE)`

Q: Bagaimana ambil hasil pertama dari beberapa match?

A: VLOOKUP ambil baris pertama. Untuk semua match gunakan FILTER (Google Sheets / Excel 365) atau INDEX+SMALL di Excel lama.


Ringkasan — cheat sheet cepat VLOOKUP

  • Sintaks: `=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])`
  • Pilih `FALSE` untuk exact match — aman untuk kode & teks.
  • Pilih `TRUE` untuk approximate — tabel harus diurutkan ascending.
  • Gunakan `IFERROR` untuk tampilan user-friendly.
  • Pakai `TRIM`, `VALUE`, `UPPER` untuk normalisasi input.
  • Untuk lookup kiri, gunakan helper column, CHOOSE trick, atau INDEX+MATCH.
  • Untuk banyak hasil gunakan FILTER (Sheets/Excel365) atau INDEX+SMALL (Excel lama).

Penutup & langkah selanjutnya

Sekarang kamu sudah paham fungsi dasar sampai trik tingkat menengah VLOOKUP. Langkah selanjutnya supaya semakin mahir:

  1. Praktikkan contoh invoice / order di atas sampai lancar.
  2. Coba kasus approximate match (tax bracket / grade threshold) — perhatikan sorting.
  3. Pelajari INDEX + MATCH dan XLOOKUP (Excel modern) sebagai alternatif yang lebih fleksibel.
  4. Eksperimen ambil banyak hasil menggunakan FILTER (Sheets) atau INDEX+SMALL (Excel klasik).

Kalau sudah sering latihan, VLOOKUP akan jadi alat andalan buat semua tugas sekolah atau jualan online.

Selamat praktek — cobain satu contoh kecil dulu lalu scale ke file yang lebih besar!

Siswi SMK Muhammadiyah 1 sukoharjo yang cerdas, Bersemangat, dan Berintegritas. Profil Lengkap saya