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 TRUEnếu ô A3chứ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.
ISNUMBERnà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ì SEARCHtrả về lỗi nếu không tìm thấy chuỗi, tôi đã bọc nó bằng một ISERROR(...)=FALSEdấ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 SEARCHtrả 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à IFSsẽ 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, Surfsnhư String1,String2,String3trên và chuỗi ô của tôi Surfingthì 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 IFSsẽ cần phải được yêu cầu Surfing, Surfs, Surflàm việc chính xác (hoán đổi Surfingvà Surfscũng sẽ hoạt động trong ví dụ đơn giản này), nhưng Surfsẽ 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)