สิ่งที่ควรรู้
- ฟังก์ชัน LOOKUP ใน Excel ใช้สำหรับค้นหาข้อมูลในแถวหรือคอลัมน์
- มีสองวิธีเขียนสูตร LOOKUP ขึ้นอยู่กับความต้องการ: แบบ Vector และแบบ Array
- แบบ Vector ค้นหาในแถวเดียวหรือคอลัมน์เดียว ในขณะที่ Array ค้นหาในหลายแถวและหลายคอลัมน์
บทความนี้อธิบายวิธีใช้ฟังก์ชัน LOOKUP ในทุกเวอร์ชันของ Excel รวมถึง Excel 2019 และ Microsoft 365
ฟังก์ชัน LOOKUP คืออะไร?
ฟังก์ชัน LOOKUP ใน Excel ใช้ค้นหาข้อมูลในแถวหรือคอลัมน์ มันจะหาตำแหน่งของค่าในแถวหรือคอลัมน์เดียวกับค่าเริ่มต้น จึงมีประโยชน์มากเมื่อจัดการกับตารางที่มีโครงสร้าง ซึ่งแถวและคอลัมน์ทุกตัวมีข้อมูลลักษณะคล้ายกัน
มีสองรูปแบบในการเขียนสูตร LOOKUP ใน Excel ขึ้นอยู่กับความต้องการ รูปแบบหนึ่งเรียกว่า Vector อีกอันคือ Array
ฟังก์ชัน LOOKUP สามารถใช้ได้ในทุกเวอร์ชันของ Excel
ไวยากรณ์และอาร์กิวเมนต์ของฟังก์ชัน LOOKUP
มีสองวิธีใช้ฟังก์ชัน LOOKUP:
Vector (เวกเตอร์)
รูปแบบ Vector ค้นหาผ่านแถวเดียวหรือคอลัมน์เดียวเท่านั้น ช่วงนั้นเรียกว่า Vector ค่าที่คืนมาจะเป็นค่าที่อยู่ตำแหน่งเดียวกันกับชุดข้อมูลอีกชุดที่เลือก
=LOOKUP(lookup_value, lookup_vector, [result_vector])
- lookup_value คือค่าที่ฟังก์ชันควรค้นหาภายใน Vector สามารถเป็นตัวเลข ข้อความ ค่าตรรกะ ชื่อ หรือการอ้างอิง อาร์กิวเมนต์นี้จำเป็น
- lookup_vector คือช่วง สามารถเป็นแถวเดียวหรือคอลัมน์เดียว ค่าใน Vector ต้องเรียงจากน้อยไปมาก (เช่น 1, 2, 3 หรือ A, B, C) อาร์กิวเมนต์นี้จำเป็น
- result_vector เป็นช่วงที่ไม่จำเป็น หากใช้ ต้องมีขนาดเท่ากับ lookup_vector ทุกประการ
นี่คือกฎเพิ่มเติมที่ต้องจำเมื่อใช้รูปแบบ Vector ของฟังก์ชัน LOOKUP:
- หาก lookup_value น้อยกว่าค่าต่ำสุดใน lookup_vector Excel จะสร้างข้อผิดพลาด #N/A
- หาก lookup_value หาไม่พบ ฟังก์ชัน LOOKUP จะจับคู่กับค่าสูงสุดใน lookup_vector ที่น้อยกว่าหรือเท่ากับ lookup_value
Array (อาร์เรย์)
รูปแบบ Array สามารถค้นหาค่าในหลายแถวและหลายคอลัมน์ได้ มันจะหาค่าที่ระบุในแถวแรกหรือคอลัมน์แรกของช่วงที่เลือก แล้วคืนค่าของตำแหน่งเดียวกันในแถวสุดท้ายหรือคอลัมน์สุดท้าย
=LOOKUP(lookup_value, array)
- lookup_value คือค่าที่ฟังก์ชันควรค้นหาภายใน Array สามารถเป็นตัวเลข ข้อความ ค่าตรรกะ ชื่อ หรือการอ้างอิง ค่าต้องเรียงจากน้อยไปมาก (เช่น 1, 2, 3 หรือ A, B, C) อาร์กิวเมนต์นี้จำเป็น
- array คือช่วงเซลล์ที่มีค่าที่คุณเปรียบเทียบกับ lookup_value อาร์กิวเมนต์นี้จำเป็น
นอกจากนี้ให้จำกฎเหล่านี้ไว้:
- หาก lookup_value หาไม่พบ ค่าสูงสุดใน array ที่น้อยกว่าหรือเท่ากับ lookup_value จะถูกใช้แทน
- หาก lookup_value น้อยกว่าค่าสูงสุดในแถวแรกหรือคอลัมน์แรก จะคืนข้อผิดพลาด #N/A
- หาก array มีคอลัมน์มากกว่าแถว ฟังก์ชัน LOOKUP จะค้นหา lookup_value ในแถวแรก
- หาก array มีแถวมากกว่าคอลัมน์ ฟังก์ชัน LOOKUP จะค้นหา lookup_value ในคอลัมน์แรก
ตัวอย่างฟังก์ชัน LOOKUP
ต่อไปนี้เป็นตัวอย่างหลายอย่างของการใช้ LOOKUP ในสูตรของคุณ:
ใช้ Lookup Vector ค้นหาตาราง
=LOOKUP(1003,A2:A5,C2:C5)
นี่คือตัวอย่างการใช้ฟังก์ชัน LOOKUP เมื่อเราต้องการตรวจสอบราคาในตารางที่จัดระเบียบโดยหมายเลขชิ้นส่วน เนื่องจากเรารู้ว่าหมายเลขชิ้นส่วนอยู่ใน A2:A5 และราคาอยู่ใน C2:C5 เราสามารถค้นหาหมายเลขชิ้นส่วน 1003 โดยใช้พารามิเตอร์เหล่านี้
ใช้ Lookup Array ค้นหาตาราง
=LOOKUP(1003,A2:C5)
อีกวิธีหนึ่งในการใช้ฟังก์ชัน LOOKUP กับชุดข้อมูลเดียวกับตัวอย่างข้างต้น คือใช้ Array แทนที่จะเลือกสองคอลัมน์เดี่ยว เราเลือกตารางทั้งหมด แต่เนื่องจากเราต้องการราคาในตัวอย่างนี้ เราหยุดการเลือกที่คอลัมน์ C เนื่องจากฟังก์ชันจะดึงค่าใดก็ตามที่พบในตำแหน่งเดียวกันในคอลัมน์สุดท้าย
หาตัวเลขที่ใกล้ที่สุดในตาราง
=LOOKUP(A2,D2:D6,F2:F6)
สูตร LOOKUP นี้อ้างอิงข้ามกันระหว่างคะแนนในคอลัมน์ A กับระบบเกรดในคอลัมน์ D ฟังก์ชัน LOOKUP ดูว่าคะแนนอยู่ที่ไหนในระบบเกรด แล้วค้นหาเกรดใน F2:F6 เพื่อรู้ว่าจะเขียนอะไรข้างๆ คะแนน เนื่องจากบางค่าไม่พบในตารางขวามือ LOOKUP ใช้ค่าต่ำกว่าถัดไปแทน
สูตรนี้สามารถเขียนในรูปแบบ Array ได้ดังนี้:
=LOOKUP(A2,D2:F6)
ผลลัพธ์เหมือนกัน เพราะคอลัมน์ D เป็นจุดเริ่มต้นของการเลือก และปลายทางที่มีเกรดคือคอลัมน์ F
เครื่องหมายดอลลาร์ ($) สามารถใช้ในสูตรได้ เพื่อที่เมื่อลากสูตรลงคอลัมน์เพื่อใช้ฟังก์ชันกับเซลล์อื่นๆ การอ้างอิงจะไม่ถูกลากไปด้วย คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการอ้างอิงเซลล์แบบผสมได้ที่นี่
ค้นหาตัวเลขสุดท้ายในรายการ
=LOOKUP(9.99999999999999E+307,A:A)
สูตร LOOKUP หาตัวเลขสุดท้ายในคอลัมน์ A เนื่องจาก 9.99999999999999E+307 คือตัวเลขสูงสุดที่จะมีในเวิร์กชีต Excel สูตรจะแสดงตัวเลขสุดท้ายในรายการ แม้จะมีเซลล์ว่างในช่วงก็ตาม
ค้นหาค่าข้อความสุดท้ายในรายการ
=LOOKUP(REPT("z",255),A:A)
ตัวอย่างนี้ค้นหาค่าข้อความสุดท้ายจากคอลัมน์ A ฟังก์ชัน REPT ใช้ซ้ำ z จนถึงจำนวนสูงสุดที่ค่าข้อความใดๆ สามารถมีได้ ซึ่งคือ 255 คล้ายกับตัวอย่างตัวเลข สูตรนี้เพียงระบุเซลล์สุดท้ายที่มีข้อความ
ใช้ข้อมูลตารางค้นหาค่าหัวตาราง
=LOOKUP(2,1/(B3:G3 <> ""),B$2:G$2)
ตัวอย่างสุดท้ายของฟังก์ชัน LOOKUP ใน Excel นี้เกี่ยวข้องกับบางอย่างที่ไม่ได้อธิบายในบทความนี้ แต่ดูแล้วยังคุ้มค่า เพราะเห็นได้ว่าฟังก์ชันนี้มีประโยชน์แค่ไหน แนวคิดทั่วไปคือเรากำลังหาค่าสุดท้ายในแต่ละแถว แล้วค้นหาวันที่ในแถวที่ 2 เพื่อทราบว่าครั้งสุดท้ายที่เราจ่ายบิลเหล่านั้นคือเมื่อไหร่
ฟังก์ชันอื่นๆ ที่คล้าย LOOKUP
LOOKUP เป็นฟังก์ชัน Lookup/Reference ที่ค่อนข้างพื้นฐาน มีฟังก์ชันอื่นๆ ที่ดีสำหรับการใช้งานขั้นสูงมากกว่า
VLOOKUP และ HLOOKUP ให้คุณทำการค้นหาแนวตั้งหรือแนวนอน และสามารถระบุได้ว่าจะค้นหาแบบแม่นยำหรือประมาณการ LOOKUP จะคืนค่าที่ใกล้ที่สุดโดยอัตโนมัติ หากไม่พบการจับคู่ที่แม่นยำ
XLOOKUP เป็นฟังก์ชันค้นหาที่คล้ายกันแต่วิถีขั้นสูงกว่า