Jawaban:
Coba gunakan ini:
=ISNUMBER(SEARCH("Some Text", A3))
Ini akan kembali TRUE
jika sel A3
berisi Some Text
.
CONTAINS("Text", cell)
fungsi.
FIND()
sebagai penggantiSEARCH()
,
bukan ;
. Setelah mengubah formula yang disediakan untuk =ISNUMBER(SEARCH("Some Text"; A3))
itu berfungsi. Terima kasih!
Rumus berikut menentukan apakah teks "PERIKSA" muncul di sel C10. Jika tidak, hasilnya kosong. Jika ya, hasilnya adalah karya "PERIKSA".
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Formula ini tampaknya lebih intuitif bagi saya:
=SUBSTITUTE(A1,"SomeText","") <> A1
ini mengembalikan BENAR jika "SomeText" terkandung dalam A1.
Rumus IsNumber / Search dan IsError / Find yang disebutkan dalam jawaban lain tentu berhasil, tetapi saya selalu merasa perlu melihat bantuan atau terlalu sering bereksperimen di Excel dengan yang itu.
Bagi mereka yang ingin melakukan ini menggunakan fungsi tunggal di dalam pernyataan IF, saya menggunakan
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
untuk melihat apakah TEXT substring ada di sel A1
[CATATAN: TEXT perlu memiliki tanda bintang di sekitarnya]
Periksa FIND()
fungsi di Excel.
Sintaksis:
FIND( substring, string, [start_position])
Kembali #VALUE!
jika tidak menemukan substring.
ISNUMBER
sini juga berfungsi, hanya untuk jenis huruf yang cocok.
Saya suka jawaban Rink.Attendant.6. Saya sebenarnya ingin memeriksa beberapa string dan melakukannya dengan cara ini:
Pertama situasinya: Nama-nama yang bisa menjadi pembangun rumah atau nama komunitas dan saya perlu menandai pembangun sebagai satu kelompok. Untuk melakukan ini saya mencari kata "pembangun" atau "konstruksi", dll. Jadi -
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))
?
COUNTIFS
:COUNTIFS(A1,"*builder*",A1,"*construction*")
Ini pertanyaan lama tapi saya pikir itu masih berlaku.
Karena tidak ada fungsi CONTAINS, mengapa tidak mendeklarasikannya di VBA? Kode di bawah ini menggunakan fungsi VBA Instr, yang mencari substring dalam sebuah string. Ia mengembalikan 0 ketika string tidak ditemukan.
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
Ini adalah pertanyaan lama tetapi solusi bagi mereka yang menggunakan Excel 2016 atau yang lebih baru adalah Anda dapat menghapus kebutuhan untuk struktur bersarang jika menggunakan IFS( condition1, return1 [,condition2, return2] ...)
kondisional baru .
Saya telah memformatnya untuk membuatnya lebih jelas secara visual tentang bagaimana menggunakannya untuk kasus pertanyaan ini:
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
Karena SEARCH
mengembalikan kesalahan jika string tidak ditemukan saya membungkusnya dengan ISERROR(...)=FALSE
untuk memeriksa kebenaran dan kemudian mengembalikan nilai yang diinginkan. Akan lebih bagus jika SEARCH
mengembalikan 0 bukannya kesalahan untuk keterbacaan, tapi itu hanya cara kerjanya sayangnya.
Catatan penting lainnya adalah bahwa IFS
akan mengembalikan kecocokan yang ditemukan pertama kali dan karenanya memesan adalah penting. Sebagai contoh jika string saya Surf, Surfing, Surfs
seperti di String1,String2,String3
atas dan string sel saya apakah Surfing
itu akan cocok pada suku pertama bukan yang kedua karena substring yang Surf
. Jadi penyebut yang umum harus menjadi yang terakhir dalam daftar. Saya IFS
perlu diperintahkan Surfing, Surfs, Surf
untuk bekerja dengan benar (bertukar Surfing
dan Surfs
juga bekerja dalam contoh sederhana ini), tetapi Surf
akan menjadi yang terakhir.
Ini rumus yang saya gunakan
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
IFERROR(LEN(A1) - FIND(".", A1), 0)