ตรวจสอบเซลล์เพื่อหาตัวอักษรหรือชุดตัวอักษรเฉพาะ


124

ใน Google สเปรดชีตฉันต้องการใช้สูตรที่จะแสดงข้อความหรือตัวเลขที่ต้องการหากเซลล์ใดเซลล์หนึ่งมีตัวอักษรบางตัว

ตัวอย่างเช่นถ้าฉันใส่=IF(A1="Black";"YES";"NO")และ A1 เท่ากับ "ดำ" - มันจะแสดงผล "ใช่" อย่างถูกต้อง อย่างไรก็ตามเมื่อฉันใส่=IF(A1="Bla";"YES";"NO")ผลลัพธ์จะเป็น "NO" มีสูตรใดบ้างที่ฉันสามารถใช้ที่ฉันสามารถพูดได้ว่า=IF(A1 CONTAINS "Bla";"YES";"NO")มันออกมาเป็น "ใช่"

คำตอบ:



74

บางตัวเลือกที่ไม่มีREGEXMATCHเนื่องจากคุณอาจต้องการไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่และไม่ต้องการพูดblastหรือablativeเรียกใช้YESไฟล์. ใช้ลูกน้ำเป็นตัวคั่นเช่นเดียวกับใน OP และในขณะที่ไม่สนใจเงื่อนไข IF:

อย่างแรกคล้ายกับคำตอบของ @ user1598086:

=FIND("bla",A1)

พิจารณาตัวพิมพ์เล็กและใหญ่ แต่ส่งกลับ #VALUE! มากกว่าNOและตัวเลขมากกว่าYES(ซึ่งทั้งสองอย่างสามารถเปลี่ยนเป็นไม่ / ใช่ตามลำดับ)

=SEARCH("bla",A1)  

ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ดังนั้นควรปฏิบัติBlackและblackเท่าเทียมกัน ส่งคืนตามด้านบน

อดีต (สำหรับตัวหลังเทียบเท่า) เพื่อระบุว่าblaมีอยู่หลังจากอักขระสามตัวแรกใน A1 หรือไม่:

=FIND("bla",A1,4)  

ส่งคืนจำนวนสำหรับblazer, blackแต่สำหรับ #VALUE!blazer, blue

หากต้องการค้นหาBlaเฉพาะเมื่อมีคำที่สมบูรณ์ในตัวมันเอง (เช่นระหว่างช่องว่าง - ไม่ใช่ที่จุดเริ่มต้นหรือจุดสิ้นสุดของ 'ประโยค'):

=SEARCH(" Bla ",A1) 

เนื่องจากผลตอบแทนในทุกกรณีข้างต้นเป็นตัวเลข ("พบ" ดังนั้นจึงเป็นYESที่ต้องการ) หรือ#VALUE!เราสามารถใช้ ISERROR เพื่อทดสอบ#VALUE!ภายในสูตร IF ได้เช่นใช้ตัวอย่างแรกด้านบน:

 =if(iserror(FIND("bla",A1)),"NO","YES")  

ยาวกว่าregexmatchแต่ส่วนประกอบต่างๆสามารถปรับเปลี่ยนได้ง่าย


@KaiNoack คุณต้องแทนที่;ด้วย,ใน Google Spreadsheet
Michael

@pnuts ตอบโจทย์มาก!
Michael


-8

เพียงแค่ใช้ = IF(A1="Bla*","YES","NO"). เมื่อคุณใส่เครื่องหมายดอกจันจะทำหน้าที่เป็นสัญลักษณ์แทนสำหรับอักขระจำนวนเท่าใดก็ได้หลังจากข้อความที่ระบุ


2
สิ่งนี้ใช้ไม่ได้ พยายาม: = if (N7 = "N *", 0,1) กับค่าเซลล์ "ไม่ขอบคุณ" และส่งกลับ "1"
Clay Nichols
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.