Rumus FIND dan SEARCH Excel: Cari Posisi Karakter dalam Teks
TL;DR
FIND dan SEARCH sama-sama mengembalikan posisi angka sebuah karakter atau teks di dalam teks lain. Bedanya, FIND peka huruf besar kecil dan nggak dukung wildcard, sementara SEARCH cuek huruf dan bisa pakai tanda bintang. Dua fungsi ini jarang dipakai sendirian, biasanya jadi bahan buat MID, LEFT, atau RIGHT waktu motong teks yang panjangnya beda-beda.
FIND dan SEARCH sama-sama ngasih tau posisi sebuah karakter di dalam teks. Hasilnya angka.
=FIND("@";"budi@mail.com") → 5
=SEARCH("@";"budi@mail.com") → 5
Tanda at ada di karakter ke-5. Itu doang yang dua rumus ini kerjain.
Kelihatan nggak berguna, kan? Sampai kamu perlu motong teks yang panjangnya beda-beda tiap baris.
Apa bedanya FIND dan SEARCH?
Dua hal. Cuma itu.
| Aspek | FIND | SEARCH |
|---|---|---|
| Peka huruf besar-kecil | Ya | Nggak |
| Dukung wildcard | Nggak | Ya (* dan ?) |
| Hasil kalau nggak ketemu | #VALUE! | #VALUE! |
Contoh yang bikin bedanya jelas:
=FIND("apel";"Apel Malang") → #VALUE! (A kapital, gak ketemu)
=SEARCH("apel";"Apel Malang") → 1 (cuek huruf, ketemu)
Buat kerjaan sehari-hari, SEARCH lebih fleksibel. Pakai FIND cuma kalau kamu butuh pembedaan huruf — misalnya kode produk di mana PRD dan prd beneran beda barang.
Gimana cara ambil domain email pakai FIND?
Ini kasus paling sering. Kamu punya kolom email, mau tau berapa banyak yang pakai Gmail.
Masalahnya, panjang nama email beda-beda. budi@mail.com dan siti.aminah.wijaya@company.co.id nggak bisa dipotong di posisi yang sama.
Solusinya: cari posisi tanda at dulu, baru potong dari situ.
=MID(A2; FIND("@";A2)+1; LEN(A2))
Bacanya dari dalam:
FIND("@";A2)→ dapat posisi tanda at. Misalnya 5.+1→ geser satu karakter ke kanan, biar tanda at-nya sendiri nggak ikut kebawa.MID(A2; 6; LEN(A2))→ ambil dari karakter ke-6 sampai ujung.
Argumen LEN(A2) di ujung sengaja kelebihan. MID nggak protes kalau diminta ambil lebih banyak dari yang ada — dia berhenti di karakter terakhir. Fungsi LEN yang ngitung panjangnya.
Buat ambil nama sebelum tanda at:
=LEFT(A2; FIND("@";A2)-1)
Minus 1 biar tanda at-nya nggak ikut. Detail LEFT, RIGHT, dan MID ada di rumus LEFT, RIGHT, MID Excel.
Kenapa FIND ngasih error #VALUE!?
Karena teks yang kamu cari nggak ada di sel itu. FIND dan SEARCH nggak ngasih nol atau kosong — mereka langsung error.
Ini masalah kalau kolom kamu campur. Ada yang punya tanda at, ada yang isinya nomor telepon.
=IFERROR(FIND("@";A2); 0)
Sel yang nggak punya tanda at bakal dapat 0, bukan #VALUE!. Laporan kamu nggak jadi merah semua. Lebih detail soal IFERROR ada di rumus IFERROR Excel.
Tapi hati-hati. IFERROR nutup semua error, termasuk yang harusnya kamu tau. Kalau 300 baris tiba-tiba jadi 0 semua, itu sinyal ada yang salah di data — bukan sinyal buat cuek.
Wildcard di SEARCH
SEARCH punya dua wildcard yang FIND nggak punya:
*— karakter apa pun, sebanyak apa pun?— tepat satu karakter apa pun
=SEARCH("prd*01"; "PRD-2026-01") → 1
=SEARCH("b?di"; "budi santoso") → 1
Berguna buat kode produk yang formatnya mirip tapi nggak persis sama. Kalau kamu perlu nyari tanda bintang secara harfiah, kasih tilde di depannya: ~*.
Contoh kasus: kode invoice toko_berkah
Dataset toko_berkah punya kolom kode_invoice dengan 3.400 baris. Formatnya harusnya INV-2026-BDG-0451 — prefix, tahun, kode kota, nomor urut.
Tim keuangan mau tau distribusi transaksi per kota. Masalahnya, nggak semua kode punya jumlah karakter sama — ada yang kode kotanya 3 huruf (BDG), ada yang 4 (SBYA).
MID dengan posisi tetap langsung gagal. Yang jalan: cari posisi tanda hubung ketiga.
=MID(A2;
FIND("-";A2;FIND("-";A2;FIND("-";A2)+1)+1)+1;
4)
Berlapis, tapi logikanya lurus. FIND punya argumen ketiga — mulai nyari dari posisi berapa. Jadi FIND kedua mulai nyari setelah tanda hubung pertama, dan seterusnya.
Hasilnya: 3.400 baris kepetakan ke 11 kota. Dan 47 baris keluar #VALUE! — ternyata itu kode invoice lama yang formatnya beda, sisa sistem sebelum 2024.
47 baris itu yang paling berharga. Error-nya nemuin masalah data yang selama ini nggak keliatan.
Cek apakah teks mengandung kata tertentu
Trik yang sering aku pakai: gabungin SEARCH sama ISNUMBER.
=IF(ISNUMBER(SEARCH("gmail";A2));"Personal";"Korporat")
Logikanya: kalau SEARCH ketemu, dia ngasih angka. ISNUMBER ngecek apakah hasilnya angka. Kalau iya, berarti kata itu ada.
Ini cara paling bersih buat bikin kategori dari kolom teks. Nggak perlu wildcard rumit, nggak perlu IFERROR.
Aku pakai ini buat misahin email pribadi (gmail, yahoo, hotmail) dari email kantor. Di dataset toko_berkah, 68% pelanggan pakai Gmail.
Kesalahan umum
- Lupa +1 atau -1.
MID(A2;FIND("@";A2);10)bakal ikut bawa tanda at-nya. Tambah 1 buat lewatin dia. - Pakai FIND padahal butuh cuek huruf. Gejalanya: setengah kolom kamu #VALUE! tanpa alasan jelas. Ganti SEARCH.
- Ngira FIND bisa dipakai buat lookup. FIND nyari posisi karakter dalam teks. Kalau kamu mau cari baris di kolom, itu MATCH.
- Bungkus IFERROR tanpa cek dulu. Error yang ditutupi bisa jadi sinyal data rusak yang penting.
- Argumen ketiga FIND dilupain.
FIND("-";A2;5)mulai nyari dari posisi 5. Ini kunci buat nyari kemunculan kedua dan seterusnya.
Referensi resmi kedua fungsi ada di dokumentasi FIND dari Microsoft.
Di SQL, namanya POSITION
Kalau kamu pindah ke database, fungsi yang setara namanya POSITION atau STRPOS.
SELECT POSITION('@' IN email) FROM pelanggan;
SELECT SUBSTRING(email FROM POSITION('@' IN email) + 1) AS domain
FROM pelanggan;
Polanya sama persis: cari posisi, terus potong dari situ. Aku bahas di SUBSTRING SQL.
FAQ
Apa bedanya FIND dan SEARCH di Excel?
FIND peka huruf besar-kecil dan nggak dukung wildcard. SEARCH cuek huruf dan bisa pakai tanda bintang. Buat pencarian sehari-hari, SEARCH lebih fleksibel.
Kenapa FIND ngasih error #VALUE!?
Karena teks yang dicari nggak ketemu. FIND dan SEARCH selalu error kalau gagal, bukan ngasih nol. Bungkus pakai =IFERROR(FIND("@";A2);0).
Gimana cara ambil nama domain dari alamat email di Excel?
Cari posisi tanda at pakai FIND, ambil setelahnya pakai MID: =MID(A2;FIND("@";A2)+1;LEN(A2)). Tambah 1 supaya tanda at-nya nggak ikut.
SEARCH bisa pakai wildcard apa aja?
Tanda bintang buat karakter apa pun sebanyak apa pun, dan tanda tanya buat tepat satu karakter. FIND nggak punya fitur ini.
Apa bedanya FIND dan MATCH di Excel?
FIND nyari posisi karakter di dalam satu teks. MATCH nyari posisi nilai di dalam range. Beda urusan — FIND buat motong teks, MATCH buat lookup.
Penutup
Ringkasnya:
- SEARCH buat kerjaan biasa. FIND kalau huruf besar-kecil beneran penting.
- FIND jarang dipakai sendirian — dia bahan buat MID, LEFT, RIGHT.
- Argumen ketiga (mulai dari posisi berapa) yang bikin kamu bisa nyari kemunculan kedua.
Kalau kamu udah bisa nyari posisi, langkah berikutnya motong teksnya. Lanjut ke cara memisahkan teks di Excel.
Mau praktek langsung? Mulai latihan SQL gratis
Latihan interaktif, langsung di browser.
Artikel Terkait
Template Laporan Penjualan Excel: Struktur yang Dipakai Analis
Template laporan penjualan yang bener cuma butuh 3 sheet. Yang bikin laporan orang rusak biasanya karena data mentah dan hasil dicampur di satu tempat.
Cara Menghubungkan Google Sheets ke Looker Studio
Nyambungin Google Sheets ke Looker Studio cuma butuh 5 menit. Yang bikin lama itu datanya belum rapi. Ini urutan yang bener.
Cara Share Google Sheets dengan Aman: Permission & Protected Range
Panduan step by step share Google Sheets tanpa bikin rumus kehapus atau data gaji bocor — dari level permission, protected range, sampai audit siapa yang buka.