Formula Google Sheets untuk "jika mengandung"


40

Saya mencoba mencari cara mengidentifikasi IFdaftar item dalam satu sel berisi nilai atau string.

CONTOH

Sel A1 mengandung sites, sheets, docs, slides.

Saya ingin sel B1 untuk menampilkan 1 'jika' sel A1 berisi string sites.

RUMUS

=if(A1 ?????? "sites", 1,0)

Saya tidak yakin apa yang harus diganti di ??????dalam rumus di atas ATAU jika rumus ini memungkinkan. Setiap ide tentang bagaimana mencapai hasil yang diinginkan sangat dihargai.

Jawaban:


55

Anda dapat menggunakan REGEXMATCH:

=IF(REGEXMATCH(A1, "sites"), 1, 0)

Untuk menjelaskan, REGEXMATCH mengembalikan true jika dan hanya jika argumennya adalah substring dari string Anda.


10
Menggunakan regexmatchakan lebih sederhana: if(regexmatch(A1, "sites"), 1, 0).

1
"Jika" tidak diperlukan karena regexmatch sudah mengembalikan boolean, jadi cukup "REGEXMATCH (A1," sites ")"
David

2
Jika ada di sana sehingga mereka dapat mengubah yang benar menjadi 1 atau 0 jika salah
Aurielle Perlmann

7

=if(search("sites",B2)>0,1,0)

=if(IFERROR(search("sites",B2)>0,0),1,0)

Keduanya bekerja. Yang kedua menulis 0 jika ada kesalahan.


2
Rumus pertama tidak akan pernah mengembalikan 0 karena SEARCH(search_for, text_to_search, [starting_at])akan mengembalikan kesalahan ketika search_fortidak ditemukan.
Rubén

1

Anda mungkin melakukan ini karena Anda ingin mengetahui jumlah atau rata-rata # baris yang memiliki kata "situs" di dalamnya. Dengan asumsi Anda memiliki 100 baris entri pada kolom A, Anda dapat menggunakan fungsi ini untuk mengetahui berapa banyak baris yang memiliki kata "situs" di dalamnya:

=QUERY(A1:A100, "select count(A) where A like '%sites%'")

Ini jauh lebih cepat daripada membuat kolom 1s dan nol dan kemudian beroperasi pada kolom baru itu.


Bisakah ini bekerja lebih dari satu kotak, bukan hanya kolom?
Adam Starrh

Ya. alih-alih A1:A100Anda bisa membuatnya A1:C100dan kemudian menulis kueri dengan kolom A, B dan C.
Ryan Shillington

1

Solusi tanpa REGEX:

=if(iserror(FIND("sites",B2)),0,1)

hal-hal kapitalisasi dan iflogika harus dibalik, mengingat bahwa jawabannya adalah trueketika string tidak ditemukan.


Ini pada dasarnya sama dengan jawaban ini , tetapi memperkenalkan hal sensitif pada kasus. By the way data sampel yang disediakan oleh OP termasuk sheetstidak Sheets.
Rubén


0

Jika Anda, seperti yang disarankan Ryan Shillington, ingin tahu jumlah sel dalam rentang yang memiliki "situs" di dalamnya, Anda dapat mencoba:

=COUNTIF(A1:A100;"*sites*") 

* Bertindak sebagai gagasan wildcard, sehingga ia akan mencari kecocokan di mana saja di dalam sel, bukan hanya kecocokan persis untuk seluruh sel.

Saya juga telah melakukan ini dengan referensi sel alih-alih " situs ", tetapi kemudian Anda harus menambahkan wildcard-asterix ke teks di dalam sel.


0

Jika Anda menggunakan opsi tanda bintang dan ingin referensi sel, Anda dapat menggunakan fungsi CONCATENATE untuk menambahkan tanda bintang

=COUNTIF(A1:A100,CONCATENATE("*",A1,"*"))

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.