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".

Jawaban:


161

Anda dapat menggunakan RegExMatch:

=IF(RegExMatch(A1;"Bla");"YES";"NO")

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.


@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")

-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.


2
Ini tidak bekerja. Mencoba: = if (N7 = "N *", 0,1) pada nilai sel "NO Thanks" dan mengembalikan "1"
Clay Nichols
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.