นี่คือสิ่งที่ฉันใช้ตอนนี้ในสูตร:
=IF(E6="Mix Design Gr S","By Mix Design","")&IF(E6="R-Value","By Soils","")&IF(E6="PS Package","By Soils","")
มีวิธีที่จะมองหาข้อความบางส่วนในเซลล์ E6 เช่น "Mix" แทนที่จะเป็น "Mix Design Gr S" หรือไม่?
นี่คือสิ่งที่ฉันใช้ตอนนี้ในสูตร:
=IF(E6="Mix Design Gr S","By Mix Design","")&IF(E6="R-Value","By Soils","")&IF(E6="PS Package","By Soils","")
มีวิธีที่จะมองหาข้อความบางส่วนในเซลล์ E6 เช่น "Mix" แทนที่จะเป็น "Mix Design Gr S" หรือไม่?
คำตอบ:
ฉันจะเน้นเฉพาะส่วนของสูตรที่คุณถาม (การทดสอบ IF ครั้งแรก)
หากข้อความบางส่วนเป็นคำหรือสตริงที่ไม่ซ้ำกันคุณสามารถค้นหาการมีอยู่ของมันได้ Excel ไม่มีฟังก์ชัน "CONTAINS ()" แต่คุณสามารถทำได้เทียบเท่ากับการซ้อนกัน
=IF(ISERROR(SEARCH("mix",E6)),"","By Mix Design")
SEARCH ค้นหาข้อความเป้าหมาย (ไม่ต้องตรงตามตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก) ใน E6 (ฉันใช้ตัวพิมพ์เล็กสำหรับ "มิกซ์" เพื่ออธิบายสิ่งนี้) หากไม่พบข้อผิดพลาดจะถูกส่งคืน การทดสอบสิ่งนั้นด้วย ISERROR ให้การย้อนกลับของตรรกะสำหรับ "บรรจุ" ดังนั้นฉันจึงย้อนกลับผลลัพธ์ที่แท้จริงและเท็จ
หากคุณต้องการทดสอบแบบตรงตามตัวพิมพ์ใหญ่ใช้ FIND แทน SEARCH
จุดที่ยอดเยี่ยมโดยวิศวกร Toast ในความคิดเห็นที่ฉันจะเพิ่มที่นี่เพื่อความสมบูรณ์ หากคำแรก (หรือจำนวนอักขระบางตัว) ไม่ซ้ำกันคุณสามารถทดสอบอักขระเหล่านั้นได้ หากต้องการทำการทดสอบตามตัวพิมพ์เล็กและใหญ่ให้ทดสอบอักขระจริง
=IF(LEFT(E6,3)="Mix","By Mix Design","")
หากกรณีและปัญหาอาจไม่สอดคล้องกันในข้อมูลของคุณให้ทดสอบตัวละครที่ถูกบังคับให้พิมพ์:
=IF(UPPER(LEFT(E6,3))="MIX","By Mix Design","")
และเพื่อให้ครอบคลุมฐานหากสถานการณ์ของคุณคือข้อความบางส่วนของคุณเกิดขึ้นเสมอในตำแหน่งที่เฉพาะเจาะจงในสตริงคุณสามารถทำการทดสอบที่แม่นยำยิ่งขึ้นโดยการมองหาที่นั่นแทนที่จะอยู่ที่ใดก็ได้ในสตริง สมมติว่าคำหลักของคุณคือ "ออกแบบ" และเริ่มต้นที่ตำแหน่งอักขระที่ห้าในสตริงเสมอคุณสามารถใช้:
=IF(MID(E6,5,6)="Design","By Mix Design","")
โปรดทราบว่าหากข้อมูลมีความไม่สอดคล้องกันเช่นตัวอักษรที่ขาดหายไปหรือพื้นที่ว่างเพิ่มเติมเพื่อให้คำหลักไม่เริ่มต้นในตำแหน่งที่ห้าการทดสอบจะล้มเหลว โซลูชัน SEARCH / FIND นั้นให้อภัยมากกว่าซึ่งตำแหน่งของคำหลักนั้นไม่สำคัญ
UPPER(LEFT(E6,3))="MIX"