Periksa sel untuk huruf tertentu atau kumpulan huruf

124

Di Google Spreadsheet, saya ingin menggunakan rumus yang akan menampilkan teks atau angka tertentu jika sel tertentu berisi huruf tertentu.

Misalnya, jika saya meletakkan =IF(A1="Black";"YES";"NO")dan A1 sama dengan "Hitam" - hasilnya "YA" dengan benar. Namun ketika saya meletakkannya =IF(A1="Bla";"YES";"NO")output "NO". Apakah ada rumus yang dapat saya gunakan yang dapat saya katakan sesuatu seperti =IF(A1 CONTAINS "Bla";"YES";"NO")sehingga menghasilkan "YA".

pengguna1799724
sumber

Jawaban:

161

Anda dapat menggunakan RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")
flyingjamus
sumber
74

Beberapa opsi tanpa REGEXMATCH, karena Anda mungkin ingin tidak membedakan huruf besar / kecil dan tidak ingin mengatakan blastatau ablativememicu a YES. Menggunakan koma sebagai pembatas, seperti di OP, dan untuk saat ini mengabaikan kondisi IF:

Pertama sangat mirip dengan jawaban @ user1598086:

=FIND("bla",A1)

Peka huruf besar / kecil tetapi mengembalikan #VALUE! daripada NOdan nomor daripada YES(keduanya masing-masing dapat diubah menjadi TIDAK / YA).

=SEARCH("bla",A1)  

Tidak peka huruf besar / kecil, jadi perlakukan Blackdan blacksederajat. Mengembalikan seperti di atas.

Yang pertama (untuk persamaan yang terakhir) untuk menunjukkan apakah blaada setelah tiga karakter pertama di A1:

=FIND("bla",A1,4)  

Menampilkan angka untuk blazer, blacktetapi #VALUE!untuk blazer, blue.

Untuk menemukan Blahanya ketika sebuah kata lengkap sendiri (yaitu di antara spasi - bukan di awal atau akhir 'kalimat'):

=SEARCH(" Bla ",A1) 

Karena pengembalian dalam semua kasus di atas adalah angka ("ditemukan", lebih YESdisukai) atau #VALUE!kita dapat menggunakan ISERROR untuk menguji #VALUE!dalam rumus IF, misalnya mengambil contoh pertama di atas:

 =if(iserror(FIND("bla",A1)),"NO","YES")  

Lebih lama dari pada regexmatchtetapi komponennya mudah disesuaikan.

kacang
sumber
@KaiNo Anda perlu mengganti ;dengan ,di Google Spreadsheet
Michael
@pnuts jawaban yang bagus!
Michael
2

Anda bisa menggunakan rumus berikut,

=IF(ISTEXT(REGEXEXTRACT(A1; "Bla")); "Yes";"No")
orang bodoh
sumber
-8

Gunakan saja = IF(A1="Bla*","YES","NO"). Saat Anda menyisipkan tanda bintang, itu bertindak sebagai kartu liar untuk sejumlah karakter setelah teks yang ditentukan.

Tyler Depies-Bobrowitz
sumber
2
Ini tidak bekerja. Mencoba: = if (N7 = "N *", 0,1) pada nilai sel "NO Thanks" dan mengembalikan "1"
Clay Nichols