คำอธิบาย
LOOKUP ใช้ในการค้นหาค่าในแถวเดียวหรือคอลัมน์เดียวแบบ Approximate Match Binary Search และคืนค่าจากตำแหน่งเดียวกันในแถวหรือคอลัมน์ที่สอง
มีครั้งแรกในเวอร์ชันไหน
2003 หรือ Version ก่อนหน้า
รูปแบบคำสั่ง (Syntax)
LOOKUP(lookup_value, lookup_vector, [result_vector])
Arguments
-
lookup_value (Required – any)
ค่าที่คุณต้องการค้นหา เช่น เบอร์ชิ้นส่วนหรือชื่อผลิตภัณฑ์ - lookup_vector (Required – range)
ช่วงที่ประกอบด้วยแถวหรือคอลัมน์เดียวที่ต้องการค้นหา โดยค่าในช่วงนี้ต้องเรียงจากน้อยไปหามาก เท่านั้น!! (ไม่งั้นผลลัพธ์อาจจะผิด) เพราะมันคือการหาค่าแบบเดียวกับ VLOOKUP Approximate Match - result_vector (Optional – range)
ช่วงที่มีแถวหรือคอลัมน์เดียวที่ต้องการคืนค่า (ต้องมีขนาดเท่ากับ lookup_vector)
ตัวอย่างการใช้งาน (Examples)
- Formula:
Description: ค้นหาค่า “TX0003” ในช่วง B3:B8 แบบ Approximate Match และคืนค่าที่ตรงกันในช่วง G3:G8=LOOKUP("TX0003",B3:B8,G3:G8)
Result: 800 (เพราะมันจะหาค่าที่น้อยกว่าหรือเท่ากับ Lookup_Value เป็นตัวสุดท้าย) - Formula:
Description: ค้นหาค่า “TX0003” ในคอลัมน์ OrderID แบบ Approximate Match และคืนค่าที่ตรงกันในคอลัมน์ SalesAmt=LOOKUP("TX0003",TxData[OrderID],TxData[SalesAmt])
Result: 800 (เพราะมันจะหาค่าที่น้อยกว่าหรือเท่ากับ Lookup_Value เป็นตัวสุดท้าย) - Formula:
Description: ค้นหาค่า “TX0003” ในคอลัมน์ OrderID แบบ Approximate Match และคืนค่า OrderID นั้นออกมา=LOOKUP("TX0003",TxData[OrderID])
Result: TX0003 (เพราะมันจะหาค่าที่น้อยกว่าหรือเท่ากับ Lookup_Value เป็นตัวสุดท้าย) - Formula:
Description: ค้นหาค่า “TX0003” ในคอลัมน์ OrderID แบบ Approximate Match และคืนค่า OrderID นั้นออกมา=LOOKUP("TX0010",TxData[OrderID])
Result: TX0006 (เพราะมันจะหาค่าที่น้อยกว่าหรือเท่ากับ Lookup_Value เป็นตัวสุดท้าย) - Formula:
Description: ค้นหาค่าวันที่ 15 มีนาคม 2025 ในคอลัมน์ Date แบบ Approximate Match และคืนค่า Qty ออกมา=LOOKUP(DATE(2025,3,15),TxData[Date],TxData[Qty])
Result: 6 (มาจาก TX0005 ที่มีวันที่เป็น 2 มีนาคม 2025 ซึ่งน้อยกว่าหรือเท่ากับ 15 มีนาคม 2025 เป็นตัวสุดท้าย)
Tips & Tricks
LOOKUP เหมาะกับการค้นหาข้อมูลในตารางอ้างอิงมีค่าเป็นช่วง ถ้าต้องการหาแบบ Exact Match เราจะต้องเช็คอีกว่าค่าที่ดึงกลับมาได้มันตรงกับบรรทัดเดียวกับ Lookup_Value จริงหรือไม่
ข้อควรระวัง (Cautions)
ข้อควรระวังของ LOOKUP คือการทำงานที่ต้องการช่วง lookup_vector ที่มีการเรียงลำดับจากน้อยไปมากแล้วเท่านั้น ซึ่งถ้าไม่เรียง ผลลัพธ์อาจจะผิดโดยไม่รู้ตัวได้ และถ้าค่าที่หาไม่มีอยู่ในตาราง มันอาจเอาค่าอื่นมาแทนได้ (เพราะหาแบบ Binary Search)
ฟังก์ชันที่เกี่ยวข้อง
ข้อดี / ข้อจำกัด
LOOKUP นั้นเหมาะกับการค้นหาข้อมูลในตารางอ้างอิงมีค่าเป็นช่วง แต่ไม่ค่อยเหมาะกับการค้นหาแบบ Exact Match
References
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply