Rumus Excel VLOOKUP: Cara Mencari dan Mengambil Data dari Tabel
Diperbarui
Jawaban cepat
Rumus Excel VLOOKUP ditulis =VLOOKUP(nilai_dicari, tabel, nomor_kolom, FALSE), misalnya =VLOOKUP("B03",A2:C5,3,FALSE). Excel mencari nilai di kolom paling kiri tabel, lalu mengambil isi kolom ke-3 di baris yang sama. Pakai FALSE untuk kecocokan persis.
Daftar isi
Sintaks VLOOKUP
Sintaks
=VLOOKUP(lookup_value; table_array; col_index_num; [range_lookup])=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
Berlaku di: Excel untuk Microsoft 365, Excel untuk Microsoft 365 untuk Mac, Excel 2024, Excel 2024 untuk Mac, Excel 2021, Excel 2021 untuk Mac, Excel 2019, Excel 2016
Pemisah argumen mengikuti setelan regional: Excel dengan setelan Indonesia biasanya memakai titik koma (;), setelan Inggris memakai koma (,). Kalau rumus ditolak, ganti pemisahnya lewat tombol Setelan Excel di atas (Microsoft Support).
| Argumen | Penjelasan |
|---|---|
lookup_valueWajib | Nilai yang dicari. Nilai ini harus berada di kolom pertama table_array, dan bisa berupa nilai atau referensi sel. |
table_arrayWajib | Rentang sel tempat VLOOKUP mencari lookup_value dan nilai yang dikembalikan. Kolom pertamanya harus berisi lookup_value. |
col_index_numWajib | Nomor kolom yang berisi nilai yang dikembalikan, dihitung mulai 1 dari kolom paling kiri table_array. |
range_lookupOpsional | FALSE (atau 0) untuk kecocokan persis; TRUE (atau 1) untuk perkiraan kecocokan. Jika dikosongkan, Excel memakai TRUE. |
Contoh penggunaan
Contoh 1: Mencari harga berdasarkan kode barang
| Baris | A | B | C |
|---|---|---|---|
| 1 | Kode | Barang | Harga |
| 2 | B01 | Pulpen | 3.5003,500 |
| 3 | B02 | Buku tulis | 6.0006,000 |
| 4 | B03 | Penggaris | 4.0004,000 |
| 5 | B04 | Penghapus | 2.5002,500 |
- Rumus
=VLOOKUP("B03";A2:C5;3;FALSE)=VLOOKUP("B03",A2:C5,3,FALSE)- Hasil
- 4.0004,000
VLOOKUP menemukan B03 di kolom pertama (A4), lalu mengambil isi kolom ke-3 di baris itu, yaitu harga 4.000.
Contoh 2: Mengambil nama barang
| Baris | A | B | C |
|---|---|---|---|
| 1 | Kode | Barang | Harga |
| 2 | B01 | Pulpen | 3.5003,500 |
| 3 | B02 | Buku tulis | 6.0006,000 |
| 4 | B03 | Penggaris | 4.0004,000 |
| 5 | B04 | Penghapus | 2.5002,500 |
- Rumus
=VLOOKUP("B02";A2:C5;2;FALSE)=VLOOKUP("B02",A2:C5,2,FALSE)- Hasil
- Buku tulis
Nomor kolom 2 berarti kolom kedua tabel (Barang), jadi hasilnya nama barang untuk kode B02.
Contoh 3: Kode yang tidak ada di tabel
| Baris | A | B | C |
|---|---|---|---|
| 1 | Kode | Barang | Harga |
| 2 | B01 | Pulpen | 3.5003,500 |
| 3 | B02 | Buku tulis | 6.0006,000 |
| 4 | B03 | Penggaris | 4.0004,000 |
| 5 | B04 | Penghapus | 2.5002,500 |
- Rumus
=VLOOKUP("B09";A2:C5;3;FALSE)=VLOOKUP("B09",A2:C5,3,FALSE)- Hasil
- #N/A
Dengan FALSE, #N/A berarti nilai persisnya tidak ditemukan. B09 tidak ada di kolom Kode.
Contoh 4: Menyembunyikan #N/A dengan IFERROR
| Baris | A | B | C |
|---|---|---|---|
| 1 | Kode | Barang | Harga |
| 2 | B01 | Pulpen | 3.5003,500 |
| 3 | B02 | Buku tulis | 6.0006,000 |
| 4 | B03 | Penggaris | 4.0004,000 |
| 5 | B04 | Penghapus | 2.5002,500 |
- Rumus
=IFERROR(VLOOKUP("B09";A2:C5;3;FALSE);"Tidak ditemukan")=IFERROR(VLOOKUP("B09",A2:C5,3,FALSE),"Tidak ditemukan")- Hasil
- Tidak ditemukan
IFERROR menangkap kesalahan #N/A dari VLOOKUP dan menampilkan teks penggantinya.
Contoh 5: Perkiraan kecocokan untuk tabel bertingkat
| Baris | A | B |
|---|---|---|
| 1 | Belanja minimal | Diskon |
| 2 | 0 | 0% |
| 3 | 100.000100,000 | 5% |
| 4 | 500.000500,000 | 10% |
- Rumus
=VLOOKUP(250000;A2:B4;2;TRUE)=VLOOKUP(250000,A2:B4,2,TRUE)- Hasil
- 5%
Dengan TRUE, kolom pertama harus urut naik. 250.000 tidak ada persis di tabel, jadi VLOOKUP mencari nilai terdekat dan mengembalikan 5% dari baris 100.000.
Kesalahan umum
#N/A
Penyebab: Dengan FALSE, nilai persis yang dicari tidak ada. Dengan TRUE, nilai yang dicari lebih kecil dari nilai terkecil di kolom pertama.
Solusi: Pastikan nilai yang dicari ada di kolom pertama tabel dan tipenya sama (angka dengan angka), atau tangani dengan IFERROR.
#REF!
Penyebab: col_index_num lebih besar dari jumlah kolom di table_array.
Solusi: Hitung ulang nomor kolom mulai dari kolom paling kiri table_array, atau perlebar rentang tabelnya.
#NAME?
Penyebab: Teks yang dicari tidak diapit tanda kutip, misalnya nama orang ditulis langsung di rumus.
Solusi: Apit teks dengan tanda kutip, misalnya =VLOOKUP("Febriansyah",B2:E7,2,FALSE).
Nilai yang dikembalikan salah
Penyebab: range_lookup TRUE atau dikosongkan, tetapi kolom pertama tabel tidak diurutkan.
Solusi: Urutkan kolom pertama terlebih dahulu, atau pakai FALSE untuk kecocokan persis.
Pertanyaan umum
Kenapa VLOOKUP sebaiknya memakai FALSE?
FALSE (atau 0) membuat VLOOKUP mencari nilai yang persis sama. Jika argumen ini dikosongkan, Excel memakai TRUE (perkiraan kecocokan) yang mengharuskan kolom pertama diurutkan; kalau tidak urut, hasilnya bisa salah.
Apakah VLOOKUP bisa mengambil data dari kolom di sebelah kiri?
Tidak. Nilai yang dicari harus berada di kolom pertama (paling kiri) table_array, dan nilai yang diambil ada di sebelah kanannya. Untuk mencari ke segala arah, Microsoft menyarankan XLOOKUP.
Kenapa rentang tabel VLOOKUP sebaiknya memakai tanda $?
Referensi absolut seperti $A$2:$C$5 membuat rentang tabel tidak bergeser saat rumus disalin ke bawah, sehingga setiap baris tetap mencari di tabel yang sama.
Bagaimana mengganti #N/A dengan teks lain?
Bungkus VLOOKUP dengan IFERROR, misalnya =IFERROR(VLOOKUP(D2,A2:C5,3,FALSE),"Tidak ditemukan"). Microsoft menyarankan penanganan kesalahan seperti IFERROR bila nilai pencarian bisa tidak ada di data sumber.
Panduan terkait
Sumber
- Fungsi VLOOKUP (Microsoft Support)support.microsoft.com
- Cara memperbaiki kesalahan #N/A (Microsoft Support)support.microsoft.com