สารบัญ
บทช่วยสอนแสดงวิธีการรวมฟังก์ชัน V LOOKUP และ IF เข้าด้วยกันเพื่อ v-lookup ที่มีเงื่อนไข if ใน Excel คุณจะได้เรียนรู้วิธีใช้สูตร IF ISNA VLOOKUP เพื่อแทนที่ข้อผิดพลาด #N/A ด้วยข้อความของคุณเอง เซลล์ศูนย์หรือเซลล์ว่าง
แม้ว่าฟังก์ชัน VLOOKUP และ IF จะมีประโยชน์ในตัวเองก็ตาม พวกเขามอบประสบการณ์อันมีค่ามากยิ่งขึ้น บทช่วยสอนนี้บอกเป็นนัยว่าคุณจำไวยากรณ์ของทั้งสองฟังก์ชันได้ดี มิฉะนั้น คุณอาจต้องการทบทวนความรู้ของคุณโดยไปที่ลิงก์ด้านบน
Vlookup พร้อมคำสั่ง If: return True/ เท็จ ใช่/ไม่ใช่ ฯลฯ
หนึ่งในสถานการณ์ที่พบบ่อยที่สุดเมื่อคุณรวม If และ Vlookup เข้าด้วยกันคือการเปรียบเทียบค่าที่ส่งคืนโดย Vlookup กับค่าตัวอย่างและส่งคืน ใช่ / ไม่ใช่ หรือ จริง / เท็จ เป็นผลลัพธ์
ในกรณีส่วนใหญ่ สูตรทั่วไปต่อไปนี้จะทำงานได้ดี:
IF(VLOOKUP(…) = ค่า, TRUE, FALSE)แปลเป็นภาษาอังกฤษล้วน สูตรจะสั่งให้ Excel ส่งกลับ จริง หาก Vlookup เป็นจริง (เช่น เท่ากับค่าที่ระบุ) หาก Vlookup เป็นเท็จ (ไม่เท่ากับค่าที่ระบุ) สูตรจะส่งกลับ เท็จ
ด้านล่างนี้ คุณจะพบการใช้งานจริงบางประการของสูตร IF Vlookup นี้
ตัวอย่างที่ 1 ค้นหาค่าเฉพาะ
สมมติว่าคุณมีรายการสินค้าในคอลัมน์ A และปริมาณในคอลัมน์ B คุณกำลังสร้างแดชบอร์ดสำหรับผู้ใช้ของคุณและต้องการสูตรที่จะตรวจสอบปริมาณของสินค้าใน E1 และแจ้งผู้ใช้ว่าสินค้ามีในสต็อกหรือสินค้าหมด
คุณดึงปริมาณด้วย Vlookup ปกติที่มีสูตรการจับคู่แบบตรงทั้งหมดดังนี้:
=VLOOKUP(E1,$A$2:$B$10,2,FALSE)
จากนั้น เขียนคำสั่ง IF ที่เปรียบเทียบผลลัพธ์ของ Vlookup กับศูนย์ และส่งกลับ "ไม่" หากมีค่าเท่ากับ 0 หรือ "ใช่" มิฉะนั้น:
=IF(VLOOKUP(E1,$A$2:$B$10,2,FALSE)=0,"No","Yes")
แทนที่จะเป็น ใช่/ไม่ใช่ คุณสามารถส่งคืน จริง/เท็จ หรือ มีสินค้าในสต็อก/ขายหมดแล้ว หรือสองรายการอื่นๆ ทางเลือก ตัวอย่างเช่น:
=IF(VLOOKUP(E1,$A$2:$B$10,2)=0,"Sold out","In stock")
คุณยังสามารถเปรียบเทียบค่าที่ส่งคืนโดย Vlookup กับตัวอย่าง ข้อความ ในกรณีนี้ อย่าลืมใส่สตริงข้อความในเครื่องหมายคำพูด เช่น
=IF(VLOOKUP(E1,$A$2:$B$10,2)="sample text",TRUE,FALSE)
ตัวอย่างที่ 2 เปรียบเทียบผลลัพธ์ Vlookup กับเซลล์อื่น
อีกตัวอย่างทั่วไปของ Vlookup กับเงื่อนไข If ใน Excel กำลังเปรียบเทียบเอาต์พุต Vlookup กับค่าในเซลล์อื่น ตัวอย่างเช่น เราสามารถตรวจสอบว่ามันมากกว่าหรือเท่ากับตัวเลขในเซลล์ G2 หรือไม่:
=IF(VLOOKUP(E1,$A$2:$B$10,2)>=G2,"Yes!","No")
และนี่คือสูตร If ของเราที่มีการใช้งาน Vlookup:
ในทำนองเดียวกัน คุณสามารถใช้ตัวดำเนินการเชิงตรรกะอื่นๆ ร่วมกับการอ้างอิงเซลล์ในสูตร Excel If Vlookup ของคุณ
ตัวอย่างที่ 3 ค่า Vlookup ในรายการที่สั้นกว่า
หากต้องการเปรียบเทียบแต่ละเซลล์ในคอลัมน์เป้าหมายกับรายการอื่น และส่งกลับ จริง หรือ ใช่ หากพบรายการที่ตรงกัน เท็จ หรือ ไม่ใช่ มิฉะนั้น ให้ใช้สูตร IF ISNA VLOOKUP ทั่วไปนี้:
IF(ISNA(VLOOKUP(…)),"ไม่","ใช่")หาก Vlookup ให้ผลลัพธ์เป็นข้อผิดพลาด #N/A สูตรจะส่งกลับ "ไม่" หมายความว่าไม่พบค่าการค้นหาในรายการค้นหา หากพบว่าตรงกัน ระบบจะส่งกลับ "ใช่" ตัวอย่างเช่น:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"No","Yes")
หากตรรกะทางธุรกิจของคุณต้องการผลลัพธ์ที่ตรงกันข้าม เพียงสลับ "ใช่" และ "ไม่ใช่" เพื่อย้อนกลับตรรกะของสูตร:
=IF(ISNA(VLOOKUP(A2,$D$2:$D$4,1,FALSE)),"Yes","No")
สูตร Excel If Vlookup เพื่อทำการคำนวณต่างๆ
นอกเหนือจากการแสดงข้อความของคุณเองแล้ว ฟังก์ชัน If ที่มี Vlookup สามารถทำการคำนวณต่างๆ ตามเกณฑ์ที่คุณระบุ
จากตัวอย่างของเราเพิ่มเติม ลองคำนวณค่าคอมมิชชันของผู้ขายเฉพาะ (F1) โดยขึ้นอยู่กับประสิทธิภาพ: ค่าคอมมิชชัน 20% สำหรับผู้ที่ทำเงินได้ $200 ขึ้นไป และ 10% สำหรับคนอื่นๆ .
สำหรับสิ่งนี้ ให้คุณตรวจสอบว่าค่าที่ส่งกลับโดย Vlookup มากกว่าหรือเท่ากับ 200 หรือไม่ และถ้าใช่ ให้คูณด้วย 20% หรือ 10%:
=IF(VLOOKUP(F1,$A$2:$C$10,3,FALSE )>=200, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*20%, VLOOKUP(F1,$A$2:$C$10,3,FALSE)*10%)
โดยที่ A2:A10 คือชื่อผู้ขาย และ C2:C10 คือการขาย
หาก ISNA VLOOKUP ให้ซ่อนข้อผิดพลาด #N/A
ถ้าฟังก์ชัน VLOOKUP ไม่พบค่าที่ระบุ จะส่งข้อผิดพลาด #N/A หากต้องการตรวจจับข้อผิดพลาดนั้นและแทนที่ด้วยข้อความของคุณเอง ให้ฝังสูตร Vlookup ในการทดสอบเชิงตรรกะของฟังก์ชัน IF ดังนี้:
IF(ISNA(VLOOKUP(...)), "ไม่พบ", VLOOKUP(...) )โดยปกติ คุณสามารถพิมพ์ข้อความใดก็ได้ที่คุณต้องการแทนคำว่า "ไม่พบ"
สมมติว่าคุณมีรายชื่อผู้ขายชื่อในคอลัมน์หนึ่งและยอดขายในอีกคอลัมน์หนึ่ง งานของคุณคือดึงหมายเลขที่ตรงกับชื่อที่ผู้ใช้ป้อนใน F1 หากไม่พบชื่อ ให้แสดงข้อความที่ระบุ
ด้วยชื่อใน A2:A10 และจำนวน C2:C10 งานจะสำเร็จได้ด้วยสูตร If Vlookup ต่อไปนี้:
=IF(ISNA(VLOOKUP(F1,$A$2:$C$10,3,FALSE)), "Not found", VLOOKUP(F1,$A$2:$C$10,3,FALSE))
หากพบชื่อ ระบบจะส่งกลับยอดขายที่เกี่ยวข้อง:
หากไม่พบค่าการค้นหา ไม่พบ ข้อความปรากฏขึ้นแทนข้อผิดพลาด #N/A:
วิธีการทำงานของสูตรนี้
ตรรกะของสูตรนั้นง่ายมาก: คุณใช้ฟังก์ชัน ISNA เพื่อตรวจสอบข้อผิดพลาด #N/A ของ Vlookup ถ้าเกิดข้อผิดพลาด ISNA จะส่งกลับ TRUE มิฉะนั้น FALSE ค่าข้างต้นไปที่การทดสอบเชิงตรรกะของฟังก์ชัน IF ซึ่งทำอย่างใดอย่างหนึ่งต่อไปนี้:
- หากการทดสอบเชิงตรรกะเป็น TRUE (ข้อผิดพลาด #N/A) ข้อความของคุณจะปรากฏขึ้น
- หากการทดสอบตรรกะเป็น FALSE (พบค่าการค้นหา) Vlookup จะส่งกลับค่าที่ตรงกันตามปกติ
IFNA VLOOKUP ใน Excel เวอร์ชันใหม่กว่า
เริ่มต้นด้วย Excel 2013 คุณจะ สามารถใช้ฟังก์ชัน IFNA แทน IF ISNA เพื่อตรวจจับและจัดการข้อผิดพลาด #N/A:
IFNA(VLOOKUP(…), " ไม่พบ")ในตัวอย่างของเรา สูตรจะ ใช้รูปร่างต่อไปนี้:
=IFNA(VLOOKUP(F1,$A$2:$C$10,3, FALSE), "Not found")
หากคุณต้องการดักจับข้อผิดพลาดทุกประเภท ไม่ใช่แค่ #N/A ให้ใช้ VLOOKUP ร่วมกับฟังก์ชัน IFERROR สามารถดูรายละเอียดเพิ่มเติมได้ที่นี่: IFERRORVLOOKUP ใน Excel
Excel Vlookup: ถ้าไม่พบให้คืนค่า 0
เมื่อทำงานกับค่าตัวเลข คุณอาจต้องการคืนค่าศูนย์เมื่อไม่พบค่าที่ค้นหา หากต้องการดำเนินการ ให้ใช้สูตร IF ISNA VLOOKUP ที่กล่าวถึงข้างต้นโดยมีการปรับเปลี่ยนเล็กน้อย: แทนที่จะเป็นข้อความ ให้ใส่ 0 ในอาร์กิวเมนต์ value_if_true ของฟังก์ชัน IF:
IF(ISNA(VLOOKUP( …)), 0, VLOOKUP(…))ในตารางตัวอย่างของเรา สูตรจะเป็นดังนี้:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), 0, VLOOKUP(F2,$A$2:$C$10,3,FALSE))
ใน Excel 2016 และ 2013 เวอร์ชันล่าสุด คุณสามารถใช้ชุดค่าผสม IFNA Vlookup ได้อีกครั้ง:
=IFNA(VLOOKUP(I2,$A$2:$C$10,3, FALSE), 0)
Excel Vlookup: หากไม่พบ ให้ส่งคืนเซลล์ว่าง
นี่เป็นอีกรูปแบบหนึ่ง ของคำสั่ง "Vlookup if then": ไม่ส่งคืนค่าใดเมื่อไม่พบค่าการค้นหา เมื่อต้องการทำเช่นนี้ ให้สูตรของคุณส่งคืนสตริงว่าง ("") แทนข้อผิดพลาด #N/A:
IF(ISNA(VLOOKUP(...)), "", VLOOKUP(...))ด้านล่าง เป็นตัวอย่างสูตรที่สมบูรณ์สองสามตัวอย่าง:
สำหรับ Excel ทุกรุ่น:
=IF(ISNA(VLOOKUP(F2,$A$2:$C$10,3,FALSE)), "", VLOOKUP(F2,$A$2:$C$10,3,FALSE))
สำหรับ Excel 2016 และ Excel 2013:
=IFNA(VLOOKUP(F2,$A$2:$C$10,3, FALSE), "")
หากมีการจับคู่ดัชนี - ปล่อยให้ vlookup มีเงื่อนไขหาก
ผู้ใช้ Excel ที่มีประสบการณ์จะรู้ว่าฟังก์ชัน VLOOKUP ไม่ใช่วิธีเดียวในการค้นหาแนวตั้งใน Excel นอกจากนี้ยังสามารถใช้ชุดค่าผสม INDEX MATCH เพื่อจุดประสงค์นี้ได้อีกด้วย อีกทั้งยังมีประสิทธิภาพและหลากหลายมากยิ่งขึ้น ข่าวดีก็คือ Index Match สามารถทำงานร่วมกับ IF ในลักษณะเดียวกับVlookup
ตัวอย่างเช่น คุณมีหมายเลขคำสั่งซื้อในคอลัมน์ A และชื่อผู้ขายในคอลัมน์ B คุณกำลังมองหาสูตรเพื่อดึงหมายเลขคำสั่งซื้อสำหรับผู้ขายรายใดรายหนึ่ง
Vlookup ไม่สามารถ ใช้ในกรณีนี้เพราะไม่สามารถค้นหาจากขวาไปซ้ายได้ การจับคู่ดัชนีจะทำงานโดยไม่มีการผูกปม ตราบใดที่พบค่าการค้นหาในคอลัมน์การค้นหา หากไม่เป็นเช่นนั้น ข้อผิดพลาด #N/A จะปรากฏขึ้น เมื่อต้องการแทนที่สัญกรณ์ข้อผิดพลาดมาตรฐานด้วยข้อความของคุณเอง ให้ซ้อน Index Match ภายใน IF ISNA:
=IF(ISNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0))), "Not found", INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)))
ใน Excel 2016 และ 2016 คุณสามารถใช้ IFNA แทน IF ISNA เพื่อสร้างสูตรเพิ่มเติม กะทัดรัด:
=IFNA(INDEX(A2:A10, MATCH(F1, $B$2:$B$10, 0)), "Not found")
ในลักษณะที่คล้ายกัน คุณสามารถใช้การจับคู่ดัชนีในสูตร If อื่นๆ ได้
นี่คือวิธีที่คุณใช้ คำสั่ง Vlookup และ IF รวมกันใน Excel หากต้องการดูสูตรที่กล่าวถึงในบทช่วยสอนนี้อย่างละเอียดยิ่งขึ้น คุณสามารถดาวน์โหลดสมุดงานตัวอย่างด้านล่าง ฉันขอขอบคุณสำหรับการอ่านและหวังว่าจะได้พบคุณในบล็อกของเราในสัปดาห์หน้า!
คู่มือฝึกหัดสำหรับการดาวน์โหลด
Excel IF Vlookup - ตัวอย่างสูตร (ไฟล์ .xlsx)