Rumus VLOOKUP dan HLOOKUP Excel: Cara Pakai, Contoh, dan Error
Rumus VLOOKUP dan HLOOKUP dipakai untuk mencari sebuah nilai di tabel lalu mengambil data pasangannya. VLOOKUP mencari ke bawah di kolom paling kiri tabel (=VLOOKUP(nilai_dicari;tabel;nomor_kolom;FALSE)), sedangkan HLOOKUP mencari ke samping di baris paling atas tabel (=HLOOKUP(nilai_dicari;tabel;nomor_baris;FALSE)). Panduan ini memakai Excel 365/Excel 2021, tetapi kedua fungsi ini bekerja sama persis di Excel 2016 dan 2019.
Ringkasan:
- VLOOKUP = tabel referensi tersusun tegak (data ke bawah). HLOOKUP = tabel tersusun mendatar (data ke samping).
- Argumen terakhir
FALSE(atau 0) = cari yang sama persis. Pakai ini untuk kode, nama, dan NIM. TRUE(atau dikosongkan) = cari yang mendekati, cocok untuk tabel batas nilai, tetapi kolom/baris pertama wajib urut naik.- Kunci rentang tabel dengan tanda
$supaya rumus tidak bergeser saat disalin. - Rumus di artikel ini memakai pemisah titik koma (
;) sesuai setelan regional Indonesia.
Catatan pemisah rumus: di komputer bersetelan regional Indonesia, argumen dipisah titik koma. Kalau setelannya bahasa Inggris (Amerika Serikat), ganti dengan koma, misalnya =VLOOKUP(E2,$A$2:$C$6,2,FALSE). Nama fungsi tetap bahasa Inggris walaupun tampilan Excel Anda berbahasa Indonesia.
Sintaks VLOOKUP dan HLOOKUP serta Arti Tiap Argumen
Kedua fungsi punya empat argumen dengan urutan yang sama. Bedanya hanya di argumen ketiga: VLOOKUP meminta nomor kolom, HLOOKUP meminta nomor baris.
| Argumen | VLOOKUP | HLOOKUP | Arti |
|---|---|---|---|
| 1 | lookup_value |
lookup_value |
Nilai yang dicari, misalnya kode barang di sel E2. |
| 2 | table_array |
table_array |
Rentang tabel referensi. Nilai yang dicari harus ada di kolom pertama (VLOOKUP) atau baris pertama (HLOOKUP) rentang ini. |
| 3 | col_index_num |
row_index_num |
Kolom/baris ke berapa yang diambil, dihitung dari tepi rentang tabel, bukan dari kolom A atau baris 1 lembar kerja. |
| 4 | [range_lookup] |
[range_lookup] |
FALSE/0 = sama persis. TRUE/1 atau dikosongkan = mendekati. |
Hal yang sering terlewat: kalau tabel Anda dimulai di kolom C, maka kolom C dihitung sebagai kolom 1, kolom D sebagai kolom 2, dan seterusnya.
Contoh Data yang Dipakai
Ketik data berikut di lembar kerja baru. Tabel barang ada di A1:C6, sedangkan tabel transaksi yang akan diisi rumus ada di E1:I3.
| A (Kode) | B (Nama Barang) | C (Harga) | |
|---|---|---|---|
| 2 | BRG01 | Pulpen | 3.500 |
| 3 | BRG02 | Buku Tulis | 6.000 |
| 4 | BRG03 | Pensil | 2.500 |
| 5 | BRG04 | Penghapus | 2.000 |
| 6 | BRG05 | Penggaris | 4.000 |
Di tabel transaksi, isi E1 sampai I1 dengan judul Kode, Nama Barang, Harga, Jumlah, Total. Lalu isi E2 dengan BRG03 dan H2 dengan 4, serta E3 dengan BRG05 dan H3 dengan 3.
Cara Menggunakan Rumus VLOOKUP Langkah demi Langkah
Tujuannya: begitu kode barang diketik, nama dan harga barang muncul sendiri tanpa perlu disalin manual.
- Klik sel F2 (Nama Barang).
- Ketik
=VLOOKUP(E2;karena nilai yang dicari ada di E2. - Blok tabel barang A2:C6, lalu tekan F4 sekali sehingga berubah menjadi
$A$2:$C$6. Ketik;. - Ketik
2karena nama barang ada di kolom ke-2 tabel, lalu;FALSE). - Tekan Enter. Rumus lengkapnya
=VLOOKUP(E2;$A$2:$C$6;2;FALSE)dan hasilnya Pensil. - Di G2, ketik
=VLOOKUP(E2;$A$2:$C$6;3;FALSE)untuk mengambil harga dari kolom ke-3. Hasilnya 2.500. - Di I2, ketik
=G2*H2. Hasilnya 10.000. - Blok F2:I2, lalu tarik fill handle (kotak kecil di pojok kanan bawah) ke baris 3.
Hasil akhirnya seperti ini:
| Kode (E) | Nama Barang (F) | Harga (G) | Jumlah (H) | Total (I) |
|---|---|---|---|---|
| BRG03 | Pensil | 2.500 | 4 | 10.000 |
| BRG05 | Penggaris | 4.000 | 3 | 12.000 |
Tanda $ pada langkah 3 itulah yang membuat baris 3 tetap mencari ke tabel A2:C6. Tanpa tanda itu, rentangnya bergeser menjadi A3:C7 dan BRG01 tidak akan pernah ditemukan. Penjelasan lengkap tentang tanda dolar ada di panduan cara mengunci rumus Excel.
VLOOKUP dari sheet lain
Tabel referensi biasanya disimpan di sheet terpisah. Tulis nama sheet sebelum rentang, diikuti tanda seru: =VLOOKUP(E2;'Data Barang'!$A$2:$C$6;2;FALSE). Tanda kutip satu wajib dipakai kalau nama sheet mengandung spasi. Cara paling aman: saat sampai di argumen kedua, klik saja tab sheetnya lalu blok tabelnya, Excel akan menulis alamatnya sendiri.
Cara Menggunakan Rumus HLOOKUP dengan Contoh
HLOOKUP dipakai kalau tabel referensinya mendatar, yaitu kunci pencariannya berjajar di satu baris. Contohnya tabel gaji per golongan berikut di A9:E11:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 9 | Golongan | I | II | III | IV |
| 10 | Gaji Pokok | 2.000.000 | 2.500.000 | 3.000.000 | 3.500.000 |
| 11 | Tunjangan | 300.000 | 400.000 | 500.000 | 600.000 |
Misalkan golongan karyawan ditulis di sel G9 berisi III.
- Gaji pokok:
=HLOOKUP(G9;$B$9:$E$11;2;FALSE)→ 3.000.000 (baris ke-2 rentang). - Tunjangan:
=HLOOKUP(G9;$B$9:$E$11;3;FALSE)→ 500.000 (baris ke-3 rentang). - Total gaji:
=HLOOKUP(G9;$B$9:$E$11;2;FALSE)+HLOOKUP(G9;$B$9:$E$11;3;FALSE)→ 3.500.000.
Perhatikan rentangnya dimulai dari kolom B, bukan A. Golongan yang dicari harus ada di baris pertama rentang, dan kolom A hanya berisi label.
Beda FALSE dan TRUE: Pencarian Persis vs Mendekati
Argumen keempat paling sering bikin hasil salah tanpa ada pesan error. Kalau dikosongkan, Excel menganggapnya TRUE (mendekati).
| FALSE / 0 (persis) | TRUE / 1 / dikosongkan (mendekati) | |
|---|---|---|
| Cara kerja | Hanya cocok jika nilainya sama persis | Mengambil nilai terbesar yang kurang dari atau sama dengan nilai yang dicari |
| Syarat urutan | Tidak perlu diurutkan | Kolom/baris pertama wajib urut naik (kecil ke besar, A–Z) |
| Jika tidak ketemu | #N/A |
#N/A hanya kalau nilai lebih kecil dari nilai terkecil tabel |
| Cocok untuk | Kode barang, NIM, NIK, nama | Tabel batas nilai, diskon bertingkat, tarif per rentang |
Contoh TRUE: menentukan predikat nilai
Buat tabel batas di A13:B17 dengan judul Batas dan Predikat, lalu isi A14:B17 dengan 0–D, 60–C, 70–B, 85–A (sudah urut naik). Rumusnya =VLOOKUP(nilai;$A$14:$B$17;2;TRUE).
| Nilai | Batas yang dipakai | Hasil |
|---|---|---|
| 59 | 0 | D |
| 78 | 70 | B |
| 85 | 85 | A |
| 92 | 85 | A |
Cara ini lebih ringkas daripada IF bertingkat yang panjang. Kalau Anda masih lebih nyaman dengan IF, polanya dibahas lengkap di panduan rumus IF Excel.
Error VLOOKUP dan HLOOKUP: Penyebab dan Solusinya
Menurut dokumentasi resmi Microsoft, nomor kolom yang melebihi jumlah kolom tabel menghasilkan #REF!, sedangkan pencarian persis yang tidak menemukan nilai menghasilkan #N/A. Tabel berikut merangkum penyebab yang paling sering ditemui:
| Gejala | Penyebab | Solusi |
|---|---|---|
#N/A padahal kodenya terlihat ada |
Ada spasi tersembunyi di depan/belakang teks | Bersihkan dengan TRIM, misalnya =VLOOKUP(TRIM(E2);$A$2:$C$6;2;FALSE) |
#N/A pada kode berupa angka |
Satu sisi angka, sisi lain angka yang disimpan sebagai teks (ada segitiga hijau) | Samakan formatnya; klik ikon peringatan lalu pilih Convert to Number |
#N/A setelah rumus disalin ke bawah |
Rentang tabel tidak dikunci sehingga ikut bergeser | Tambahkan $ (tekan F4) pada rentang tabel |
#REF! |
Nomor kolom/baris lebih besar dari jumlah kolom/baris rentang | Perlebar rentang tabel atau perkecil nomor kolomnya |
#VALUE! |
Nomor kolom/baris kurang dari 1 | Isi nomor kolom mulai dari 1 |
| Hasil salah tanpa error | Argumen keempat dikosongkan pada data yang tidak urut | Tulis FALSE di argumen keempat |
#NAME? |
Salah ketik nama fungsi atau nama sheet | Pilih fungsi dari daftar yang muncul saat mengetik |
Menyembunyikan #N/A dengan IFERROR
Supaya tabel transaksi tetap rapi saat kode belum diisi atau salah ketik, bungkus rumusnya: =IFERROR(VLOOKUP(E2;$A$2:$C$6;2;FALSE);"Kode tidak ada"). Hati-hati, IFERROR juga menyembunyikan kesalahan rumus yang lain, jadi pakai setelah Anda yakin rumus dasarnya benar.
Perbandingan VLOOKUP, HLOOKUP, dan XLOOKUP
VLOOKUP punya satu keterbatasan besar: hanya bisa mengambil data di sebelah kanan kolom kunci. Di Excel 365 dan Excel 2021, Microsoft menyediakan XLOOKUP yang bisa mencari ke segala arah. XLOOKUP tidak tersedia di Excel 2016 dan 2019.
| Kebutuhan | VLOOKUP | HLOOKUP | XLOOKUP |
|---|---|---|---|
| Arah tabel | Tegak | Mendatar | Tegak dan mendatar |
| Ambil data di kiri kolom kunci | Tidak bisa | Tidak bisa (baris di atas) | Bisa |
| Bawaan pencarian | Mendekati (harus tulis FALSE) | Mendekati (harus tulis FALSE) | Persis |
| Aman saat kolom disisipkan | Tidak, nomor kolom bisa meleset | Tidak, nomor baris bisa meleset | Ya |
| Versi Excel | Semua versi | Semua versi | 365 dan 2021 ke atas |
Contoh XLOOKUP dengan data di atas:
- Ambil harga dari kode:
=XLOOKUP(E2;$A$2:$A$6;$C$2:$C$6;"Kode tidak ada")→ 2.500. - Cari kode dari nama barang (arah ke kiri):
=XLOOKUP("Pensil";$B$2:$B$6;$A$2:$A$6)→ BRG03.
Kalau file Anda harus dibuka di Excel 2016/2019, pakai pasangan INDEX dan MATCH untuk mencari ke kiri: =INDEX($A$2:$A$6;MATCH("Pensil";$B$2:$B$6;0)) → BRG03. Rumus pencarian lain yang sering dipakai di pekerjaan kantor ada di kumpulan rumus Excel untuk admin.
Pertanyaan yang Sering Diajukan
Apa perbedaan VLOOKUP dan HLOOKUP?
VLOOKUP (vertical) mencari nilai di kolom paling kiri tabel lalu mengambil data dari kolom di sebelah kanannya. HLOOKUP (horizontal) mencari di baris paling atas tabel lalu mengambil data dari baris di bawahnya. Pilih sesuai bentuk tabel referensi Anda.
Kapan memakai FALSE dan kapan TRUE?
Pakai FALSE untuk data yang harus sama persis seperti kode, nama, atau nomor induk. Pakai TRUE hanya untuk tabel batas angka (misalnya predikat nilai atau diskon bertingkat) yang kolom pertamanya sudah diurutkan dari kecil ke besar.
Apakah VLOOKUP bisa mencari dengan sebagian kata?
Bisa, dengan karakter pengganti pada pencarian persis. Tanda * mewakili teks apa saja dan ? mewakili satu karakter, misalnya =VLOOKUP("Pen*";$B$2:$C$6;2;FALSE) mengambil harga barang pertama yang namanya diawali “Pen”, yaitu Pensil dengan harga 2.500.
Kenapa VLOOKUP hanya mengambil data pertama yang cocok?
VLOOKUP berhenti di kecocokan pertama dari atas. Kalau kode yang sama muncul beberapa kali, data berikutnya tidak akan terambil. Gunakan fungsi FILTER (Excel 365/2021) untuk menampilkan semua baris yang cocok, atau rapikan dulu data agar setiap kode unik.
Untuk tabel referensi yang tegak, VLOOKUP dengan FALSE dan rentang ber-$ sudah menyelesaikan sebagian besar kebutuhan. Simpan HLOOKUP untuk tabel mendatar, dan beralihlah ke XLOOKUP kalau semua rekan kerja Anda sudah memakai Excel 365. Fondasi penulisan rumusnya bisa Anda pelajari lagi di panduan rumus Excel dasar.
Baca juga seri Rumus IF, VLOOKUP & Lookup
Tutorial ini disusun Tim Tutor Komputer berdasarkan dokumentasi resmi pembuat aplikasi. Langkah di versi Anda berbeda? Kabari kami lewat Kontak.
