มีฟังก์ชั่นที่สร้างขึ้นเพื่อตรวจสอบว่าเซลล์มีอักขระ / ซับสตริงที่กำหนดหรือไม่?
มันหมายความว่าคุณสามารถใช้ฟังก์ชั่นที่เป็นข้อความเช่นLeft
/ Right
/ Mid
บนพื้นฐานเงื่อนไขโดยไม่ต้องโยนข้อผิดพลาดเมื่อขาดตัวอักษรที่ขาดหายไป
มีฟังก์ชั่นที่สร้างขึ้นเพื่อตรวจสอบว่าเซลล์มีอักขระ / ซับสตริงที่กำหนดหรือไม่?
มันหมายความว่าคุณสามารถใช้ฟังก์ชั่นที่เป็นข้อความเช่นLeft
/ Right
/ Mid
บนพื้นฐานเงื่อนไขโดยไม่ต้องโยนข้อผิดพลาดเมื่อขาดตัวอักษรที่ขาดหายไป
คำตอบ:
ลองใช้สิ่งนี้:
=ISNUMBER(SEARCH("Some Text", A3))
นี้จะกลับTRUE
ถ้าเซลล์มีA3
Some Text
CONTAINS("Text", cell)
ฟังก์ชั่น
FIND()
แทนSEARCH()
,
;
หลังจากเปลี่ยนสูตรที่ให้ไป=ISNUMBER(SEARCH("Some Text"; A3))
ใช้งานได้ ขอบคุณ!
สูตรต่อไปนี้พิจารณาว่าข้อความ "CHECK" ปรากฏในเซลล์ C10 หรือไม่ หากไม่เป็นเช่นนั้นผลลัพธ์จะว่างเปล่า ถ้าเป็นเช่นนั้นผลลัพธ์จะเป็นงาน "ตรวจสอบ"
=IF(ISERROR(FIND("CHECK",C10,1)),"","CHECK")
สูตรนี้ดูเหมือนง่ายขึ้นสำหรับฉัน:
=SUBSTITUTE(A1,"SomeText","") <> A1
สิ่งนี้จะคืนค่า TRUE หากมี "SomeText" อยู่ภายใน A1
สูตร IsNumber / Search และ IsError / Find ที่กล่าวถึงในคำตอบอื่น ๆ นั้นทำงานได้อย่างแน่นอน แต่ฉันมักจะพบว่าตัวเองต้องการดูความช่วยเหลือหรือทดลองใน Excel บ่อยเกินไปกับสูตรเหล่านั้น
สำหรับผู้ที่ต้องการทำสิ่งนี้โดยใช้ฟังก์ชั่นเดียวภายในคำสั่ง IF ฉันใช้
=IF(COUNTIF(A1,"*TEXT*"),TrueValue,FalseValue)
เพื่อดูว่าซับสตริง TEXT อยู่ในเซลล์ A1 หรือไม่
[หมายเหตุ: TEXT ต้องมีเครื่องหมายดอกจันล้อมรอบ]
ลองใช้FIND()
ฟังก์ชั่นใน Excel
ไวยากรณ์:
FIND( substring, string, [start_position])
ส่งคืน#VALUE!
ถ้าไม่พบสตริงย่อย
ISNUMBER
นี้ยังใช้งานได้สำหรับการแข่งขันที่เป็นกรณี ๆ ไปเท่านั้น
ฉันชอบ Rink.Attendant.6 คำตอบ ฉันต้องการตรวจสอบหลายสตริงและทำอย่างนี้:
สถานการณ์แรก: ชื่อที่สามารถเป็นผู้สร้างบ้านหรือชื่อชุมชนและฉันต้องการที่จะสร้างถังเก็บเป็นกลุ่มเดียว เมื่อต้องการทำเช่นนี้ฉันกำลังมองหาคำว่า "ผู้สร้าง" หรือ "การก่อสร้าง" ฯลฯ ดังนั้น -
=IF(OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*builder*")),"Builder","Community")
=OR(COUNTIF(A1,"*builder*"),COUNTIF(A1,"*construction*"))
?
COUNTIFS
:COUNTIFS(A1,"*builder*",A1,"*construction*")
มันเป็นคำถามเก่า แต่ฉันคิดว่ามันยังใช้ได้อยู่
เนื่องจากไม่มีฟังก์ชั่น CONTAINS ทำไมไม่ประกาศใน VBA รหัสด้านล่างใช้ฟังก์ชั่น VBA Instr ซึ่งค้นหาสตริงย่อยในสตริง มันจะส่งกลับ 0 เมื่อไม่พบสตริง
Public Function CONTAINS(TextString As String, SubString As String) As Integer
CONTAINS = InStr(1, TextString, SubString)
End Function
นี่เป็นคำถามเก่า แต่วิธีแก้ปัญหาสำหรับผู้ใช้ Excel 2016 หรือใหม่กว่าคือคุณสามารถลบความจำเป็นในการซ้อนกันได้ถ้าโครงสร้างโดยใช้IFS( condition1, return1 [,condition2, return2] ...)
เงื่อนไขแบบใหม่
ฉันได้จัดรูปแบบแล้วเพื่อให้ชัดเจนยิ่งขึ้นเกี่ยวกับวิธีใช้สำหรับกรณีของคำถามนี้:
=IFS(
ISERROR(SEARCH("String1",A1))=FALSE,"Something1",
ISERROR(SEARCH("String2",A1))=FALSE,"Something2",
ISERROR(SEARCH("String3",A1))=FALSE,"Something3"
)
เนื่องจากSEARCH
ส่งคืนข้อผิดพลาดหากไม่พบสตริงฉันหุ้มด้วยISERROR(...)=FALSE
เพื่อตรวจสอบความจริงแล้วส่งคืนค่าที่ต้องการ มันจะดีถ้าSEARCH
ส่งคืน 0 แทนที่จะเป็นข้อผิดพลาดในการอ่าน แต่นั่นก็เป็นวิธีที่มันทำงานได้อย่างน่าเสียดาย
หมายเหตุสำคัญอีกประการหนึ่งคือIFS
จะคืนการแข่งขันที่พบก่อนดังนั้นการสั่งซื้อจึงเป็นสิ่งสำคัญ ตัวอย่างเช่นถ้าสตริงของฉันก็Surf, Surfing, Surfs
เป็นString1,String2,String3
ข้างต้นและสตริงเซลล์ของฉันคือมันจะตรงกับในระยะแรกแทนสองเพราะเป็นอักขระย่อยSurfing
Surf
ดังนั้นตัวหารร่วมจะต้องอยู่ในรายการสุดท้าย ฉันIFS
จะต้องได้รับคำสั่งSurfing, Surfs, Surf
ให้ทำงานอย่างถูกต้อง (การสลับSurfing
และSurfs
จะทำงานในตัวอย่างง่ายๆนี้) แต่Surf
จะต้องเป็นครั้งสุดท้าย
นี่คือสูตรที่ฉันใช้
=IF( ISNUMBER(FIND(".",A1)), LEN(A1) - FIND(".",A1), 0 )
IFERROR(LEN(A1) - FIND(".", A1), 0)