ตารางข้อมูลมีหลายหมื่นแถวและต้องสรุปตามหมวด เวลา และพื้นที่อย่างโต้ตอบได้ จึงถามว่า ในไมโครซอฟท์เอกเซล เมื่อต้องการค้นหาว่าชื่อพนักงานใน Sheet2 คอลัมน์ A ปรากฏอยู่ใน Sheet1 คอลัมน์ A หรือไม่ และถ้าพบให้แสดงเงินเดือนจาก Sheet1 คอลัมน์ B สูตรใดถูกต้อง

=VLOOKUP(A1,Sheet1!A:B,2,FALSE)
=IFERROR(VLOOKUP(A1,Sheet1!$A:$B,2,FALSE),"ไม่พบ")
=IF(MATCH(A1,Sheet1!A:A,0),INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)),"ไม่พบ")
=IFERROR(INDEX(Sheet1!B:B,MATCH(A1,Sheet1!A:A,0)),"ไม่พบ")

เฉลยอธิบาย

=IFERROR(VLOOKUP(A1,Sheet1!$A:$B,2,FALSE),"ไม่พบ") เป็นสูตรที่ถูกต้องและใช้งานง่าย โดย VLOOKUP ค้นหาชื่อใน Sheet1 คอลัมน์ A แล้วดึงคอลัมน์ B (เงินเดือน) และ IFERROR จัดการกรณีไม่พบโดยแสดง 'ไม่พบ' แทนค่า Error ตัวเลือก B ไม่มี IFERROR จะแสดง #N/A เมื่อไม่พบ, ตัวเลือก C ใช้ MATCH เพียงอย่างเดียวในเงื่อนไข IF ซึ่งจะ Error เมื่อไม่พบแทนที่จะ Return FALSE, ตัวเลือก D ก็ถูกต้องเช่นกันแต่ตัวเลือก A ใช้ VLOOKUP ซึ่งเป็นมาตรฐานที่ง่ายกว่า

ข้อสอบอื่นในวิชาความรู้เกี่ยวกับการใช้โปรแกรมคอมพิวเตอร์ MicrosoftWord, Microsoft Excel

ดูข้อสอบวิชานี้ทั้งหมด →