Câu trả lời:
Hãy thử sử dụng cái này:
=ISNUMBER(SEARCH("Some Text", A3))
Điều này sẽ trở lại TRUE
nếu ô A3
chứa Some Text
.
CONTAINS("Text", cell)
chức năng.
FIND()
thay choSEARCH()
,
thay vì ;
. Sau khi thay đổi công thức được cung cấp để =ISNUMBER(SEARCH("Some Text"; A3))
nó hoạt động. Cảm ơn!
Công thức sau đây xác định nếu văn bản "KIỂM TRA" xuất hiện trong ô C10. Nếu không, kết quả là trống. Nếu có, kết quả là công việc "KIỂM TRA".
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
Công thức này có vẻ trực quan hơn đối với tôi:
=SUBSTITUTE(A1,"SomeText","") <> A1
cái này trả về TRUE nếu "someText" được chứa trong A1.
Các công thức IsNumber / Search và IsError / Find được đề cập trong các câu trả lời khác chắc chắn có tác dụng, nhưng tôi luôn thấy mình cần phải xem trợ giúp hoặc thử nghiệm trong Excel quá thường xuyên với những công thức đó.
Đối với những người muốn thực hiện việc này bằng một hàm duy nhất bên trong câu lệnh IF, tôi sử dụng
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
để xem liệu chuỗi con có ở ô A1 không
[LƯU Ý: VĂN BẢN cần có các dấu sao xung quanh nó]
Kiểm tra FIND()
chức năng trong Excel.
Cú pháp:
FIND( substring, string, [start_position])
Trả về #VALUE!
nếu nó không tìm thấy chuỗi con.
ISNUMBER
này cũng hoạt động, chỉ cho các trường hợp phù hợp với trường hợp nhạy cảm.
Tôi thích câu trả lời của Rink. Tôi thực sự muốn kiểm tra nhiều chuỗi và thực hiện theo cách này:
Đầu tiên là tình huống: Tên có thể là nhà xây dựng hoặc tên cộng đồng và tôi cần xô các nhà xây dựng thành một nhóm. Để làm điều này tôi đang tìm từ "người xây dựng" hoặc "công trình", v.v.
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))
nào?
COUNTIFS
:COUNTIFS(A1,"*builder*",A1,"*construction*")
Đó là một câu hỏi cũ nhưng tôi nghĩ nó vẫn còn hiệu lực.
Vì không có chức năng CONTAIN, tại sao không khai báo nó trong VBA? Đoạn mã dưới đây sử dụng hàm VBA م, tìm chuỗi con trong chuỗi. Nó trả về 0 khi không tìm thấy chuỗi.
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
Đây là một câu hỏi cũ nhưng một giải pháp cho những người sử dụng Excel 2016 hoặc mới hơn là bạn có thể loại bỏ nhu cầu lồng nhau nếu các cấu trúc bằng cách sử dụng IFS( condition1, return1 [,condition2, return2] ...)
điều kiện mới .
Tôi đã định dạng nó để làm cho nó rõ ràng hơn về cách sử dụng nó cho trường hợp của câu hỏi này:
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
Vì SEARCH
trả về lỗi nếu không tìm thấy chuỗi, tôi đã bọc nó bằng một ISERROR(...)=FALSE
dấu kiểm để kiểm tra sự thật và sau đó trả về giá trị mong muốn. Sẽ thật tuyệt nếu được SEARCH
trả về 0 thay vì lỗi về khả năng đọc, nhưng đó chỉ là cách nó hoạt động không may.
Một lưu ý quan trọng khác là IFS
sẽ trả lại trận đấu mà nó tìm thấy đầu tiên và do đó việc đặt hàng rất quan trọng. Ví dụ: nếu các chuỗi của tôi Surf, Surfing, Surfs
như String1,String2,String3
trên và chuỗi ô của tôi Surfing
thì nó sẽ khớp với thuật ngữ đầu tiên thay vì chuỗi thứ hai vì chuỗi con là Surf
. Do đó mẫu số chung cần phải là cuối cùng trong danh sách. My IFS
sẽ cần phải được yêu cầu Surfing, Surfs, Surf
làm việc chính xác (hoán đổi Surfing
và Surfs
cũng sẽ hoạt động trong ví dụ đơn giản này), nhưng Surf
sẽ cần phải là cuối cùng.
Đây là công thức tôi đang sử dụng
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
IFERROR(LEN(A1) - FIND(".", A1), 0)