Isi kandungan
Jika anda mempunyai senarai teks dan ingin mencari sel dan mengembalikan nilai berdasarkan senarai, anda perlu membina formula kerana Excel tidak menyediakan cara mudah untuk berbuat demikian. Dalam artikel ini, saya telah menangani isu ini dan menyediakan lima formula berbeza untuk melaksanakan operasi ini supaya anda boleh memilih yang sesuai untuk situasi anda dan mengembalikan nilai jika sel mengandungi teks tertentu daripada senarai.
Muat turun Buku Kerja Amalan
Anda boleh memuat turun buku kerja yang saya gunakan dalam artikel ini daripada butang berikut dan berlatih dengannya sendiri.
Jika Sel Mengandungi Teks daripada List.xlsx
Pengenalan kepada Fungsi yang Digunakan dalam Artikel Ini
Formula yang saya gunakan di sini menggunakan fungsi berikut:
- Fungsi COUNTIFS:
Fungsi ini mengira sel yang sepadan dengan berbilang kriteria. Sintaks fungsi COUNTIFS adalah seperti berikut.
=COUNTIFS (julat1, kriteria1, [julat2], [kriteria2], …)
- julat1 – Julat pertama untuk dinilai.
- kriteria1 – Kriteria untuk digunakan pada julat pertama.
- julat2 [pilihan]: Julat ke-2, bertindak seperti julat1.
- kriteria2 [pilihan]: Kriteria untuk digunakan pada julat ke-2. Fungsi ini membenarkan maksimum 127 julat dan pasangan kriteria .
- Fungsi TEXTJOIN:
Fungsi ini menyertai teksnilai dengan pembatas. Sintaks Fungsi TEXTJOIN adalah seperti berikut.
=TEXTJOIN (pembatas, ignore_empty, text1, [text2], …)
- pembatas: Pemisah antara teks yang akan digabungkan oleh fungsi.
- ignore_empty: Argumen ini menentukan jika fungsi mengabaikan kosong sel atau tidak.
- teks1: nilai teks pertama (atau julat).
- teks2 [pilihan]: nilai teks kedua (atau julat) .
- Fungsi MATCH:
Fungsi ini mendapat kedudukan item dalam tatasusunan. Sintaks fungsi MATCH adalah seperti berikut.
=MATCH (lookup_value, lookup_array, [match_type])
- lookup_value: Nilai untuk dipadankan dalam lookup_array .
- lookup_array: Julat sel atau rujukan tatasusunan.
- jenis_padanan [pilihan]: 1 = tepat atau terkecil seterusnya, 0 = padanan tepat, -1 = tepat atau terbesar seterusnya. Secara lalai, match_type=1.
- Fungsi INDEX:
Fungsi ini mendapat nilai dalam senarai atau jadual berdasarkan lokasi . Sintaks Fungsi INDEX adalah seperti berikut.
=INDEX (array, row_num, [col_num], [area_num])
- tatasusunan: Julat sel atau pemalar tatasusunan.
- nombor_baris: Kedudukan baris dalam rujukan.
- col_num [pilihan] : Kedudukan lajur dalam rujukan.
- area_num [pilihan]: Julatsebagai rujukan yang sepatutnya digunakan.
- Fungsi IFERROR:
Fungsi ini memerangkap dan mengendalikan ralat. Sintaks Fungsi IFERROR adalah seperti berikut.
=IFERROR (value, value_if_error)
- nilai: Nilai, rujukan atau formula untuk menyemak ralat.
- value_if_error: Nilai untuk dikembalikan jika ralat ditemui.
- Fungsi SEARCH:
Fungsi ini mendapatkan lokasi teks dalam rentetan. Sintaks Fungsi SEARCH adalah seperti berikut.
=SEARCH (find_text, within_text, [start_num])
- find_text : Argumen ini menentukan teks mana yang hendak dicari.
- within_text: Ini menentukan tempat untuk mencari teks.
- start_num [pilihan]: Dengan ini, anda akan menentukan- dari kedudukan mana dalam rentetan teks anda akan mengira kedudukan teks yang ditentukan. Pilihan dan lalai kepada 1 dari kiri.
5 Formula untuk Mengembalikan Nilai dalam Excel Jika Sel Mengandungi Teks Tertentu daripada Senarai
Saya akan cuba membentangkan contoh kehidupan sebenar dalam set data ini. Beberapa minuman diwakili di sini. Kerepek , Minuman Sejuk dan Birin adalah tiga kategori minuman dalam set data ini. Dalam satu lajur yang dipanggil Semua Produk , nama dan kategori minuman dipautkan bersama. Dua daripada kategori ini, Chips dan ColdMinuman , juga dalam lajur Senarai . Berdasarkan lajur Senarai , output yang dikehendaki akan dipaparkan dalam lajur kedua.
1. Gabungkan COUNTIF, IF & ATAU Berfungsi untuk Mengembalikan Nilai Jika Sel Mengandungi Teks daripada Senarai
Ini ialah formula yang paling berguna jika anda ingin mengembalikan nilai keseluruhan sel selepas perlawanan.
Di sini, saya telah mengambil nilai sel Produk yang sepadan dengan kriteria lajur Senarai dan menunjukkannya kepada Produk berdasarkan senarai lajur itu.
Formulanya adalah seperti berikut:
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Pecahan Formula:
-
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),B5,"")
Di sini, tanda Asterisk ( * ) ialah watak kad bebas. Ia mencari subrentetan " Kerepek " dan "Minuman Sejuk" dalam Sel B5 iaitu rentetan "
Ruffles - Chips
"
.
-
=IF(OR(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*)), B5, "")
Fungsi COUNTIF mengembalikan satu untuk setiap padanan subrentetan. Memandangkan "
Chips
"
ditemui dalam Sel B5 , ia mengembalikan { 1:0 }.
-
=IF(OR({1;0}), B5, "")
Fungsi OR mengembalikan nilai TRUE jika mana-mana argumen adalah TRUE . Dalam kes ini, satu (1)= BENAR .
-
=IF(TRUE, "Ruffles - Chips", "")
Sebagai JIKA nilai fungsi ialah TRUE , ia mengembalikan argumen pertama yang merupakan output yang diingini.
Akhir Output : Ruffles – Cip
Nota:
Di sini, saya telah menunjukkansel yang sepadan tetapi anda boleh menunjukkan sebarang output yang anda mahu dengan menukar output fungsi IF dengan output yang anda inginkan.
=IF(OR(COUNTIF(B5,"*"&$E$5:$E$6&"*")),TRUE,FALSE)
Baca Lagi: Jika Sel Mengandungi Word Kemudian Berikan Nilai dalam Excel (4 Formula)
2. Gunakan Gabungan IF-OR dengan Fungsi SEARCH untuk Mengembalikan Nilai dengan Berbilang Syarat
Di sini, saya telah mengambil nilai sel Produk yang sepadan dengan Senarai kriteria lajur dan menunjukkannya kepada Produk berdasarkan senarai lajur itu.
Formulanya adalah seperti berikut:
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Pecahan Formula:
-
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),B5,"")
Fungsi SEARCH mencari nilai lajur Senarai dalam Sel B5 . Untuk " Cip " ia mengembalikan 11 yang merupakan kedudukan permulaan subrentetan. Untuk Minuman Sejuk , ia mengembalikan ralat.
-
=IF(OR(ISNUMBER(11),ISNUMBER(SEARCH(#VALUE))),B5,"")
Fungsi ISNUMBER ditukar 11 menjadi nilai TRUE dan ralat menjadi nilai FALSE .
-
=IF(OR(TRUE,FALSE)),B5,"")
Fungsi OR mengembalikan nilai TRUE jika mana-mana argumen adalah TRUE . Memandangkan terdapat argumen TRUE , ia juga mengembalikan nilai TRUE dalam kes ini.
-
=IF(TRUE, "Ruffles - Chips","")
Memandangkan nilai fungsi IF ialah TRUE , ia mengembalikan argumen pertama yang merupakan output yang diingini.
Output Akhir: Ruffles –Cip
Nota:
- Di sini, saya telah menunjukkan sel yang sepadan tetapi anda boleh menunjukkan sebarang output yang anda inginkan dengan menukar JIKA memfungsikan output dengan output yang anda inginkan.
=IF(OR(ISNUMBER(SEARCH($E$5,B5)),ISNUMBER(SEARCH($E$6,B5))),1,0)
- Faedah utama ini formula ialah ini bukan formula tatasusunan tetapi tidak disyorkan jika anda mempunyai banyak sel dalam Senarai kerana anda perlu memasukkan setiap sel Senarai secara manual.
- Untuk situasi sensitif huruf besar-besaran, kita boleh menggunakan formula di bawah berdasarkan Fungsi FIND dan bukannya fungsi SEARCH .
=IF(OR(ISNUMBER(FIND($E$5,B5)),ISNUMBER(FIND($E$6,B5))),B5,"")
Baca Lagi: Excel Jika Sel Mengandungi Teks Kemudian Kembalikan Nilai (8 Cara Mudah)
Bacaan Serupa:
- Cara Menjumlahkan Jika Sel Mengandungi Teks Khusus dalam Excel (6 Cara)
- Gunakan VLOOKUP Jika Sel Mengandungi Word dalam Teks dalam Excel
- Cara mencari teks dalam julat Excel & kembalikan rujukan sel (3 cara)
3. Gunakan Formula TEXTJOIN untuk Mengembalikan Nilai dalam Sel Lain Jika Sel Mempunyai Teks daripada Senarai
Formula ini berguna apabila anda perlu menunjukkan rentetan atau rentetan daripada Senarai yang dipadankan .
Di sini, saya telah mengambil nilai sel daripada lajur LIST yang dipadankan dengan Produk dan menunjukkannya kepada nilai Dipadankan daripada Senarai lajur.
Formulanya adalah seperti berikut:
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"), $E$5:$E$6,""))
FormulaPecahan:
-
=TEXTJOIN(", ",TRUE,IF(COUNTIF(B5,"*"&$E$5:$E$6&"*"),$E$5:$E$6,""))
Di sini, Tanda Asterisk ( * ) ialah watak kad bebas. Ia mencari subrentetan " Kerepek " dan "Minuman Sejuk" dalam Sel B5 iaitu rentetan " Ruffles – Chips ".
-
TEXTJOIN(", ",TRUE,IF(COUNTIF("Ruffles - Chips",*Chips*, *Cold Drinks*),$E$5:$E$6,""))
Fungsi COUNTIF mengembalikan satu untuk setiap padanan subrentetan. Oleh kerana “ Cip ” ditemui dalam Sel B5 , ia mengembalikan { 1:0 }.
-
TEXTJOIN(", ",TRUE,IF({1;0},$E$5:$E$6,""))
Fungsi IF hanya mengembalikan nilai “ Cip ” kerana hanya nilai pertama argumennya ialah satu = Benar .
-
TEXTJOIN(", ",TRUE,{"Chips";""})
Fungsi TEXTJOIN tidak melakukan apa-apa di sini kerana hanya satu nilai daripada Senarai telah dipadankan. Jika terdapat banyak nilai untuk dipadankan, ia akan mengembalikan kesemuanya dengan koma (,) antara nilai tersebut sebagai pemisah.
Output Akhir: Cip
Baca Lagi: Jika Sel Mengandungi Teks Kemudian Tambah Teks dalam Sel Lain dalam Excel
4. Gunakan Formula PADANAN INDEX untuk Mengembalikan Nilai Jika Sel Mengandungi Teks Tertentu
Ini adalah alternatif kepada formula TEXTJOIN . Formula ini juga menunjukkan rentetan atau rentetan daripada Senarai yang dipadankan.
Di sini, saya telah mengambil nilai sel daripada lajur LIST yang mana ia dipadankan dengan Produk dan menunjukkannya kepada nilai dipadankan daripada Senarai lajur.
Formulanya adalah seperti berikut:
=IFERROR(INDEX($E$5:$E$6, MATCH(1, COUNTIF(B5, "*"&$E$5:$E$6&"*"), 0)),"")
Pecahan Formula:
-
=IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF(B5,"*"&$E$5:$E$6&"*"),0)),"")
Di sini, Tanda Asterisk ( * ) ialah watak wildcard. Ia mencari subrentetan " Kerepek " dan " Minuman Sejuk " dalam Sel B5 iaitu rentetan " Ruffles – Chips ".
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,COUNTIF("Ruffles - Chips",*Chips*,*Cold Drinks*),0)),"")
Fungsi COUNTIF mengembalikan satu untuk setiap padanan subrentetan. Oleh kerana “ Cip ” ditemui dalam Sel B5 , ia mengembalikan { 1:0 }.
-
IFERROR(INDEX($E$5:$E$6,MATCH(1,{1;0}),0)),"")
Fungsi MATCH mengembalikan satu kerana hanya terdapat satu nilai “ Cip ” yang sepadan.
-
IFERROR(INDEX($E$5:$E$6,1),"")
Fungsi INDEX mengembalikan " Cip " kerana ia adalah nilai dalam tatasusunan Senarai .
-
IFERROR("Chips","")
Di sini, fungsi IFERROR digunakan untuk mengendalikan ralat yang akan berlaku jika tiada padanan .
Output Akhir: Cip
Nota:
Di sini, saya telah menunjukkan sel yang sepadan tetapi anda boleh tunjukkan sebarang output yang anda mahu dengan menukar IF output fungsi dengan output yang anda inginkan.
Baca Lagi: Formula Excel Jika Sel Mengandungi Teks Kemudian Kembalikan Nilai dalam Sel Lain
5. Gunakan Fungsi EXACT dengan IF dan TEXTJOIN
Ini adalah satu lagi penyelesaian untuk masalah ini dalam situasi yang berbeza. Di sini, saya telah mengambil nilai sel daripada lajur Senarai dengan ahli tunggal. Kami memadankan nilai ini dengan Produk dan menunjukkan semua nilai padanan dalam sel tunggal.
Formulanya adalah sebagaiberikut:
=TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Pecahan Formula :
-
EXACT(C5:C14,$F$5)
Bahagian ini menyemak nilai mana bagi Julat C5:14 yang sepadan dengan Sel F5 dan mengembalikan TRUE dan PALSU .
-
IF(EXACT(C5:C14,$F$5),B5:B14,"")
Bahagian ini mengembalikan nama yang kami dapat BENAR .
-
TEXTJOIN(", ",TRUE,IF(EXACT(C5:C14,$F$5),B5:B14,""))
Akhir sekali, ini menggabungkan semua nama dengan koma selepas setiap nama.
Nota Pantas
Semua formula ini di sini (kecuali yang ke-2) adalah formula tatasusunan. Ini bermakna anda perlu menekan Ctrl+Shift+Enter dan bukannya menekan butang Enter sahaja untuk memasukkan formula ini. Tetapi jika anda seorang pengguna Office 365 , maka anda boleh menggunakannya dengan menekan hanya Enter.
Kesimpulan
Dalam artikel ini, saya telah mengecilkan formula yang berbeza untuk pelbagai kes untuk mengembalikan nilai jika sel mengandungi teks tertentu daripada senarai. Saya harap anda dapat mencari penyelesaian kepada masalah anda. Sila tinggalkan komen jika anda mempunyai sebarang cadangan atau soalan. Selain itu, anda boleh melawati blog kami untuk lebih banyak artikel sedemikian.