Pola standarnya adalah:
=VLOOKUP(search_key, range, index, FALSE)
Berikut contoh lookup antar-tab:
=VLOOKUP($B12, 'Ekonomi SKU'!$A$2:$H$5000, 6, FALSE)
Jika B12 berisi SKU-1048, formula akan mencari nilai tersebut pada kolom A di tab Ekonomi SKU, lalu mengambil nilai dari kolom keenam dalam rentang yang dipilih. Hasilnya bisa berupa margin kotor 38,5%, biaya pemenuhan pesanan Rp 278.400, atau input operasional lain yang digunakan dalam proyeksi.
Google mendefinisikan VLOOKUP sebagai fungsi yang mencari sebuah kunci dari atas ke bawah pada kolom pertama suatu rentang, lalu mengambil nilai dari baris yang cocok. Bagi analis, ada satu syarat tambahan: lookup key, batas rentang, dan indeks kolom harus selalu selaras. Lihat dokumentasi VLOOKUP Google.
Apa fungsi setiap argumen VLOOKUP?
Perhatikan formula dalam laporan keuangan triwulanan yang mengambil pendapatan aktual berdasarkan entitas:
=IFERROR(
VLOOKUP(
$A8,
'Impor Aktual'!$A$2:$M$25000,
MATCH(C$5, 'Impor Aktual'!$A$1:$M$1, 0),
FALSE
),
0
)
Formula tersebut memiliki empat bagian utama.
$A8 adalah lookup key, misalnya Indonesia Barat, Enterprise, atau kode badan hukum. Kolom A dikunci agar formula dapat disalin ke berbagai periode pelaporan, sedangkan nomor baris tetap dapat berubah.
'Impor Aktual'!$A$2:$M$25000 adalah tabel pencarian. VLOOKUP hanya mencari pada kolom pertama dalam rentang tersebut. Karena itu, lookup key harus berada di kolom A dari rentang yang dipilih.
MATCH(C$5, 'Impor Aktual'!$A$1:$M$1, 0) menghitung posisi kolom hasil berdasarkan header periode. Pendekatan ini lebih aman daripada mengetik angka seperti 7, terutama jika sumber data menerima kolom baru setiap bulan.
FALSE mewajibkan exact match. Untuk kode akun, SKU, entitas, nama skenario, dan periode pelaporan, opsi ini hampir selalu menjadi pilihan yang tepat.
IFERROR di bagian luar mengubah data yang tidak ditemukan menjadi nol. Hasil tersebut mungkin lebih rapi untuk laporan direksi, tetapi juga dapat menyembunyikan kegagalan pemetaan. SKU yang belum dipetakan dan saldo yang benar-benar Rp 0 bukanlah kondisi yang sama.
Gunakan exact match sebagai pilihan utama
Google Sheets mengizinkan argumen keempat dikosongkan atau diisi TRUE. Opsi tersebut menjalankan approximate match pada kolom pertama yang telah diurutkan. Perilaku ini cocok untuk tabel rentang nilai, bukan untuk pemetaan akun rutin.
Misalnya, Asumsi!F5:G9 memuat credit spread berdasarkan rentang leverage:
| Batas bawah utang bersih / EBITDA | Credit spread |
|---|---|
| 0,0x | 1,75% |
| 1,5x | 2,10% |
| 2,5x | 2,85% |
| 3,5x | 3,90% |
| 4,5x | 5,25% |
Approximate lookup dapat memilih spread untuk skenario 3,2x:
=VLOOKUP(Imbal_Hasil!$B$14, Asumsi!$F$5:$G$9, 2, TRUE)
Formula ini menghasilkan 2,85%, yaitu tingkat yang terkait dengan ambang tertinggi yang tidak melebihi 3,2x.
Tabel harus selalu diurutkan dari nilai terkecil ke terbesar. Jika seseorang mengubah urutan ambang untuk kebutuhan presentasi, formula dapat menghasilkan spread yang salah tanpa menampilkan error.
Dalam DCF untuk kebutuhan sindikasi perbankan, kegagalan tersembunyi seperti ini lebih berbahaya daripada #N/A. Gunakan approximate match hanya jika sumbernya memang berupa tabel ambang, lalu tambahkan pemeriksaan urutan:
=AND(Asumsi!F6:F9>=Asumsi!F5:F8)
Mengapa indeks kolom statis mudah rusak?
Argumen ketiga VLOOKUP menunjukkan posisi kolom di dalam rentang yang dipilih, bukan nomor kolom pada worksheet.
Dalam rentang 'Ekonomi SKU'!$A$2:$H$5000, indeks 6 mengambil nilai dari kolom F. Jika rentang dimulai dari kolom C, indeks 6 mengambil nilai dari kolom H.
Detail ini sering menimbulkan masalah dalam analisis margin kontribusi. Seorang analis mungkin menyisipkan kolom Biaya Tambahan Pengiriman sebelum kolom margin kotor, sementara formula lama tetap meminta indeks 6. Formula masih menghasilkan angka, tetapi metrik yang diambil sudah berbeda.
Pada bisnis dengan pendapatan triwulanan Rp 65 miliar dan margin kotor 38,5%, kesalahan tersebut dapat memengaruhi Laba Rugi, Arus Kas, FCFF, analisis covenant, dan laporan kepada investor. Tidak ada formula error yang memperingatkan pengguna.
Gunakan MATCH agar indeks kolom mengikuti header:
=VLOOKUP(
$B12,
'Ekonomi SKU'!$A$2:$H$5000,
MATCH("Margin Kotor %", 'Ekonomi SKU'!$A$1:$H$1, 0),
FALSE
)
Jika formula digunakan berulang kali, letakkan nama header dalam sel yang dikendalikan:
=VLOOKUP(
$B12,
'Ekonomi SKU'!$A$2:$H$5000,
MATCH(C$4, 'Ekonomi SKU'!$A$1:$H$1, 0),
FALSE
)
Dengan pendekatan ini, formula mengikuti nama header, bukan posisi kolom dari versi sumber sebelumnya.
VLOOKUP dibandingkan XLOOKUP, INDEX/MATCH, dan SUMIFS
Per Juli 2026, Google Sheets mendukung VLOOKUP, XLOOKUP, INDEX/MATCH, SUMIFS, dan QUERY. Setiap metode menyelesaikan kebutuhan pengambilan data yang berbeda. Mengganti semua VLOOKUP dengan satu alternatif belum tentu membuat model lebih andal.
| Metode | Penggunaan terbaik dalam keuangan | Keunggulan utama | Risiko utama |
|---|---|---|---|
| VLOOKUP | Tabel pemetaan yang stabil | Mudah dipahami dan diaudit | Indeks kolom statis dapat rusak |
| XLOOKUP | Pemetaan satu-ke-satu | Rentang pencarian dan hasil terpisah | Key duplikat tetap hanya menghasilkan satu nilai |
| INDEX/MATCH | Schedule dua arah yang dinamis | Fleksibel untuk pencocokan baris dan kolom | Formula memiliki lebih banyak komponen |
| SUMIFS | Agregasi data transaksi | Menangani beberapa baris yang memenuhi kriteria | Kriteria dapat diterapkan pada tingkat detail yang salah |
| QUERY | Ekstrak laporan yang dikelompokkan | Dapat memfilter, mengelompokkan, dan mengurutkan | Sintaks kolom lebih sulit diaudit |
Gunakan VLOOKUP untuk tabel terkendali, seperti pemetaan entitas, klasifikasi chart of accounts, dan label skenario.
Gunakan XLOOKUP jika posisi kolom sumber dapat berubah:
=XLOOKUP(
$A8,
'Impor Aktual'!$A$2:$A$25000,
'Impor Aktual'!$G$2:$G$25000,
NA(),
0
)
Gunakan INDEX/MATCH jika baris dan periode sama-sama perlu bergerak:
=INDEX(
'Laba Rugi'!$C$6:$N$120,
MATCH($A12, 'Laba Rugi'!$A$6:$A$120, 0),
MATCH(C$5, 'Laba Rugi'!$C$5:$N$5, 0)
)
Gunakan SUMIFS jika sumber dapat memiliki beberapa baris yang valid. VLOOKUP hanya mengambil satu kecocokan, sehingga tidak tepat untuk mengagregasi pendapatan bulanan:
=SUMIFS(
'Laba Rugi'!C:C,
'Laba Rugi'!B:B, ">=" & Asumsi!$B$3
)
Versi triwulanan dapat mencakup tanggal awal, tanggal akhir, entitas, dan akun:
=SUMIFS(
'Laba Rugi'!$H:$H,
'Laba Rugi'!$B:$B, ">=" & C$4,
'Laba Rugi'!$B:$B, "<=" & C$5,
'Laba Rugi'!$C:$C, $A12,
'Laba Rugi'!$D:$D, $B12
)
Formula tersebut menjumlahkan seluruh transaksi yang memenuhi kriteria. VLOOKUP hanya mengambil baris pertama yang ditemukan.
Untuk ekstrak data yang perlu dikelompokkan dan diurutkan, QUERY dapat lebih ringkas daripada beberapa kolom lookup. Pembahasannya tersedia dalam artikel Google Sheets QUERY ORDER BY.
VLOOKUP tidak membuktikan lookup key bersifat unik
Exact match membuktikan bahwa sebuah lookup key tersedia, tetapi tidak membuktikan bahwa key tersebut hanya muncul sekali.
Jika SKU-1048 muncul dua kali dalam tabel unit economics, VLOOKUP mengambil baris pertama. Jika akun 61020 tercatat dalam dua kategori pelaporan, formula juga mengambil entri pertama dalam rentang. Perubahan urutan sumber dapat mengubah hasilnya.
Tambahkan pemeriksaan keunikan pada tabel pemetaan yang kritis:
=COUNTIF('Ekonomi SKU'!$A$2:$A$5000, A2)
Untuk pemetaan satu-ke-satu, hasil yang diharapkan adalah 1:
0berarti pemetaan belum tersedia.1berarti key tersedia dan unik.- Nilai di atas
1berarti lookup bersifat ambigu.
Buat laporan pengecualian dengan formula berikut:
=FILTER(
'Ekonomi SKU'!A2:A5000,
COUNTIF(
'Ekonomi SKU'!A2:A5000,
'Ekonomi SKU'!A2:A5000
)<>1
)
Kontrol ini lebih informatif daripada membungkus seluruh model dengan IFERROR(...,0). Tangani error pada output presentasi hanya setelah pengecualian pemetaan ditampilkan dan diperiksa di bagian lain.
Cara mengaudit VLOOKUP sebelum laporan direksi
Audit VLOOKUP harus menguji struktur, kelengkapan, dan rekonsiliasi. Angka yang muncul tanpa error belum tentu benar.
- Uji cakupan lookup key. Identifikasi pemetaan yang hilang sebelum menerapkan
IFERROR.
=COUNTIF('Pemetaan Entitas'!$A$2:$A$500, $A8)
- Uji keunikan. Setiap lookup key dalam pemetaan satu-ke-satu harus muncul tepat satu kali.
=COUNTIF(
'Pemetaan Entitas'!$A$2:$A$500,
'Pemetaan Entitas'!A2
)
- Uji header hasil. Ganti indeks statis seperti
8denganMATCHterhadap header yang dikendalikan.
=MATCH(C$5, 'Impor Aktual'!$A$1:$M$1, 0)
-
Rekonsiliasi output. Jika total biaya departemen setelah pemetaan adalah Rp 289,85 miliar, total sumber yang relevan juga harus Rp 289,85 miliar. Tabel lookup dapat terisi tanpa error, tetapi tetap melewatkan baris di luar rentang yang dipilih.
-
Telusuri dampaknya pada output berikutnya. Lookup EBITDA yang salah dapat mengubah exit multiple 14,2x, terminal value, pembayaran utang, dan IRR investor tanpa memicu formula error.
Pemeriksaan terakhir sering terlewat. Risiko sebenarnya mungkin baru terlihat pada tab Analisis Imbal Hasil, bukan pada sel yang memuat VLOOKUP.
ModelMonkey dapat memeriksa formula dalam rentang yang dipilih, menandai sel dengan #N/A, #REF!, dan #VALUE!, serta membantu memperbaiki formula tanpa mengubah format yang sudah ada. Pendekatan ini berguna ketika Anda perlu menemukan formula yang masih mengarah ke data impor periode sebelumnya.
Disiplin rentang lebih penting daripada batas maksimum file
Menurut dokumentasi Google, Google Sheets mendukung hingga 10 juta sel per spreadsheet. Microsoft menyatakan bahwa satu worksheet Excel mendukung 1.048.576 baris dan 16.384 kolom. Lihat batas file Google Drive dan spesifikasi Microsoft Excel.
Batas maksimum tersebut bukan alasan untuk mengarahkan setiap formula VLOOKUP ke seluruh kolom:
=VLOOKUP($A8, 'Impor Aktual'!$A:$M, 7, FALSE)
Gunakan rentang yang menunjukkan populasi sumber secara jelas:
=VLOOKUP(
$A8,
'Impor Aktual'!$A$2:$M$25000,
7,
FALSE
)
Rentang terbatas lebih mudah diaudit dan mengurangi perhitungan yang tidak diperlukan.
Masalah performa biasanya muncul ketika banyak formula memindai sumber yang sama secara berulang. Tabel bantuan atau QUERY yang sudah dikelompokkan sering lebih efektif daripada sekadar mengganti VLOOKUP dengan fungsi lookup lain.
Untuk perhitungan seluruh kolom yang memang lebih tepat dikelola dalam satu formula, lihat pola ARRAYFORMULA untuk Google Sheets. Bersihkan lookup key terlebih dahulu, terutama jika data impor mencampur kode akun numerik dengan nilai teks. Artikel pembersihan data Google Sheets untuk model keuangan membahas kontrol tersebut lebih lanjut.
Kapan VLOOKUP masih menjadi pilihan yang tepat?
VLOOKUP tetap tepat jika:
- Sumber memiliki satu baris untuk setiap lookup key.
- Kolom pencarian berada paling kiri.
- Struktur tabel jarang berubah.
- Formula perlu mudah dipahami saat ditinjau.
- Hasil yang dibutuhkan berasal dari satu baris, bukan agregasi transaksi.
VLOOKUP kurang tepat untuk:
- Sumber dengan lookup key yang rawan duplikasi.
- Pengambilan data ke arah kiri.
- Agregasi beberapa transaksi.
- Schedule dengan kolom periode yang sering disisipkan.
- Lookup dua arah berdasarkan baris dan kolom.
VLOOKUP dengan exact match belum usang. Risiko utamanya berasal dari indeks kolom statis, duplikasi tersembunyi, rentang tanpa batas, dan penggunaan IFERROR secara menyeluruh. Formula yang baik harus menampilkan kegagalan secara jelas ketika struktur model tidak lagi sesuai dengan asumsi awal.
FAQ tentang VLOOKUP formula
Apa VLOOKUP formula untuk exact match?
Gunakan FALSE sebagai argumen keempat:
=VLOOKUP(A2, Data!$A$2:$D$1000, 4, FALSE)
Formula tersebut mencari nilai A2 pada kolom pertama rentang dan hanya menerima kecocokan yang sama persis.
Mengapa VLOOKUP menghasilkan #N/A?
#N/A berarti lookup key tidak ditemukan dalam kolom pertama rentang. Penyebab umumnya adalah key yang belum dipetakan, spasi tersembunyi, perbedaan format angka dan teks, atau rentang yang tidak mencakup seluruh data.
Mengapa VLOOKUP mengambil data yang salah?
Penyebab yang umum adalah penggunaan approximate match pada tabel yang tidak diurutkan, indeks kolom statis yang tidak lagi sesuai, atau lookup key duplikat. Periksa argumen keempat, header hasil, dan keunikan key.
Bisakah VLOOKUP mengambil data dari kolom sebelah kiri?
Tidak. Kolom pencarian harus menjadi kolom pertama dalam rentang VLOOKUP. Gunakan XLOOKUP atau INDEX/MATCH jika kolom hasil berada di sebelah kiri kolom pencarian.
Apakah VLOOKUP dapat menjumlahkan beberapa baris?
Tidak. VLOOKUP mengambil satu kecocokan, biasanya baris pertama yang ditemukan. Gunakan SUMIFS atau QUERY jika beberapa transaksi perlu dijumlahkan berdasarkan kriteria.
Mana yang lebih baik, VLOOKUP atau XLOOKUP?
VLOOKUP cocok untuk tabel sederhana dan stabil dengan lookup key di kolom paling kiri. XLOOKUP lebih fleksibel karena rentang pencarian dan rentang hasil ditentukan secara terpisah. Pilihan terbaik bergantung pada struktur sumber dan kebutuhan audit model.