หน้าแรก บทความ Microsoft
Microsoft

LOOKUP ใน Excel สองรูปแบบ Vector กับ Array และเมื่อไรควรใช้

เผยแพร่ 29 ส.ค. 69

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

รูปแบบที่ 1: Vector form (ค้นแถว/คอลัมน์เดียว)

=LOOKUP(ค่าที่ค้น, ช่วงที่ค้น, ช่วงผลลัพธ์)

E2fx=LOOKUP(D2, A2:A6, C2:C6)
A C D E
1 คะแนนขั้นต่ำ เกรด คะแนน เกรด
2 0 F 73 C
3 50 D
4 60 C
5 70 B
6 80 A

คะแนน 73 ตกอยู่ระหว่าง 70 กับ 80 LOOKUP คืนค่าของ “ช่วงที่ไม่เกิน” คือแถว 70 → เกรด C เหมาะกับตารางเกณฑ์แบบขั้นบันได (เกรด ค่าคอมมิชชัน อัตราภาษี) โดยคอลัมน์ A ต้องเรียงจากน้อยไปมาก

รูปแบบที่ 2: Array form

=LOOKUP(ค่าที่ค้น, ตาราง) — ค้นในคอลัมน์แรกของตาราง คืนค่าจากคอลัมน์สุดท้าย

E2fx=LOOKUP(D2, A2:C6)
A B C D E
1 ขั้นต่ำ ระดับ ส่วนลด ยอดซื้อ ส่วนลด
2 0 ทั่วไป 0% 1,200 5%
3 1,000 เงิน 5%
4 5,000 ทอง 10%

ยอดซื้อ 1,200 บาท เข้าเกณฑ์ระดับ “เงิน” ได้ส่วนลด 5% การเขียนแบบนี้สั้น แต่ผูกกับตำแหน่งคอลัมน์แรก/สุดท้ายตายตัว

LOOKUP ต่างจากสูตรค้นหาตัวอื่น

LOOKUP VLOOKUP / XLOOKUP
ต้องเรียงข้อมูล ต้องเรียง (ไม่งั้นผลผิด) ไม่ต้อง (เมื่อค้นแบบตรงเป๊ะ)
ค้นแบบตรงเป๊ะ ทำไม่ได้ ทำได้
ระบุคอลัมน์ผลลัพธ์ อิสระ (vector form) VLOOKUP ใช้เลขคอลัมน์ / XLOOKUP อิสระ

ในงานทั่วไปแนะนำ XLOOKUP หรือ INDEX + MATCH เพราะปลอดภัยกว่า LOOKUP ยังมีที่ใช้ 2 กรณีคือ ตารางเกณฑ์ขั้นบันไดที่เรียงอยู่แล้ว และสูตร trick หาค่าล่าสุด

สูตร trick: หาค่าสุดท้ายที่ตรงเงื่อนไข

=LOOKUP(2, 1/(A2:A100=E2), B2:B100) คืนค่า ตัวสุดท้าย ที่ตรงเงื่อนไข โดยไม่ต้องเรียงข้อมูล ใช้ดึงราคาล่าสุดหรือสถานะล่าสุดจาก log — อธิบายละเอียดที่บทความ หาค่าล่าสุดที่ตรงเงื่อนไข

ข้อควรรู้

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line