Excel: ถ้าเซลล์มีตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

สารบัญ

บทช่วยสอนมีตัวอย่างสูตร "Excel ถ้ามี" จำนวนหนึ่งที่แสดงวิธีคืนค่าบางอย่างในคอลัมน์อื่นหากเซลล์เป้าหมายมีค่าที่ต้องการ วิธีค้นหาด้วยการจับคู่บางส่วน และทดสอบหลายเกณฑ์ด้วย OR เป็น รวมทั้งตรรกะและตรรกะ

งานทั่วไปอย่างหนึ่งใน Excel คือการตรวจสอบว่าเซลล์มีค่าที่สนใจหรือไม่ สิ่งนั้นมีค่าอะไรได้บ้าง? เพียงแค่ข้อความหรือตัวเลข ข้อความเฉพาะ หรือค่าใดๆ เลย (ไม่ใช่เซลล์ว่าง)

สูตร "ถ้าเซลล์มี" มีอยู่หลายรูปแบบใน Excel ขึ้นอยู่กับค่าที่คุณต้องการค้นหา โดยทั่วไป คุณจะใช้ฟังก์ชัน IF เพื่อทำการทดสอบเชิงตรรกะ และส่งคืนค่าหนึ่งเมื่อตรงตามเงื่อนไข (เซลล์มี) และ/หรืออีกค่าหนึ่งเมื่อไม่ตรงตามเงื่อนไข (เซลล์ไม่มี) ตัวอย่างด้านล่างครอบคลุมสถานการณ์ที่เกิดขึ้นบ่อยที่สุด

    หากเซลล์มีค่าใดๆ ดังนั้น

    สำหรับการเริ่มต้น เรามาดูวิธีค้นหาเซลล์ที่มีค่าใดๆ เลย: ใดๆ ข้อความ ตัวเลข หรือวันที่ สำหรับสิ่งนี้ เราจะใช้สูตร IF อย่างง่ายที่ตรวจสอบเซลล์ที่ไม่ว่าง

    IF( เซลล์"", value_to_return, "")

    สำหรับ ตัวอย่างเช่น หากต้องการส่งคืนค่าเป็น "ไม่ว่าง" ในคอลัมน์ B หากเซลล์ของคอลัมน์ A ในแถวเดียวกันมีค่าใดๆ ให้ป้อนสูตรต่อไปนี้ใน B2 จากนั้นดับเบิลคลิกสี่เหลี่ยมเล็กๆ สีเขียวที่มุมขวาล่างเพื่อคัดลอกสูตรลงมา เดอะคอลัมน์:

    =IF(A2"", "Not blank", "")

    ผลลัพธ์จะมีลักษณะดังนี้:

    หากเซลล์มีข้อความ ดังนั้น

    หากคุณต้องการค้นหาเฉพาะเซลล์ที่มีค่าข้อความโดยไม่สนใจตัวเลขและวันที่ ให้ใช้ IF ร่วมกับฟังก์ชัน ISTEXT ต่อไปนี้เป็นสูตรทั่วไปในการคืนค่าบางค่าในเซลล์อื่น หากเซลล์เป้าหมายมี ข้อความใดๆ :

    IF(ISTEXT( cell), value_to_return, " ")

    สมมติว่าคุณต้องการแทรกคำว่า "ใช่" ในคอลัมน์ B หากเซลล์ในคอลัมน์ A มีข้อความ หากต้องการดำเนินการ ให้ใส่สูตรต่อไปนี้ใน B2:

    =IF(ISTEXT(A2), "Yes", "")

    หากเซลล์มีตัวเลข ดังนั้น

    ในลักษณะเดียวกัน คุณสามารถระบุเซลล์ด้วยค่าตัวเลข (ตัวเลขและวันที่) สำหรับสิ่งนี้ ให้ใช้ฟังก์ชัน IF ร่วมกับ ISNUMBER:

    IF(ISNUMBER( cell), value_to_return, "")

    สูตรต่อไปนี้จะคืนค่า "yes" ในคอลัมน์ B ถ้าเซลล์ที่ตรงกันในคอลัมน์ A มีตัวเลขใดๆ:

    =IF(ISNUMBER(A2), "Yes", "")

    ถ้าเซลล์มีข้อความเฉพาะ

    การค้นหาเซลล์ที่มีข้อความเฉพาะ (หรือตัวเลขหรือวันที่) เป็นเรื่องง่าย คุณเขียนสูตร IF ปกติที่จะตรวจสอบว่าเซลล์เป้าหมายมีข้อความที่ต้องการหรือไม่ และพิมพ์ข้อความที่จะส่งคืนในอาร์กิวเมนต์ value_if_true

    IF( cell=" ข้อความ", value_to_return, "")

    ตัวอย่างเช่น หากต้องการดูว่าเซลล์ A2 มี "แอปเปิ้ล" ให้ใช้สูตรนี้:

    =IF(A2="apples", "Yes", "")

    หากเซลล์ไม่มีการเจาะจงข้อความ

    หากคุณกำลังมองหาผลลัพธ์ที่ตรงกันข้าม เช่น คืนค่าบางส่วนไปยังคอลัมน์อื่น หากเซลล์เป้าหมายไม่มีข้อความที่ระบุ ("แอปเปิ้ล") ให้เลือกทำอย่างใดอย่างหนึ่งต่อไปนี้

    ระบุสตริงว่าง ("") ในอาร์กิวเมนต์ value_if_true และข้อความที่จะส่งคืนในอาร์กิวเมนต์ value_if_false :

    =IF(A2="apples", "", "Not apples")

    หรือ ให้ใส่ตัวดำเนินการ "ไม่เท่ากับ" ใน logical_test และข้อความที่จะส่งคืนใน value_if_true:

    =IF(A2"apples", "Not apples", "")

    ไม่ว่าจะด้วยวิธีใด สูตรก็จะสร้าง ผลลัพธ์นี้:

    หากเซลล์มีข้อความ: สูตรที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    หากต้องการบังคับให้สูตรแยกความแตกต่างระหว่างตัวพิมพ์ใหญ่และตัวพิมพ์เล็ก ให้ใช้ฟังก์ชัน EXACT ที่ ตรวจสอบว่าสตริงข้อความสองสตริงเท่ากันหรือไม่ รวมถึงตัวพิมพ์ใหญ่และเล็ก:

    =IF(EXACT(A2,"APPLES"), "Yes", "")

    คุณยังสามารถป้อนสตริงข้อความแบบจำลองในบางเซลล์ (พูดใน C1) แก้ไขการอ้างอิงเซลล์ด้วยเครื่องหมาย $ ($C$1) และเปรียบเทียบเซลล์เป้าหมายกับเซลล์นั้น:

    =IF(EXACT(A2,$C$1), "Yes", "")

    เซลล์ If มีสตริงข้อความเฉพาะ (การจับคู่บางส่วน)

    เราได้ทำงานเล็กน้อยเสร็จแล้วและไปยังงานที่ท้าทายและน่าสนใจมากขึ้น :) ในตัวอย่างนี้ ต้องใช้ฟังก์ชันที่แตกต่างกันสามฟังก์ชันเพื่อค้นหาว่าอักขระหรือสตริงย่อยที่กำหนดเป็นส่วนหนึ่งของเซลล์หรือไม่ เนื้อหา:

    IF(ISNUMBER(SEARCH(" text", cell)), value_to_return,"")

    การทำงานจากภายในสู่ภายนอก นี่คือการทำงานของสูตร:

    • Theฟังก์ชัน SEARCH จะค้นหาสตริงข้อความ และหากพบสตริงดังกล่าว จะส่งกลับตำแหน่งของอักขระตัวแรก ซึ่งก็คือ #VALUE! ข้อผิดพลาดเป็นอย่างอื่น
    • ฟังก์ชัน ISNUMBER ตรวจสอบว่า SEARCH สำเร็จหรือล้มเหลว ถ้า SEARCH ส่งกลับตัวเลขใด ๆ ISNUMBER ส่งกลับ TRUE ถ้า SEARCH ส่งผลให้เกิดข้อผิดพลาด ISNUMBER จะส่งกลับ FALSE
    • สุดท้าย ฟังก์ชัน IF จะส่งกลับค่าที่ระบุสำหรับเซลล์ที่มี TRUE ในการทดสอบตรรกะ มิฉะนั้นจะเป็นสตริงว่าง ("")

    และตอนนี้ เรามาดูกันว่าสูตรทั่วไปนี้ทำงานอย่างไรในแผ่นงานจริง

    หากเซลล์มีข้อความบางอย่าง ให้ใส่ค่าในเซลล์อื่น

    สมมติว่าคุณมีรายการของ คำสั่งซื้อในคอลัมน์ A และคุณต้องการค้นหาคำสั่งซื้อที่มีตัวระบุเฉพาะ ให้พูดว่า "A-" คุณสามารถทำงานให้สำเร็จได้ด้วยสูตรนี้:

    =IF(ISNUMBER(SEARCH("A-",A2)),"Valid","")

    แทนที่จะฮาร์ดโค้ดสตริงในสูตร คุณสามารถป้อนลงในเซลล์แยกต่างหาก (E1) ซึ่งเป็นการอ้างอิงเซลล์นั้นในสูตรของคุณ :

    =IF(ISNUMBER(SEARCH($E$1,A2)),"Valid","")

    เพื่อให้สูตรทำงานได้อย่างถูกต้อง อย่าลืมล็อกที่อยู่ของเซลล์ที่มีสตริงด้วยเครื่องหมาย $ (การอ้างอิงเซลล์แบบสัมบูรณ์)

    หากเซลล์มีข้อความเฉพาะ ให้คัดลอกไปยังคอลัมน์อื่น

    หากคุณต้องการคัดลอกเนื้อหาของเซลล์ที่ถูกต้องไปที่อื่น เพียงระบุที่อยู่ของเซลล์ที่ประเมิน (A2) ใน value_if_true อาร์กิวเมนต์:

    =IF(ISNUMBER(SEARCH($E$1,A2)),A2,"")

    ภาพหน้าจอด้านล่างแสดงผลลัพธ์:

    หากเซลล์มีข้อความเฉพาะ: สูตรที่คำนึงถึงตัวพิมพ์เล็กและใหญ่

    ในทั้งสองตัวอย่างข้างต้น สูตรจะไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่ ในสถานการณ์เมื่อคุณทำงานกับข้อมูลที่ตรงตามตัวพิมพ์เล็ก ให้ใช้ฟังก์ชัน FIND แทน SEARCH เพื่อแยกแยะตัวพิมพ์เล็กและใหญ่

    ตัวอย่างเช่น สูตรต่อไปนี้จะระบุเฉพาะคำสั่งซื้อที่มีตัวพิมพ์ใหญ่ "A-" โดยไม่สนใจตัวพิมพ์เล็ก " a-".

    =IF(ISNUMBER(FIND("A-",A2)),"Valid","")

    หากเซลล์มีหนึ่งในสตริงข้อความจำนวนมาก (หรือลอจิก)

    หากต้องการระบุเซลล์ที่มีอย่างน้อย หนึ่งในหลายๆ สิ่งที่คุณกำลังมองหา ให้ใช้หนึ่งในสูตรต่อไปนี้

    วิธีที่ชัดเจนที่สุดคือการตรวจสอบสตริงย่อยแต่ละรายการทีละรายการและมีฟังก์ชัน OR คืนค่า TRUE ในการทดสอบตรรกะของสูตร IF หากพบสตริงย่อยอย่างน้อยหนึ่งรายการ:

    IF(OR(ISNUMBER(SEARCH(" string1", cell)), ISNUMBER (SEARCH(" string2", cell))), value_to_return, "")

    สมมติว่าคุณมีรายการ SKU ในคอลัมน์ A และคุณ ต้องการค้นหาสิ่งที่มีทั้ง "เดรส" หรือ "กระโปรง" คุณสามารถทำได้โดยใช้สูตรนี้:

    =IF(OR(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("skirt",A2))),"Valid ","")

    สูตรนี้ใช้ได้ดีกับบางรายการ แต่แน่นอนว่าไม่ใช่วิธี ไปถ้าคุณต้องการตรวจสอบหลายสิ่งหลายอย่าง ในกรณีนี้ วิธีที่ดีกว่าคือการใช้ฟังก์ชัน SUMPRODUCT ตามที่แสดงในตัวอย่างถัดไป

    หากคุณเป็นการจัดการกับสตริงข้อความหลาย ๆ สตริง การค้นหาแต่ละสตริงจะทำให้สูตรของคุณยาวเกินไปและอ่านยาก วิธีแก้ปัญหาที่สวยงามกว่าคือการฝังชุดค่าผสม ISNUMBER SEARCH ลงในฟังก์ชัน SUMPRODUCT และดูว่าผลลัพธ์มีค่ามากกว่าศูนย์หรือไม่:

    SUMPRODUCT(--ISNUMBER(SEARCH( strings, cell)))>0

    ตัวอย่างเช่น หากต้องการดูว่า A2 มีคำใดๆ ที่ป้อนในเซลล์ D2:D4 หรือไม่ ให้ใช้สูตรนี้:

    =SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0

    อีกทางหนึ่ง คุณสามารถสร้างช่วงที่มีชื่อซึ่งมีสตริงเพื่อค้นหา หรือระบุคำโดยตรงในสูตร:

    =SUMPRODUCT(--ISNUMBER(SEARCH({"dress","skirt","jeans"},A2)))>0

    ไม่ว่าจะด้วยวิธีใด ผลลัพธ์จะคล้ายกับสิ่งนี้:

    เพื่อให้ผลลัพธ์เป็นมิตรกับผู้ใช้มากขึ้น คุณสามารถซ้อนสูตรข้างต้นลงในฟังก์ชัน IF และส่งกลับข้อความของคุณเองแทนค่า TRUE/FALSE:

    =IF(SUMPRODUCT(--ISNUMBER(SEARCH($D$2:$D$4,A2)))>0, "Valid", "")

    สูตรนี้ทำงานอย่างไร

    โดยหลักแล้ว คุณใช้ ISNUMBER ร่วมกับ SEARCH ตามที่อธิบายไว้ในตัวอย่างก่อนหน้า ในกรณีนี้ ผลการค้นหาจะแสดงในรูปแบบของอาร์เรย์ เช่น {TRUE;FALSE;FALSE} ถ้าเซลล์มีสตริงย่อยที่ระบุอย่างน้อยหนึ่งรายการ จะมี TRUE ในอาร์เรย์ ตัวดำเนินการอูนารีคู่ (--) บังคับค่า TRUE / FALSE เป็น 1 และ 0 ตามลำดับ และส่งอาร์เรย์เช่น {1;0;0} สุดท้าย ฟังก์ชัน SUMPRODUCT จะบวกเลข และเราเลือกเซลล์ที่ผลลัพธ์มากกว่าศูนย์

    ถ้าเซลล์มีหลายสตริง (AND ลอจิก)

    ในสถานการณ์ที่คุณต้องการค้นหาเซลล์ที่มีสตริงข้อความที่ระบุทั้งหมด ให้ใช้ชุดค่าผสม ISNUMBER SEARCH ที่คุ้นเคยอยู่แล้วร่วมกับ IF AND:

    IF(AND(ISNUMBER (SEARCH(" string1", เซลล์)), ISNUMBER(SEARCH(" string2", เซลล์))), value_to_return,"")

    ตัวอย่างเช่น คุณสามารถค้นหา SKU ที่มีทั้ง "dress" และ "blue" โดยใช้สูตรนี้:

    =IF(AND(ISNUMBER(SEARCH("dress",A2)),ISNUMBER(SEARCH("blue",A2))),"Valid ","")

    หรือพิมพ์ สตริงในเซลล์ที่แยกจากกันและอ้างอิงเซลล์เหล่านั้นในสูตรของคุณ:

    =IF(AND(ISNUMBER(SEARCH($D$2,A2)),ISNUMBER(SEARCH($E$2,A2))),"Valid ","")

    เป็นอีกทางเลือกหนึ่ง คุณสามารถนับจำนวนการเกิดขึ้นของแต่ละสตริงและตรวจสอบ หากแต่ละจำนวนมากกว่าศูนย์:

    =IF(AND(COUNTIF(A2,"*dress*")>0,COUNTIF(A2,"*blue*")>0),"Valid","")

    ผลลัพธ์จะเหมือนกับที่แสดงในภาพหน้าจอด้านบนทุกประการ

    วิธีส่งคืนผลลัพธ์ที่แตกต่างกันตามค่าเซลล์

    ในกรณีที่คุณต้องการเปรียบเทียบแต่ละเซลล์ในคอลัมน์เป้าหมายกับรายการอื่น และส่งกลับค่าที่แตกต่างกันสำหรับแต่ละรายการที่ตรงกัน ให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้

    ซ้อน IFs

    ตรรกะของสูตร IF ที่ซ้อนกันมีความเรียบง่ายดังนี้ คุณใช้ฟังก์ชัน IF แยกต่างหากเพื่อทดสอบแต่ละเงื่อนไข และส่งกลับค่าต่างๆ โดยขึ้นอยู่กับผลลัพธ์ของการทดสอบเหล่านั้น

    IF( cell=" lookup_text1", " return_ text1", IF( cell=" lookup_text2", " return_ text2", IF( cell=" lookup_text3", " return_ text3", "")))

    สมมติว่าคุณมีรายการสินค้าในคอลัมน์ A และคุณต้องการให้มีตัวย่อในคอลัมน์ B เมื่อต้องการดำเนินการ ให้ใช้สูตรต่อไปนี้:

    =IF(A2="apple", "Ap", IF(A2="avocado", "Av", IF(A2="banana", "B", IF(A2="lemon", "L", ""))))

    สำหรับรายละเอียดทั้งหมดเกี่ยวกับไวยากรณ์และตรรกะของ IF ที่ซ้อนกัน โปรดดูที่ IF ที่ซ้อนกันของ Excel - หลายเงื่อนไขในสูตรเดียว

    สูตรการค้นหา

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

    LOOKUP( cell, {" lookup_text1";" lookup_text2";" lookup_text3";…}, {" return_ text1";" return_ text2";" return_ text3";…})

    เพื่อให้ได้ผลลัพธ์ที่แม่นยำ อย่าลืมระบุค่าการค้นหาใน ลำดับตัวอักษร จาก A ถึง Z

    =LOOKUP(A2,{"apple";"avocado";"banana";"lemon"},{"Ap";"Av";"B";"L"})

    เมื่อเปรียบเทียบกับ IF ที่ซ้อนกัน สูตรการค้นหามีข้อดีอีกข้อหนึ่ง นั่นคือ เข้าใจ อักขระตัวแทน ดังนั้นจึงสามารถระบุการจับคู่บางส่วนได้

    ตัวอย่างเช่น หากคอลัมน์ A มีไม่กี่ประเภท ของกล้วย คุณสามารถค้นหา "*banana*" และแสดงตัวย่อเดียวกัน ("B") สำหรับเซลล์ดังกล่าวทั้งหมด:

    =LOOKUP(A2,{"apple";"avocado";"*banana*";"lemon"},{"Ap";"Av";"B";"L"})

    สำหรับข้อมูลเพิ่มเติม โปรดดูสูตรการค้นหาแทน IF ที่ซ้อนกัน

    สูตร Vlookup

    เมื่อทำงานกับชุดข้อมูลตัวแปร อาจสะดวกกว่าในการป้อนรายการที่ตรงกันแยกจากกัน เซลล์และเรียกข้อมูลโดยใช้สูตร Vlookupเช่น:

    =VLOOKUP(A2, $D$2:$E$5, 2,FALSE )

    สำหรับข้อมูลเพิ่มเติม โปรดดูบทช่วยสอน Excel VLOOKUP สำหรับผู้เริ่มต้น

    นี่คือวิธีตรวจสอบว่าเซลล์ มีค่าใด ๆ หรือข้อความเฉพาะใน Excel สัปดาห์หน้า เราจะดูเซลล์ถ้าเซลล์มีสูตรของ Excel ต่อไป และเรียนรู้วิธีนับหรือรวมเซลล์ที่เกี่ยวข้อง คัดลอกหรือลบทั้งแถวที่มีเซลล์เหล่านั้น และอื่นๆ โปรดคอยติดตาม!

    ฝึกสมุดงาน

    Excel ถ้าเซลล์ประกอบด้วย - ตัวอย่างสูตร (ไฟล์ .xlsx)

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้