Isi kandungan
Tutorial menyediakan beberapa contoh formula "Excel jika mengandungi" yang menunjukkan cara mengembalikan sesuatu dalam lajur lain jika sel sasaran mengandungi nilai yang diperlukan, cara mencari padanan separa dan menguji berbilang kriteria dengan ATAU sebagai serta logik DAN.
Salah satu tugas yang paling biasa dalam Excel ialah menyemak sama ada sel mengandungi nilai minat. Apakah jenis nilai itu? Hanya sebarang teks atau nombor, teks tertentu atau sebarang nilai sama sekali (bukan sel kosong).
Terdapat beberapa variasi formula "Jika sel mengandungi" dalam Excel, bergantung pada nilai yang anda ingin cari. Secara amnya, anda akan menggunakan fungsi IF untuk melakukan ujian logik, dan mengembalikan satu nilai apabila syarat dipenuhi (sel mengandungi) dan/atau nilai lain apabila syarat tidak dipenuhi (sel tidak mengandungi). Contoh di bawah merangkumi senario yang paling kerap.
Jika sel mengandungi sebarang nilai, maka
Sebagai permulaan, mari lihat cara mencari sel yang mengandungi apa-apa sahaja: sebarang teks, nombor atau tarikh. Untuk ini, kita akan menggunakan formula IF mudah yang menyemak sel bukan kosong.
IF( sel"", value_to_return, "")Untuk contoh, untuk mengembalikan "Tidak kosong" dalam lajur B jika sel lajur A dalam baris yang sama mengandungi sebarang nilai, anda masukkan formula berikut dalam B2 dan kemudian klik dua kali petak hijau kecil di sudut kanan bawah untuk menyalin formula ke bawah yanglajur:
=IF(A2"", "Not blank", "")
Hasilnya akan kelihatan seperti ini:
Jika sel mengandungi teks, maka
Jika anda ingin mencari hanya sel dengan nilai teks yang mengabaikan nombor dan tarikh, kemudian gunakan IF dalam kombinasi dengan fungsi ISTEXT. Berikut ialah formula generik untuk mengembalikan beberapa nilai dalam sel lain jika sel sasaran mengandungi sebarang teks :
IF(ISTEXT( sel), value_to_return, " ")Seandainya, anda ingin memasukkan perkataan "ya" dalam lajur B jika sel dalam lajur A mengandungi teks. Untuk melakukannya, letakkan formula berikut dalam B2:
=IF(ISTEXT(A2), "Yes", "")
Jika sel mengandungi nombor, maka
Dengan cara yang sama , anda boleh mengenal pasti sel dengan nilai angka (nombor dan tarikh). Untuk ini, gunakan fungsi IF bersama-sama dengan ISNUMBER:
IF(ISNUMBER( sel), value_to_return, "")Formula berikut mengembalikan "ya" dalam lajur B jika sel yang sepadan dalam lajur A mengandungi sebarang nombor:
=IF(ISNUMBER(A2), "Yes", "")
Jika sel mengandungi teks tertentu
Mencari sel yang mengandungi teks tertentu (atau nombor atau tarikh) adalah mudah. Anda menulis formula IF biasa yang menyemak sama ada sel sasaran mengandungi teks yang diingini dan taip teks untuk dikembalikan dalam argumen value_if_true .
IF( sel=" text", value_to_return, "")Contohnya, untuk mengetahui sama ada sel A2 mengandungi "epal", gunakan formula ini:
=IF(A2="apples", "Yes", "")
Jika sel tidak mengandungi khususteks
Jika anda mencari hasil yang bertentangan, iaitu mengembalikan beberapa nilai ke lajur lain jika sel sasaran tidak mengandungi teks yang ditentukan ("epal"), kemudian lakukan salah satu daripada yang berikut.
Bekalkan rentetan kosong ("") dalam argumen value_if_true dan teks untuk dikembalikan dalam value_if_false argumen:
=IF(A2="apples", "", "Not apples")
Atau , letakkan operator "tidak sama dengan" dalam logical_test dan teks untuk dikembalikan dalam value_if_true:
=IF(A2"apples", "Not apples", "")
Walau apa pun, formula akan menghasilkan keputusan ini:
Jika sel mengandungi teks: formula sensitif huruf besar/kecil
Untuk memaksa formula anda membezakan antara aksara besar dan huruf kecil, gunakan fungsi EXACT yang menyemak sama ada dua rentetan teks betul-betul sama, termasuk huruf besar:
=IF(EXACT(A2,"APPLES"), "Yes", "")
Anda juga boleh memasukkan rentetan teks model dalam beberapa sel (katakan dalam C1), betulkan rujukan sel dengan tanda $ ($C$1), dan bandingkan sel sasaran dengan sel tersebut:
=IF(EXACT(A2,$C$1), "Yes", "")
Jika sel mengandungi rentetan teks tertentu (padanan separa)
Kami telah menyelesaikan tugasan remeh dan beralih kepada tugas yang lebih mencabar dan menarik :) Dalam contoh ini, diperlukan tiga fungsi berbeza untuk mengetahui sama ada aksara atau subrentetan tertentu adalah sebahagian daripada sel kandungan:
IF(ISNUMBER(SEARCH(" text", sel)), value_to_return,"")Bekerja dari dalam ke luar , inilah yang dilakukan oleh formula:
- TheFungsi SEARCH mencari rentetan teks, dan jika rentetan itu ditemui, mengembalikan kedudukan aksara pertama, #VALUE! ralat sebaliknya.
- Fungsi ISNUMBER menyemak sama ada SEARCH berjaya atau gagal. Jika SEARCH telah mengembalikan sebarang nombor, ISNUMBER mengembalikan TRUE. Jika SEARCH menghasilkan ralat, ISNUMBER mengembalikan FALSE.
- Akhir sekali, fungsi IF mengembalikan nilai yang ditentukan untuk sel yang mempunyai TRUE dalam ujian logik, rentetan kosong ("") sebaliknya.
Dan sekarang, mari kita lihat cara formula generik ini berfungsi dalam lembaran kerja kehidupan sebenar.
Jika sel mengandungi teks tertentu, letakkan nilai dalam sel lain
Andaikata anda mempunyai senarai pesanan dalam lajur A dan anda ingin mencari pesanan dengan pengecam tertentu, sebut "A-". Tugasan boleh dicapai dengan formula ini:
=IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")
Daripada pengekodan keras rentetan dalam formula, anda boleh memasukkannya dalam sel berasingan (E1), rujukan sel itu dalam formula anda :
=IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")
Untuk formula berfungsi dengan betul, pastikan anda mengunci alamat sel yang mengandungi rentetan dengan tanda $ (rujukan sel mutlak).
Jika sel mengandungi teks tertentu, salin ke lajur lain
Jika anda ingin menyalin kandungan sel yang sah di tempat lain, hanya berikan alamat sel yang dinilai (A2) dalam value_if_true argumen:
=IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")
Tangkapan skrin di bawah menunjukkan keputusan:
Jikasel mengandungi teks khusus: formula sensitif huruf besar-kecil
Dalam kedua-dua contoh di atas, formula tidak peka huruf besar-kecil. Dalam situasi apabila anda menggunakan data sensitif huruf besar-besaran, gunakan fungsi FIND dan bukannya SEARCH untuk membezakan huruf besar huruf.
Sebagai contoh, formula berikut akan mengenal pasti hanya pesanan dengan huruf besar "A-" mengabaikan huruf kecil " a-".
=IF(ISNUMBER(FIND("A-",A2)),"Valid","")
Jika sel mengandungi satu daripada banyak rentetan teks (OR logik)
Untuk mengenal pasti sel yang mengandungi sekurang-kurangnya salah satu daripada banyak perkara yang anda cari, gunakan salah satu daripada formula berikut.
Formula PENCARIAN JIKA ATAU ISNUMBER
Pendekatan yang paling jelas ialah menyemak setiap subrentetan secara individu dan mempunyai fungsi OR kembalikan TRUE dalam ujian logik formula IF jika sekurang-kurangnya satu subrentetan ditemui:
IF(OR(ISNUMBER(SEARCH(" string1", sel)), ISNUMBER (SEARCH(" string2", sel))), value_to_return, "")Andaikan anda mempunyai senarai SKU dalam lajur A dan anda ingin mencari mereka yang termasuk sama ada "pakaian" atau "skirt". Anda boleh melakukannya dengan menggunakan formula ini:
=IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")
Formula ini berfungsi dengan baik untuk beberapa item, tetapi ia sememangnya bukan cara untuk pergi jika anda ingin menyemak banyak perkara. Dalam kes ini, pendekatan yang lebih baik ialah menggunakan fungsi SUMPRODUCT seperti yang ditunjukkan dalam contoh seterusnya.
Formula CARIAN NOMBOR SUMPRODUCT
Jika andaberurusan dengan berbilang rentetan teks, mencari setiap rentetan secara individu akan menjadikan formula anda terlalu panjang dan sukar dibaca. Penyelesaian yang lebih elegan ialah membenamkan gabungan ISNUMBER SEARCH ke dalam fungsi SUMPRODUCT dan lihat jika hasilnya lebih besar daripada sifar:
SUMPRODUCT(--ISNUMBER(SEARCH( rentetan, sel)))>0Sebagai contoh, untuk mengetahui sama ada A2 mengandungi mana-mana perkataan yang dimasukkan dalam sel D2:D4, gunakan formula ini:
=SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0
Sebagai alternatif, anda boleh mencipta julat bernama yang mengandungi rentetan untuk dicari atau membekalkan perkataan terus dalam formula:
=SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0
Walau apa pun, hasilnya akan serupa dengan ini:
Untuk menjadikan output lebih mesra pengguna, anda boleh menyusun formula di atas ke dalam fungsi IF dan mengembalikan teks anda sendiri dan bukannya nilai TRUE/FALSE:
=IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")
Cara formula ini berfungsi
Pada asasnya, anda menggunakan ISNUMBER bersama-sama dengan SEARCH seperti yang dijelaskan dalam contoh sebelumnya. Dalam kes ini, hasil carian diwakili dalam bentuk tatasusunan seperti {TRUE;FALSE;FALSE}. Jika sel mengandungi sekurang-kurangnya satu daripada subrentetan yang ditentukan, akan ada TRUE dalam tatasusunan. Pengendali unari berganda (--) memaksa nilai TRUE / FALSE kepada 1 dan 0, masing-masing, dan menyampaikan tatasusunan seperti {1;0;0}. Akhir sekali, fungsi SUMPRODUCT menjumlahkan nombor dan kami memilih sel yang hasilnya lebih besar daripada sifar.
Jikasel mengandungi beberapa rentetan (DAN logik)
Dalam situasi apabila anda ingin mencari sel yang mengandungi semua rentetan teks yang ditentukan, gunakan gabungan ISNUMBER SEARCH yang sudah biasa bersama-sama dengan IF AND:
IF(AND(ISNUMBER (SEARCH(" string1", sel)), ISNUMBER(SEARCH(" string2", sel))), value_to_return,"")Sebagai contoh, anda boleh mencari SKU yang mengandungi kedua-dua "pakaian" dan "biru" dengan formula ini:
=IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")
Atau, anda boleh menaip rentetan dalam sel berasingan dan rujuk sel tersebut dalam formula anda:
=IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")
Sebagai penyelesaian alternatif, anda boleh mengira kejadian setiap rentetan dan semak jika setiap kiraan lebih besar daripada sifar:
=IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")
Hasilnya akan sama seperti yang ditunjukkan dalam tangkapan skrin di atas.
Cara untuk mengembalikan hasil yang berbeza berdasarkan nilai sel
Sekiranya anda ingin membandingkan setiap sel dalam lajur sasaran dengan senarai item lain dan mengembalikan nilai yang berbeza untuk setiap padanan, gunakan salah satu pendekatan berikut.
Bersarang IFs
Logik formula IF bersarang adalah semudah ini: anda menggunakan fungsi IF yang berasingan untuk menguji setiap keadaan dan mengembalikan nilai yang berbeza bergantung pada keputusan ujian tersebut.
IF( sel=" lookup_text1", " return_ text1", JIKA( sel=" lookup_text2", " kembali_ teks2", IF( sel=" cari_teks3", " kembali_ teks3", "")))Andaikan anda mempunyai senarai item dalam lajur A dan anda ingin mempunyai singkatan mereka dalam lajur B. Untuk melakukannya, gunakan formula berikut:
=IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))
Untuk butiran penuh tentang sintaks dan logik IF bersarang, sila lihat IF bersarang Excel - berbilang syarat dalam satu formula.
Formula carian
Jika anda mencari lebih banyak formula padat dan lebih mudah difahami, gunakan fungsi LOOKUP dengan nilai carian dan pulangan yang dibekalkan sebagai pemalar tatasusunan menegak:
LOOKUP( sel, {" lookup_text1";" lookup_text2";" carian_teks3";…}, {" kembali_ teks1";" kembali_ teks2";" kembali_ teks3";…})Untuk hasil yang tepat, pastikan anda menyenaraikan nilai carian dalam tertib abjad , dari A hingga Z.
=LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})
Berbanding dengan IF bersarang, formula Carian mempunyai satu lagi kelebihan - ia memahami aksara wildcard dan oleh itu boleh mengenal pasti padanan separa.
Sebagai contoh, jika lajur A mengandungi beberapa jenis pisang, anda boleh mencari "*banana*" dan mempunyai singkatan yang sama ("B") dikembalikan untuk semua sel tersebut:
=LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})
Untuk mendapatkan maklumat lanjut, sila lihat formula Carian sebagai alternatif kepada IF bersarang.
Formula Vlookup
Apabila bekerja dengan set data boleh ubah, mungkin lebih mudah untuk memasukkan senarai padanan secara berasingan sel dan mendapatkannya dengan menggunakan formula Vlookup,cth.:
=VLOOKUP(A2, $D$2:$E$5, 2,FALSE )
Untuk mendapatkan maklumat lanjut, sila lihat tutorial Excel VLOOKUP untuk pemula.
Ini adalah cara anda menyemak sama ada sel mengandungi sebarang nilai atau teks khusus dalam Excel. Minggu depan, kita akan terus melihat sel If Excel mengandungi formula dan belajar cara mengira atau menjumlahkan sel yang berkaitan, menyalin atau mengalih keluar keseluruhan baris yang mengandungi sel tersebut dan banyak lagi. Sila nantikan!
Buku kerja Amalan
Excel Jika Sel Mengandungi - contoh formula (fail.xlsx)