Daftar Isi
Tutorial ini menyediakan sejumlah contoh rumus "Excel if contains" yang menunjukkan cara mengembalikan sesuatu di kolom lain jika sel target berisi nilai yang diperlukan, cara mencari dengan pencocokan parsial dan menguji beberapa kriteria dengan logika OR serta AND.
Salah satu tugas paling umum di Excel adalah memeriksa apakah sel berisi nilai yang menarik. Nilai seperti apa itu? Hanya teks atau angka apa pun, teks tertentu, atau nilai apa pun (bukan sel kosong).
Ada beberapa variasi rumus "Jika sel berisi" di Excel, tergantung pada nilai apa yang ingin Anda temukan. Umumnya, Anda akan menggunakan fungsi IF untuk melakukan tes logis, dan mengembalikan satu nilai saat kondisi terpenuhi (sel berisi) dan / atau nilai lain saat kondisi tidak terpenuhi (sel tidak berisi). Contoh di bawah ini mencakup skenario yang paling sering terjadi.
Jika sel berisi nilai apa pun, maka
Sebagai permulaan, mari kita lihat cara menemukan sel yang berisi apa saja: teks, angka, atau tanggal apa pun. Untuk ini, kita akan menggunakan rumus IF sederhana yang memeriksa sel yang tidak kosong.
JIKA( sel "", value_to_return , "")Misalnya, untuk mengembalikan "Tidak kosong" di kolom B jika sel kolom A di baris yang sama berisi nilai apa pun, Anda memasukkan rumus berikut di B2, lalu klik dua kali kotak hijau kecil di sudut kanan bawah untuk menyalin rumus ke bawah kolom:
=IF(A2"", "Tidak kosong", "")
Hasilnya akan terlihat mirip dengan ini:
Jika sel berisi teks, maka
Jika Anda hanya ingin menemukan sel dengan nilai teks yang mengabaikan angka dan tanggal, gunakan IF yang dikombinasikan dengan fungsi ISTEXT. Berikut rumus umum untuk mengembalikan beberapa nilai di sel lain jika sel target berisi teks apa saja :
JIKA (ISTEXT( sel ), value_to_return , "")Misalkan, Anda ingin menyisipkan kata "ya" di kolom B jika sel di kolom A berisi teks. Untuk menyelesaikannya, masukkan rumus berikut di B2:
=IF(ISTEXT(A2), "Ya", "")
Jika sel berisi angka, maka
Dengan cara yang sama, Anda dapat mengidentifikasi sel dengan nilai numerik (angka dan tanggal). Untuk ini, gunakan fungsi IF bersama dengan ISNUMBER:
JIKA (ISNUMBER( sel ), value_to_return , "")Rumus berikut mengembalikan "ya" di kolom B jika sel yang sesuai di kolom A berisi angka apa pun:
=IF(ISNUMBER(A2), "Ya", "")
Jika sel berisi teks tertentu
Menemukan sel yang berisi teks (atau angka atau tanggal) tertentu itu mudah. Anda menulis rumus IF biasa yang memeriksa apakah sel target berisi teks yang diinginkan, dan mengetik teks untuk dikembalikan dalam rumus value_if_true argumen.
JIKA( sel =" teks ", value_to_return , "")Misalnya, untuk mengetahui apakah sel A2 berisi "apel", gunakan rumus ini:
=IF(A2="apel", "Ya", "")
Jika sel tidak berisi teks tertentu
Jika Anda mencari hasil yang berlawanan, yaitu mengembalikan beberapa nilai ke kolom lain jika sel target tidak berisi teks yang ditentukan ("apel"), lakukan salah satu hal berikut.
Sediakan string kosong ("") di dalam value_if_true argumen, dan teks untuk dikembalikan dalam value_if_false argumen:
=IF(A2="apel", "", "Bukan apel")
Atau, letakkan operator "tidak sama dengan" di logical_test dan teks untuk dikembalikan dalam value_if_true:
=IF(A2 "apel", "Bukan apel", "")
Apa pun itu, rumus akan menghasilkan hasil ini:
Jika sel berisi teks: formula peka huruf besar-kecil
Untuk memaksa rumusmu membedakan antara karakter huruf besar dan huruf kecil, gunakan fungsi EXACT yang memeriksa apakah dua string teks sama persis, termasuk huruf besar:
=IF(EXACT(A2, "APPLES"), "Ya", "")
Anda juga dapat memasukkan string teks model di beberapa sel (katakanlah di C1), perbaiki referensi sel dengan tanda $ ($ C $ 1), dan bandingkan sel target dengan sel itu:
=IF(EXACT(A2,$C$1), "Ya", "")
Jika sel berisi string teks tertentu (kecocokan parsial)
Kita telah selesai dengan tugas-tugas sepele dan beralih ke tugas-tugas yang lebih menantang dan menarik :) Dalam contoh ini, dibutuhkan tiga fungsi yang berbeda untuk mengetahui apakah karakter atau substring yang diberikan adalah bagian dari isi sel:
IF(ISNUMBER(PENCARIAN(" teks" , sel )), value_to_return ,"")Bekerja dari dalam ke luar, inilah yang dilakukan formula ini:
- Fungsi SEARCH mencari string teks, dan jika string ditemukan, mengembalikan posisi karakter pertama, kesalahan #VALUE! jika tidak.
- Fungsi ISNUMBER memeriksa apakah PENCARIAN berhasil atau gagal. Jika PENCARIAN telah mengembalikan angka apa pun, ISNUMBER mengembalikan TRUE. Jika PENCARIAN menghasilkan kesalahan, ISNUMBER mengembalikan FALSE.
- Terakhir, fungsi IF mengembalikan nilai yang ditentukan untuk sel yang memiliki TRUE dalam tes logis, string kosong ("") jika tidak.
Dan sekarang, mari kita lihat bagaimana rumus umum ini bekerja dalam lembar kerja kehidupan nyata.
Jika sel berisi teks tertentu, letakkan nilai di sel lain
Misalkan Anda memiliki daftar pesanan di kolom A dan Anda ingin menemukan pesanan dengan pengenal tertentu, katakanlah "A-". Tugas tersebut dapat diselesaikan dengan rumus ini:
=IF(ISNUMBER(SEARCH("A-",A2)), "Valid","")
Alih-alih melakukan hardcoding string tersebut dalam rumusnya, kamu bisa memasukkannya di cell terpisah (E1), lalu mereferensikan cell tersebut dalam rumusmu:
=IF(ISNUMBER(SEARCH($E$1,A2)), "Valid","")
Agar rumus berfungsi dengan benar, pastikan untuk mengunci alamat sel yang berisi string dengan tanda $ (referensi sel absolut).
Jika sel berisi teks tertentu, salin ke kolom lain
Jika Anda ingin menyalin isi sel yang valid di tempat lain, cukup berikan alamat sel yang dievaluasi (A2) dalam value_if_true argumen:
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
Tangkapan layar di bawah ini menunjukkan hasilnya:
Jika sel berisi teks tertentu: rumus case-sensitive
Dalam kedua contoh di atas, rumusnya tidak peka huruf besar-kecil. Dalam situasi saat Anda bekerja dengan data yang peka huruf besar-kecil, gunakan fungsi FIND alih-alih SEARCH untuk membedakan kasus karakter.
Misalnya, rumus berikut ini hanya akan mengidentifikasi order dengan huruf besar "A-" yang mengabaikan huruf kecil "a-".
=IF(ISNUMBER(FIND("A-",A2)), "Valid","")
Jika sel berisi salah satu dari banyak string teks (logika OR)
Untuk mengidentifikasi sel yang berisi setidaknya satu dari banyak hal yang Anda cari, gunakan salah satu rumus berikut.
JIKA ATAU ISNUMBER PENCARIAN rumus
Pendekatan yang paling jelas adalah memeriksa setiap substring satu per satu dan meminta fungsi OR mengembalikan TRUE dalam tes logis rumus IF jika setidaknya satu substring ditemukan:
IF(OR(ISNUMBER(SEARCH(" string1 ", sel )), ISNUMBER(PENCARIAN(" string2 ", sel ))), value_to_return , "")Misalkan Anda memiliki daftar SKU di kolom A dan Anda ingin menemukan yang menyertakan "dress" atau "skirt". Anda dapat menyelesaikannya dengan menggunakan rumus ini:
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))), "Valid ","")
Rumus ini bekerja cukup baik untuk beberapa item, tetapi tentu saja bukan cara yang tepat jika Anda ingin memeriksa banyak hal. Dalam hal ini, pendekatan yang lebih baik adalah menggunakan fungsi SUMPRODUCT seperti yang ditunjukkan pada contoh berikut.
Rumus PENCARIAN SUMPRODUCT ISNUMBER
Jika Anda berurusan dengan beberapa string teks, mencari setiap string satu per satu akan membuat rumus Anda terlalu panjang dan sulit dibaca. Solusi yang lebih elegan adalah menyematkan kombinasi ISNUMBER SEARCH ke dalam fungsi SUMPRODUCT, dan melihat apakah hasilnya lebih besar dari nol:
SUMPRODUCT(--ISNUMBER(SEARCH( string , sel )))>0Misalnya, untuk mengetahui apakah A2 berisi salah satu kata yang dimasukkan dalam sel D2: D4, gunakan rumus ini:
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Alternatifnya, Anda bisa membuat rentang bernama yang berisi string yang akan dicari, atau menyediakan kata-kata secara langsung dalam formula:
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress", "skirt", "jeans"},A2)))>0
Apa pun itu, hasilnya akan mirip dengan ini:
Untuk membuat output lebih ramah pengguna, Anda dapat menyarangkan rumus di atas ke dalam fungsi IF dan mengembalikan teks Anda sendiri alih-alih nilai TRUE / FALSE:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
Bagaimana formula ini bekerja
Pada intinya, Anda menggunakan ISNUMBER bersama dengan SEARCH seperti yang dijelaskan dalam contoh sebelumnya. Dalam hal ini, hasil pencarian direpresentasikan dalam bentuk larik seperti {TRUE;FALSE;FALSE}. Jika sel berisi setidaknya satu dari substring yang ditentukan, maka akan ada TRUE di dalam larik tersebut. Operator unary ganda (--) memaksa nilai TRUE / FALSE menjadi 1 dan 0, masing-masing, dan menghasilkan larik seperti{1;0;0}. Akhirnya, fungsi SUMPRODUCT menjumlahkan angka-angka, dan kita memilih sel yang hasilnya lebih besar dari nol.
Jika sel berisi beberapa string (logika AND)
Dalam situasi ketika Anda ingin menemukan sel yang berisi semua string teks yang ditentukan, gunakan kombinasi ISNUMBER SEARCH yang sudah dikenal bersama dengan IF AND:
IF(AND(ISNUMBER(SEARCH(" string1 ", sel )), ISNUMBER(PENCARIAN(" string2 ", sel ))), value_to_return ,"")Misalnya, Anda dapat menemukan SKU yang mengandung "dress" dan "blue" dengan rumus ini:
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))), "Valid ","")
Atau, kamu bisa mengetikkan stringnya di cell terpisah dan mereferensikan cell tersebut dalam rumusmu:
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))), "Valid ","")
Sebagai solusi alternatif, Anda dapat menghitung kemunculan setiap string dan memeriksa apakah setiap hitungan lebih besar dari nol:
=IF(AND(COUNTIF(A2, "*busana*")>0,COUNTIF(A2, "*biru*")>0), "Valid","")
Hasilnya akan persis seperti yang ditunjukkan pada screenshot di atas.
Cara mengembalikan hasil yang berbeda berdasarkan nilai sel
Jika Anda ingin membandingkan setiap sel di kolom target dengan daftar item lain dan mengembalikan nilai yang berbeda untuk setiap kecocokan, gunakan salah satu pendekatan berikut.
IF bersarang
Logika rumus IF bersarang sesederhana ini: Anda menggunakan fungsi IF terpisah untuk menguji setiap kondisi, dan mengembalikan nilai yang berbeda tergantung pada hasil pengujian tersebut.
JIKA( sel =" lookup_text1 ", " kembali _ teks1 ", JIKA( sel =" lookup_text2 ", " kembali _ teks2 ", JIKA( sel =" lookup_text3 ", " kembali _ teks3 ", "")))Misalkan Anda memiliki daftar item di kolom A dan Anda ingin memiliki singkatannya di kolom B. Untuk menyelesaikannya, gunakan rumus berikut:
=IF(A2="apel", "Ap", IF(A2="alpukat", "Av", IF(A2="pisang", "B", IF(A2="lemon", "L", ""))))
Untuk detail lengkap tentang sintaks dan logika IF bersarang, silakan lihat Excel IF bersarang - beberapa kondisi dalam satu rumus.
Rumus pencarian
Jika Anda mencari rumus yang lebih ringkas dan lebih mudah dimengerti, gunakan fungsi LOOKUP dengan pencarian dan nilai balik yang disediakan sebagai konstanta array vertikal:
LOOKUP( sel , {" lookup_text1 ";" lookup_text2 ";" lookup_text3 ";...}, {" kembali _ teks1 ";" kembali _ teks2 ";" kembali _ teks3 ";...})Untuk hasil yang akurat, pastikan untuk mencantumkan nilai pencarian dalam urutan abjad dari A hingga Z.
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
Dibandingkan dengan IF bersarang, rumus Lookup memiliki satu keuntungan lagi - rumus ini memahami karakter wildcard dan karenanya bisa mengidentifikasi kecocokan parsial.
Misalnya, jika kolom A berisi beberapa jenis pisang, Anda bisa mencari "* pisang*" dan mendapatkan singkatan yang sama ("B") yang dikembalikan untuk semua sel tersebut:
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Untuk informasi lebih lanjut, silakan lihat Rumus pencarian sebagai alternatif IF bersarang.
Rumus Vlookup
Saat bekerja dengan kumpulan data variabel, mungkin lebih mudah untuk memasukkan daftar kecocokan dalam sel terpisah dan mengambilnya dengan menggunakan rumus Vlookup, misalnya:
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE)
Untuk informasi lebih lanjut, silakan lihat tutorial VLOOKUP Excel untuk pemula.
Minggu depan, kita akan terus melihat rumus Excel Jika sel berisi rumus dan mempelajari cara menghitung atau menjumlahkan sel yang relevan, menyalin atau menghapus seluruh baris yang berisi sel tersebut, dan banyak lagi.
Buku kerja praktik
Excel Jika Sel Berisi - contoh rumus (file .xlsx)