Daftar Isi
Tutorial ini menjelaskan cara membuat Excel VLOOKUP peka huruf besar-kecil, mendemonstrasikan beberapa rumus lain yang membedakan kasus teks, dan menunjukkan kekuatan dan keterbatasan masing-masing fungsi.
Saya kira setiap pengguna Excel tahu fungsi apa yang melakukan pencarian vertikal di Excel. Benar, itu VLOOKUP. Namun, sangat sedikit orang yang menyadari bahwa VLOOKUP Excel tidak peka huruf besar-kecil, yang berarti memperlakukan huruf kecil dan huruf besar-kecil sebagai karakter yang sama.
Berikut adalah contoh singkat yang menunjukkan ketidakmampuan VLOOKUP untuk membedakan kasus teks. Misalkan jika Anda memiliki "bill" di sel A2 dan "Bill" di A4. Rumus di bawah ini akan menangkap "bill" karena muncul pertama kali dalam array pencarian dan mengembalikan nilai yang cocok dari B2.
=VLOOKUP("Bill", A2:B4, 2, FALSE)
Lebih lanjut dalam artikel ini, saya akan menunjukkan kepada Anda cara membuat VLOOKUP peka huruf besar-kecil. Kami juga akan menjelajahi beberapa fungsi lain yang dapat melakukan pencocokan case-sensitive di Excel.
Rumus VLOOKUP yang peka huruf besar-kecil
Seperti disebutkan di atas, rumus VLOOKUP biasa tidak mengenali huruf besar kecilnya huruf. Namun, ada cara untuk membuat Excel VLOOKUP case-sensitive, seperti yang ditunjukkan pada contoh di bawah ini.
Misalkan Anda memiliki ID Barang di kolom A dan ingin menarik harga item dan komentar dari kolom B dan C. Masalahnya adalah ID mencakup karakter huruf kecil dan huruf besar. Misalnya, nilai di A4 (001Tvci3u) dan A5 (001Tvci3U) hanya berbeda di karakter terakhir, "u" dan "U", masing-masing.
Ketika mencari "001Tvci3 U ", rumus VLOOKUP standar menghasilkan $90 yang diasosiasikan dengan "001Tvci3 u " karena itu datang sebelum "001Tvci3 U " dalam array pencarian. Tetapi ini bukan yang Anda inginkan, bukan?
=VLOOKUP(F2, A2:C7, 2, FALSE)
Untuk melakukan pencarian case-sensitive di Excel, kami menggabungkan fungsi VLOOKUP, CHOOSE dan EXACT:
VLOOKUP(TRUE, PILIH({1,2}, EXACT( lookup_value , lookup_array ), return_array ), 2, 0)Formula generik ini bekerja sempurna dalam semua situasi. Anda bahkan bisa mencari dari kanan ke kiri sesuatu yang tidak dapat dilakukan oleh rumus VLOOKUP biasa. Kudos kepada Pouriya yang telah menyarankan solusi sederhana dan elegan ini!
Dalam kasus kita, rumus-rumus sesungguhnya adalah sebagai berikut.
Untuk menarik harga di F3:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), B2:B7), 2, FALSE)
Untuk mengambil komentar F4:
=VLOOKUP(TRUE, CHOOSE({1,2}, EXACT(F2, A2:A7), C2:C7), 2, FALSE)
Catatan. Di semua versi Excel selain Excel 365, ini hanya berfungsi sebagai rumus array, jadi ingatlah untuk menekan Ctrl + Shift + Enter untuk menyelesaikannya dengan benar. Di Excel 365, karena dukungan untuk array dinamis, ini juga berfungsi sebagai rumus biasa.
Bagaimana formula ini bekerja:
Bagian inti yang melakukan triknya adalah rumus CHOOSE dengan EXACT bersarang:
PILIH({1,2}, EXACT(F2, A2:A7), C2:C7)
Di sini, fungsi EXACT membandingkan nilai di F2 dengan setiap nilai di A2: A7 dan mengembalikan TRUE jika nilainya persis sama termasuk huruf besar, FALSE jika tidak:
{FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}
Untuk index_num argumen CHOOSE, kami menggunakan konstanta array {1,2}. Hasilnya, fungsi tersebut menggabungkan nilai logika dari array di atas dan nilai dari C2: C7 menjadi array dua dimensi seperti ini:
{FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}
Fungsi VLOOKUP mengambilnya dari sana dan mencari nilai pencarian (yang TRUE) di kolom pertama dari larik 2 dimensi (diwakili oleh nilai logika) dan mengembalikan kecocokan dari kolom ke-2, yang merupakan harga yang kita cari:
VLOOKUP(TRUE, {FALSE,155;FALSE,186;FALSE,90;TRUE,54;FALSE,159;FALSE,28}, 2, 0)
Rumus XLOOKUP yang peka huruf besar-kecil
Pelanggan Microsoft 365 bisa melakukan pencarian case-sensitive di Excel dengan formula yang lebih sederhana lagi. Seperti yang bisa Anda tebak, saya berbicara tentang penerus VLOOKUP yang lebih powerful - fungsi XLOOKUP.
Karena XLOOKUP beroperasi pada lookup dan return array secara terpisah, kita tidak memerlukan trik array dua dimensi dari contoh sebelumnya. Cukup, gunakan EXACT untuk lookup_array argumen:
XLOOKUP(TRUE, EXACT( lookup_value , lookup_array ), return_array , "Tidak ditemukan")Argumen terakhir ("Not found") adalah opsional. Ini hanya menentukan nilai apa yang akan dikembalikan jika tidak ada kecocokan yang ditemukan. Jika Anda menghilangkannya, maka kesalahan standar #N/A akan dikembalikan jika rumus tidak menemukan apa pun.
Untuk tabel sampel kita, ini adalah rumus XLOOKUP yang peka huruf besar-kecil untuk digunakan.
Untuk mendapatkan harga di F3:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), B2:B7, "Tidak ditemukan")
Untuk mengekstrak komentar F4:
=XLOOKUP(TRUE, EXACT(F2, A2:A7), C2:C7, "Tidak ditemukan")
Bagaimana formula ini bekerja:
Seperti pada contoh sebelumnya, EXACT mengembalikan larik nilai TRUE dan FALSE, di mana TRUE merepresentasikan kecocokan case-sensitive. XLOOKUP mencari larik di atas untuk nilai TRUE dan mengembalikan kecocokan dari return_array Harap dicatat, jika ada dua atau lebih nilai yang sama persis dalam kolom pencarian (termasuk huruf besar), rumus akan mengembalikan kecocokan pertama yang ditemukan.
Batasan XLOOKUP : hanya tersedia di Excel 365 dan Excel 2021.
SUMPRODUCT - pencarian case-sensitive untuk mengembalikan angka yang cocok
Seperti yang Anda pahami dari judulnya, SUMPRODUCT adalah fungsi Excel lain yang dapat melakukan pencarian case-sensitive, tetapi dapat mengembalikan nilai numerik Jika ini bukan kasus Anda, maka lompatlah ke contoh INDEX MATCH yang menyediakan solusi untuk semua tipe data.
Seperti yang mungkin Anda ketahui, SUMPRODUCT Excel mengalikan komponen dalam larik yang ditentukan dan mengembalikan jumlah produk. Karena kami menginginkan pencarian peka huruf besar / kecil, kami menggunakan fungsi EXACT untuk mendapatkan larik pertama:
=SUMPRODUCT((EXACT(A2:A7,F2) * (B2:B7)))
Sayangnya, fungsi SUMPRODUCT tidak dapat mengembalikan kecocokan teks karena nilai teks tidak dapat dikalikan. Dalam kasus ini, Anda akan mendapatkan kesalahan #VALUE! seperti di sel F4 pada gambar di bawah:
Bagaimana formula ini bekerja:
Seperti dalam contoh VLOOKUP, fungsi EXACT memeriksa nilai di F2 terhadap semua nilai di A2: A7 dan mengembalikan TRUE untuk kecocokan case-sensitive, FALSE sebaliknya:
SUMPRODUCT(({FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE}*{155;186;90;54;159;28}))
Di sebagian besar rumus, Excel mengevaluasi TRUE menjadi 1 dan FALSE menjadi 0. Jadi, saat SUMPRODUCT mengalikan elemen dari dua larik di posisi yang sama, semua yang tidak cocok (FALSE) menjadi nol:
SUMPRODUCT({0;0;0;54;0;0})
Hasilnya, rumus mengembalikan angka dari kolom B yang sesuai dengan kecocokan peka huruf besar-kecil di kolom A.
Batasan SUMPRODUCT : hanya bisa mengembalikan nilai numerik saja.
INDEX MATCH - pencarian case-sensitive untuk semua tipe data
Akhirnya, kita hampir mendapatkan formula pencarian case-sensitive bebas batasan yang bekerja di semua versi Excel dan pada semua set data.
Contoh ini muncul terakhir bukan hanya karena yang terbaik disimpan untuk yang terakhir, tetapi juga karena pengetahuan yang telah kamu dapatkan dalam contoh-contoh sebelumnya dapat membantumu memahami rumus MATCH INDEX case-sensitive dengan lebih baik.
Kombinasi fungsi INDEX dan MATCH sering digunakan di Excel sebagai alternatif yang lebih fleksibel dan serbaguna untuk VLOOKUP. Artikel berikut ini melakukan pekerjaan yang baik (semoga :) menjelaskan bagaimana kedua fungsi ini bekerja bersama - Menggunakan INDEX MATCH alih-alih VLOOKUP.
Di sini, saya hanya akan mengingatkan Anda tentang poin-poin penting:
- Fungsi MATCH mencari nilai pencarian dalam larik pencarian yang ditentukan dan mengembalikan posisi relatifnya.
- Posisi relatif dari nilai pencarian langsung menuju ke row_num argumen fungsi INDEX yang menginstruksikannya untuk mengembalikan nilai dari baris itu.
Agar rumusnya mengenali kasus teks, Anda hanya perlu menambahkan satu fungsi lagi ke kombinasi INDEX MATCH klasik. Jelas, Anda memerlukan fungsi EXACT lagi:
INDEX( return_array , MATCH(TRUE, EXACT( lookup_value , lookup_array ), 0))Rumus sesungguhnya dalam F3 adalah:
=INDEX(B2:B7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Di F4, kami menggunakan yang satu ini:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Harap diingat bahwa ini hanya berfungsi sebagai rumus array di semua versi selain Excel 365, jadi pastikan untuk memasukkannya dengan menekan tombol Ctrl + Shift + Enter secara bersamaan. Jika dilakukan dengan benar, rumusnya akan diapit dengan tanda kurung kurawal seperti yang ditunjukkan pada gambar di bawah ini:
Bagaimana formula ini bekerja:
Seperti dalam semua contoh sebelumnya, EXACT mengembalikan TRUE untuk setiap nilai dalam A2:A7 yang persis sama dengan nilai dalam F2. lookup_value dari MATCH, ia mengembalikan posisi relatif dari pencocokan case-sensitive yang tepat, yang persis seperti yang dibutuhkan INDEX untuk mengembalikan kecocokan dari B2:B7.
Rumus pencarian peka huruf besar-kecil lanjutan
Rumus INDEX MATCH yang disebutkan di atas terlihat sempurna, bukan? Tapi nyatanya tidak. Mari saya tunjukkan alasannya.
Misalkan sel di kolom pengembalian yang sesuai dengan nilai pencarian kosong. Apa yang akan dikembalikan oleh rumus? Tidak ada. Dan sekarang, mari kita lihat apa yang sebenarnya dikembalikannya:
=INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0))
Ups, rumusnya mengembalikan angka nol! Mungkin, ini tidak terlalu penting ketika hanya berurusan dengan nilai teks. Namun, jika lembar kerja Anda berisi angka dan beberapa di antaranya adalah nol nyata, ini adalah masalah.
Sebenarnya, semua rumus pencarian lain yang dibahas sebelumnya berperilaku dengan cara yang sama. Tetapi sekarang Anda menginginkan rumus yang sempurna, bukan?
Untuk membuat rumus INDEX MATCH yang peka huruf besar-kecil benar-benar sempurna, Anda membungkusnya dalam fungsi IF yang memeriksa apakah sel kembali kosong dan tidak mengembalikan apa pun dalam kasus ini:
=IF(INDIRECT("C"&(1+MATCH(TRUE,EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "")
Dalam rumus di atas:
- "C" adalah kolom pengembalian.
- "1" adalah angka yang mengubah posisi relatif dari sel yang dikembalikan oleh fungsi MATCH ke dalam sebuah alamat sel yang sebenarnya .
Misalnya, larik pencarian dalam fungsi MATCH kita adalah A2:A7, yang berarti posisi relatif sel A2 adalah "1", karena ini adalah sel pertama dalam larik. Namun kenyataannya, larik pencarian dimulai di baris 2. Untuk mengkompensasi perbedaannya, kita menambahkan 1, sehingga fungsi INDIRECT akan mengembalikan nilai dari sel kanan.
Tangkapan layar di bawah ini mendemonstrasikan rumus INDEX MATCH case-sensitive yang ditingkatkan dalam tindakan.
Jika sel kembalinya kosong, rumus tidak menghasilkan apa-apa (string kosong):
Jika sel kembali berisi nol, rumus mengembalikan 0:
Jika Anda lebih suka menampilkan beberapa pesan ketika sel kembali kosong, ganti string kosong ("") dalam argumen terakhir IF dengan beberapa teks:
=IF(INDIRECT("C"&(1+MATCH(TRUE, EXACT(A2:A7, F2), 0)))"", INDEX(C2:C7, MATCH(TRUE, EXACT(A2:A7, F2), 0)), "Tidak ada yang bisa dikembalikan, maaf.")
Lakukan VLOOKUP case-sensitive dengan cara yang mudah
Pengguna Ultimate Suite for Excel kami memiliki alat khusus yang membuat pencarian dalam tabel besar dan kompleks menjadi lebih mudah dan bebas stres. Hal terbaiknya adalah bahwa Merge Two Tables memiliki opsi case-sensitive, dan contoh di bawah ini menunjukkannya dalam tindakan.
Misalkan Anda ingin menarik Qty. dari Pencarian tabel ke Utama berdasarkan ID Item yang unik:
Yang Anda lakukan adalah menjalankan wizard Merge Tables dan melakukan langkah-langkah ini:
- Pilih tabel utama untuk menarik data baru.
- Pilih tabel pencarian tempat mencari data baru.
- Pilih satu atau lebih kolom kunci (Item ID dalam kasus kita). Dan pastikan untuk memeriksa kolom Pencocokan peka huruf besar-kecil kotak.
Sesaat kemudian, Anda akan mendapatkan hasil yang diinginkan :)
Itulah cara mencari di Excel dengan mempertimbangkan kasus teks. Saya berterima kasih telah membaca dan berharap dapat melihat Anda di blog kami minggu depan!
Buku kerja latihan untuk diunduh
Contoh VLOOKUP yang peka huruf besar-kecil (file .xlsx)