Thep Excel

MATCHค้นหาตำแหน่งของค่าในรายการ

MATCH คืนเลขลำดับตำแหน่งของค่าที่ค้นหาในช่วงข้อมูลแถวเดียวหรือคอลัมน์เดียว รองรับการค้นหา 3 โหมด คือ Exact Match (0) ที่ไม่ต้องเรียงข้อมูล, Approximate Match แบบ Less Than or Equal (1) ที่ต้องเรียงจากน้อยไปมาก, และ Greater Than or Equal (-1) ที่ต้องเรียงจากมากไปน้อย รองรับ Wildcard (* และ ?) ในโหมด Exact Match และมักใช้คู่กับ INDEX เป็นรูปแบบ INDEX-MATCH ที่ยืดหยุ่นกว่า VLOOKUP

fx
=MATCH(lookup_value, lookup_array, [match_type])

ความนิยม9/10
ความยาก5/10
ประโยชน์10/10

อัปเดต 14 December 2025

Syntax & Arguments

อาร์กิวเมนต์ ชนิด ค่าเริ่มต้น คำอธิบาย
lookup_value Any ค่าที่ต้องการค้นหา รองรับข้อความ, ตัวเลข, วันที่, ค่าตรรกะ (TRUE/FALSE), หรืออ้อิงเซลล์ ข้อความยาวไม่เกิน 255 ตัวอักษร ไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่ (case-insensitive) ยกเว้นใช้กับ EXACT
lookup_array Range ช่วงข้อมูลที่จะค้นหา ต้องเป็นแถวเดียว (เช่น A1:E1) หรือคอลัมน์เดียว (เช่น A1:A10) เท่านั้น รองรับ Table References (เช่น Products[Name]) และ Named Ranges ไม่รองรับช่วงข้อมูล 2 มิติ (เช่น A1:E10)
[match_type]ไม่บังคับ Number 1 ประเภทการจับคู่: 0 = Exact Match (หาค่าตรงทุกตัวอักษร ไม่ต้องเรียงข้อมูล รองรับ Wildcard), 1 = Less Than or Equal (หาค่ามากที่สุดที่ = lookup_value ต้องเรียงจากมากไปน้อยก่อน) ค่าเริ่มต้นคือ 1 แนะนำให้ใส่ 0 เสมอเพื่อความปลอดภัย

[ ] = อาร์กิวเมนต์ที่ไม่บังคับ

Additional Notes

MATCH เป็นฟังก์ชันพื้นฐานสำหรับการค้นหาที่คืนค่าตำแหน่ง (เลขลำดับ) ของค่าที่ต้องการในช่วงข้อมูลแถวเดียวหรือคอลัมน์เดียว

แทนที่จะคืนค่าจริงเหมือน VLOOKUP หรือ XLOOKUP ฟังก์ชันนี้คืนเลขตำแหน่งที่พบค่านั้น ทำให้เหมาะสำหรับใช้คู่กับ INDEX เป็นรูปแบบ INDEX-MATCH ที่ยืดหยุ่นกว่า VLOOKUP มากMATCH รองรับ 3 โหมดการค้นหา: Exact Match (0) ค้นหาค่าตรงทุกตัวอักษรและไม่ต้องเรียงข้อมูล, Approximate Match แบบ Less Than or Equal (1) หาค่ามากที่สุดที่น้อยกว่าหรือเท่ากับค่าที่หาและต้องเรียงข้อมูลจากน้อยไปมาก, และ Approximate Match แบบ Greater Than or Equal (-1) หาค่าน้อยที่สุดที่มากกว่าหรือเท่ากับค่าที่หาและต้องเรียงข้อมูลจากมากไปน้อย

ฟังก์ชันนี้รองรับ Wildcard (* และ ?) เมื่อใช้โหมด Exact Match (0) เท่านั้น โดย * แทนตัวอักษรหลายตัว และ ? แทนตัวอักษรหนึ่งตัวMATCH มักถูกใช้ร่วมกับ INDEX เพื่อสร้างสูตรค้นหาที่ยืดหยุ่นกว่า VLOOKUP เพราะสามารถค้นหาจากซ้ายไปขวาหรือขวาไปซ้ายก็ได้ และยังใช้ตรวจสอบว่าค่าอยู่ในรายการหรือไม่ด้วยการเช็คว่า MATCH คืน #N/A หรือเลขตำแหน่ง

ถ้าใช้ Excel 365 หรือ Excel 2021 แนะนำให้ใช้ XMATCH แทนครับ เพราะมี default เป็น Exact Match, รองรับการค้นหาจากท้ายไปหน้า, มี if_not_found สำหรับจัดการกรณีไม่พบค่า, และมี Binary Search ที่เร็วกว่า

How it works

INDEX-MATCH แทน VLOOKUP (ค้นหาทุกทิศทาง)

ใช้ MATCH หาตำแหน่งแล้วให้ INDEX ดึงค่า ทำให้สามารถค้นหาจากขวาไปซ้าย (VLOOKUP ทำไม่ได้), ค้นหาแบบ Two-Way (แนวนอนและแนวตั้ง), และเร็วกว่า VLOOKUP ในชุดข้อมูลขนาดใหญ่ เป็นรูปแบบที่ผู้เชี่ยวชาญ Excel แนะนำให้ใช้แทน VLOOKUP เสมอ

จัดช่วงคะแนน เกรด อัตราภาษี (Tiered Systems)

ใช้ MATCH กับ match_type=1 เพื่อหาช่วงที่เหมาะสมจากตารางเกณฑ์ เช่น คะแนน 75 อยู่ในช่วง 70-80 ได้เกรด B, รายได้ 650000 อยู่ในช่วง 500000-1000000 เสียภาษี 15%, ยอดขาย 1.2M ได้คอมมิชชั่น 5% เหมาะกับระบบที่มีการจัดช่วง (brackets) ต้องเรียงข้อมูลจากน้อยไปมาก

ค้นหาข้อความบางส่วนด้วย Wildcard

ใช้ MATCH กับ match_type=0 และ Wildcard (* และ ?) เพื่อค้นหาข้อความที่ตรงบางส่วน เช่น หาสินค้าที่ขึ้นต้นด้วย Pro*, หารหัสที่ลงท้ายด้วย *-2025, หาชื่อที่มี 4 ตัวอักษร (????) มีประโยชน์ในการค้นหาแบบยืดหยุ่นเมื่อไม่ทราบข้อความเต็ม

ตรวจสอบข้อมูล (Data Validation & List Checking)

ใช้ MATCH เพื่อเช็คว่าค่าที่กรอกเข้ามาอยู่ใน List ที่กำหนดหรือไม่ ถ้า MATCH คืน #N/A แสดงว่าไม่อยู่ในรายการ ถ้าคืนเลขตำแหน่ง แสดงว่าอยู่ในรายการ ใช้ใน Data Validation, ตรวจสอบรายการอนุมัติ, เช็คข้อมูลซ้ำ, หรือสร้าง Dependent Dropdown Lists

Dynamic VLOOKUP (หาเลขคอลัมน์อัตโนมัติ)

ใช้ MATCH หาหมายเลขคอลัมน์ใน VLOOKUP แทนการนับเอง โดยค้นหาชื่อคอลัมน์ในหัวตาราง ทำให้เมื่อมีการแทรกหรือลบคอลัมน์ สูตร VLOOKUP ยังทำงานได้ถูกต้อง ตัวอย่าง: =VLOOKUP(A2, Data, MATCH("Price", Headers, 0), FALSE)

Examples

ตารางสินค้าProductTableA1:D6
A B C D
1 รหัสสินค้า ชื่อสินค้า สถานะ ราคา
2 P001 เมาส์ไร้สาย ปิด 590
3 P002 คีย์บอร์ด เปิด 1,290
4 P003 จอ 27 นิ้ว ปิด 8,900
5 P004 หูฟัง เปิด 2,450
6 P005 เว็บแคม ปิด 1,750

ทุกสูตรด้านล่างอ้างถึงตารางนี้ พิมพ์ตามได้เลย ผลลัพธ์จะตรงกับที่เขียนไว้

ตารางตัดเกรด (เรียงคะแนนจากน้อยไปมาก)GradeTableF1:G6
A B
1 คะแนนขั้นต่ำ เกรด
2 0 F
3 50 D
4 60 C
5 70 B
6 80 A

ตารางนี้ใช้กับการค้นหาแบบใกล้เคียง (match_type=1) ซึ่งบังคับว่าคอลัมน์แรกต้องเรียงจากน้อยไปมาก

ตัวอย่างที่ 1: Exact Match พื้นฐาน (Foundation)MATCH("P003", A2:A6, 0)

สูตรนี้หาตำแหน่งของ "P003" ในคอลัมน์รหัสสินค้า A2:A6 แบบ Exact Match โดยใช้ match_type=0 ซึ่งหมายถึงต้องตรงทุกตัวอักษร

ผลลัพธ์คือ 3 เพราะ P003 อยู่ในลำดับที่ 3 ของช่วง A2:A6 นับจากบนลงล่าง

ข้อดีของ match_type=0 คือไม่ต้องเรียงข้อมูลก่อน และไม่สนใจตัวพิมพ์เล็ก-ใหญ่ นี่เป็นโหมดที่แนะนำให้ใช้มากที่สุดครับ เพราะปลอดภัยและเข้าใจง่าย

fx
=MATCH("P003", A2:A6, 0)

ผลลัพธ์3
ตัวอย่างที่ 2: Approximate Match สำหรับจัดเกรด (Practical)MATCH(75, F2:F6, 1)

คอลัมน์คะแนนขั้นต่ำ F2:F6 เรียงจากน้อยไปมากอยู่แล้วคือ 0, 50, 60, 70, 80

เมื่อค้นหาคะแนน 75 สูตรนี้จะหาค่ามากที่สุดที่น้อยกว่าหรือเท่ากับ 75 ซึ่งคือ 70 อยู่ที่ตำแหน่ง 4 จากนั้นก็ใช้ INDEX ดึงเกรดที่ตำแหน่งเดียวกันในคอลัมน์ G ได้ต่อ

การใช้ match_type=1 เหมาะกับการจัดช่วง (brackets) เช่น เกรด อัตราภาษี ค่าคอมมิชชั่น แต่ต้องระวังเรียงข้อมูลจากน้อยไปมากก่อนเสมอนะครับ มิเช่นนั้นจะได้ผลผิด

fx
=MATCH(75, F2:F6, 1)

ผลลัพธ์4
ตัวอย่างที่ 3: ใช้ Wildcard ค้นหาข้อความบางส่วน (Advanced)MATCH("จอ*", B2:B6, 0)

สูตรนี้ใช้ Wildcard * เพื่อค้นหาข้อความในคอลัมน์ชื่อสินค้า B2:B6 ที่ขึ้นต้นด้วย "จอ" ตามด้วยอะไรก็ได้ จะพบ "จอ 27 นิ้ว" ที่ตำแหน่ง 3

Wildcard มี 2 แบบ คือ * แทนอักษรหลายตัว (หรือไม่มีเลย) และ ? แทนอักษร 1 ตัว

Wildcard ใช้ได้กับ match_type=0 เท่านั้นนะครับ ถ้าต้องการหาเครื่องหมาย * หรือ ? จริงๆ ให้ใช้ ~* หรือ ~? นำหน้าแทน

fx
=MATCH("จอ*", B2:B6, 0)

ผลลัพธ์3
ตัวอย่างที่ 4: INDEX-MATCH ค้นหาแนวนอนและแนวตั้ง (Advanced)INDEX(A2:D6, MATCH("P002", A2:A6, 0), MATCH("ราคา", A1:D1, 0))

สูตรนี้ใช้ MATCH 2 ครั้ง ครั้งแรกหาตำแหน่งแถวของ "P002" ในคอลัมน์รหัส A2:A6 ได้แถวที่ 2 ครั้งที่สองหาตำแหน่งคอลัมน์ของหัวตาราง "ราคา" ในแถว A1:D1 ได้คอลัมน์ที่ 4

จากนั้น INDEX ดึงค่าที่จุดตัดของแถว 2 คอลัมน์ 4 ในช่วง A2:D6 ออกมา ได้ 1,290 บาท ซึ่งคือราคาของ P002

นี่คือ Two-Way Lookup ที่ VLOOKUP ทำไม่ได้ครับ เพราะต้องระบุทั้งตำแหน่งแถวและคอลัมน์พร้อมกัน

fx
=INDEX(A2:D6, MATCH("P002", A2:A6, 0), MATCH("ราคา", A1:D1, 0))

ผลลัพธ์1290
ตัวอย่างที่ 5: จัดการกรณีไม่พบค่าด้วย IFERROR (Advanced)IFERROR(MATCH("P099", A2:A6, 0), "ไม่พบในรายการ")

ในตารางไม่มีรหัส "P099" อยู่ เมื่อค้นหาแล้วไม่พบ MATCH จะคืน #N/A ออกมา

แทนที่จะแสดง error ให้ผู้ใช้เห็น เราใช้ IFERROR ครอบเพื่อจับ error และแสดงข้อความที่เป็นมิตรกับผู้ใช้แทน

วิธีนี้มีประโยชน์มากในการสร้าง Dashboard หรือฟอร์มที่ต้องการให้ดูเป็นมืออาชีพครับ อีกทางเลือกคือใช้ IFNA แทน IFERROR เพื่อจับเฉพาะ #N/A error เท่านั้น

fx
=IFERROR(MATCH("P099", A2:A6, 0), "ไม่พบในรายการ")

ผลลัพธ์ไม่พบในรายการ
ตัวอย่างที่ 6: INDEX-MATCH แทน VLOOKUP (ค้นหาจากขวาไปซ้าย)INDEX(A2:A6, MATCH("เว็บแคม", B2:B6, 0))

VLOOKUP ไม่สามารถค้นหาชื่อในคอลัมน์ B แล้วคืนรหัสจากคอลัมน์ A ซึ่งอยู่ซ้ายกว่าได้ แต่ INDEX-MATCH ทำได้ง่ายๆ

MATCH หาตำแหน่งของ "เว็บแคม" ในคอลัมน์ B2:B6 เจอที่ตำแหน่ง 5 จากนั้น INDEX ดึงค่าจากตำแหน่ง 5 ของคอลัมน์ A2:A6 ซึ่งคือรหัส "P005"

นี่คือเหตุผลหลักที่ผู้เชี่ยวชาญ Excel แนะนำให้ใช้ INDEX-MATCH แทน VLOOKUP เพราะยืดหยุ่นกว่า ไม่จำกัดทิศทางการค้นหา

fx
=INDEX(A2:A6, MATCH("เว็บแคม", B2:B6, 0))

ผลลัพธ์P005
ตัวอย่างที่ 7: ตรวจสอบว่าค่าอยู่ในรายการหรือไม่ (Data Validation)IF(ISNA(MATCH("P010", A2:A6, 0)), "ไม่ถูกต้อง", "ถูกต้อง")

สมมติเซลล์หนึ่งให้ผู้ใช้กรอกรหัสสินค้าเข้ามา เราต้องการตรวจสอบว่ารหัสนั้นมีอยู่จริงในตารางหรือไม่ "P010" ไม่มีอยู่ในคอลัมน์ A2:A6 เลย

MATCH จะพยายามหาค่า ถ้าพบจะคืนเลขตำแหน่ง ถ้าไม่พบจะคืน #N/A เราใช้ ISNA ตรวจสอบว่าเป็น #N/A หรือไม่ ถ้าใช่แสดงว่าไม่ถูกต้อง

วิธีนี้มีประโยชน์มากในการทำ Data Validation หรือเช็คว่าข้อมูลที่กรอกมาอยู่ในรายการที่อนุญาตหรือไม่ครับ

fx
=IF(ISNA(MATCH("P010", A2:A6, 0)), "ไม่ถูกต้อง", "ถูกต้อง")

ผลลัพธ์ไม่ถูกต้อง
ตัวอย่างที่ 8: Approximate Match ที่ค่าตรงพอดีกับขอบเขต (Real-World Complex)INDEX(G2:G6, MATCH(60, F2:F6, 1))

คราวนี้ค่าที่ค้นหา (60) ตรงกับค่าหนึ่งในคอลัมน์คะแนนขั้นต่ำ F2:F6 พอดีเลย ไม่ใช่ค่าที่อยู่ระหว่างกลาง

MATCH แบบ match_type=1 จะหาค่ามากที่สุดที่ <= 60 ซึ่งก็คือ 60 เองอยู่ที่ตำแหน่ง 3 แล้ว INDEX ดึงเกรดจากตำแหน่งเดียวกันในคอลัมน์ G ได้ "C"

จุดที่ต้องระวังคือ MATCH แบบใกล้เคียงจะนับค่าที่ตรงพอดีว่าเป็นค่านั้นเลย ไม่ปัดขึ้นไปตำแหน่งถัดไป เพราะฉะนั้นขอบเขตล่างของแต่ละช่วงจึงอยู่ในช่วงนั้นเสมอครับ

fx
=INDEX(G2:G6, MATCH(60, F2:F6, 1))

ผลลัพธ์C

FAQs

MATCH คืน #N/A ในกรณีใดบ้าง?+

MATCH จะคืน #N/A error ใน 3 กรณีหลัก:

(1) ไม่พบค่าที่ต้องการใน lookup_array เมื่อใช้ match_type=0
(2) ใช้ match_type=1 แต่ข้อมูลไม่ได้เรียงจากน้อยไปมาก
(3) ใช้ match_type=-1 แต่ข้อมูลไม่ได้เรียงจากมากไปน้อย

ในกรณีที่ 2 และ 3 แม้ค่าที่หาจะอยู่ในรายการก็อาจได้ #N/A ถ้าข้อมูลไม่ได้เรียงถูกต้อง 😅

แนะนำใช้ IFERROR หรือ IFNA ครอบเพื่อจัดการ error และแสดงข้อความที่เป็นมิตรกับผู้ใช้ครับ

ความแตกต่างระหว่าง MATCH และ XMATCH คืออะไร?+

XMATCH (Excel 365 และ Excel 2021 ขึ้นไป) เป็นเวอร์ชันที่ดีกว่า MATCH ในทุกด้านเลยครับ:

(1) Default เป็น Exact Match (0) แทนที่จะเป็น 1 ทำให้ปลอดภัยกว่า
(2) รองรับการค้นหาจากท้ายไปหน้า (search_mode=-1)
(3) มี if_not_found argument สำหรับกำหนดค่า default เมื่อไม่พบ แทนที่จะได้ #N/A
(4) รองรับ Binary Search ที่เร็วกว่าในชุดข้อมูลขนาดใหญ่
(5) รองรับ Wildcard mode แยกต่างหาก

ถ้าใช้ Excel 365 หรือ 2021 แนะนำให้ใช้ XMATCH แทน MATCH เสมอครับ 😎

match_type มีค่าอะไรบ้าง และใช้เมื่อไร?+

match_type มี 3 ค่า:

(0) Exact Match – หาค่าตรงทุกตัวอักษร ไม่ต้องเรียงข้อมูล รองรับ Wildcard แนะนำให้ใช้เสมอเมื่อต้องการค้นหาแบบตรงทั้งหมด

(1) Less Than or Equal – หาค่ามากที่สุดที่ = lookup_value ต้องเรียงจากมากไปน้อยก่อน ใช้น้อยมาก

ค่าเริ่มต้นคือ 1 ซึ่งค่อนข้างอันตรายนะครับ เพราะต้องเรียงข้อมูลก่อน 😅

ทำไมควรใส่ match_type=0 เสมอ?+

เพราะค่าเริ่มต้นของ match_type คือ 1 ซึ่งต้องเรียงข้อมูลจากน้อยไปมากก่อน

ถ้าข้อมูลไม่ได้เรียงหรือเรียงผิด จะได้ผลผิดพลาดโดยที่ไม่แสดง error ทำให้ยากต่อการดีบักมากครับ 😭

การใส่ 0 (Exact Match) อย่างชัดเจนทำให้สูตรปลอดภัยที่สุด เข้าใจง่าย ไม่ต้องกังวลเรื่องการเรียงข้อมูล และยังรองรับ Wildcard ด้วย

ผู้เชี่ยวชาญ Excel แนะนำให้ใส่ match_type=0 อย่างชัดเจนเสมอ เว้นแต่จะต้องการใช้ Approximate Match จริงๆ เช่นการจัดเกรดหรือช่วงภาษี

Wildcard (* และ ?) ใช้กับ match_type ไหนได้บ้าง?+

Wildcard ใช้ได้กับ match_type=0 (Exact Match) เท่านั้นนะครับ โดย * แทนตัวอักษรหลายตัว (หรือไม่มีเลย) และ ? แทนตัวอักษรหนึ่งตัว

ตัวอย่าง:
– Pro* = หาข้อความที่ขึ้นต้นด้วย Pro
– *2025 = หาข้อความที่ลงท้ายด้วย 2025
– *Pro* = หาข้อความที่มี Pro อยู่ตรงไหนก็ได้
– App?? = หาข้อความที่ขึ้นต้นด้วย App ตามด้วยอักษร 2 ตัว

ถ้าต้องการหาเครื่องหมาย * หรือ ? จริงๆ ให้ใช้ tilde (~) นำหน้า เช่น ~* หรือ ~?

MATCH กับ INDEX ทำงานร่วมกันอย่างไร?+

INDEX-MATCH เป็นรูปแบบที่ทรงพลังกว่า VLOOKUP มากครับ 😎

MATCH ทำหน้าที่หาตำแหน่ง (เลขลำดับ) ของค่าที่ต้องการ จากนั้น INDEX จะใช้ตำแหน่งนั้นเพื่อดึงค่าจากคอลัมน์หรือแถวอื่น

รูปแบบพื้นฐาน: =INDEX(return_range, MATCH(lookup_value, lookup_range, 0))

ข้อดีคือ:
(1) ค้นหาจากขวาไปซ้ายได้ (VLOOKUP ทำไม่ได้)
(2) Two-Way Lookup ค้นหาทั้งแถวและคอลัมน์พร้อมกัน
(3) เร็วกว่า VLOOKUP ในชุดข้อมูลขนาดใหญ่
(4) ไม่มีปัญหาเมื่อแทรกหรือลบคอลัมน์

MATCH รองรับการค้นหาแบบ case-sensitive หรือไม่?+

ไม่ครับ MATCH ไม่คำนึงถึงตัวพิมพ์เล็ก-ใหญ่ (case-insensitive) ค้นหา Apple, apple, APPLE จะได้ผลเหมือนกัน

ถ้าต้องการค้นหาแบบ case-sensitive ต้องใช้ร่วมกับ EXACT โดยใช้รูปแบบ:
=MATCH(TRUE, EXACT(lookup_value, lookup_range), 0)

ตัวอย่าง: =MATCH(TRUE, EXACT("Apple", A1:A10), 0) จะหา Apple เท่านั้น ไม่หา apple หรือ APPLE

วิธีนี้ใช้ EXACT เปรียบเทียบทุกเซลล์ใน lookup_range กับ lookup_value แล้ว MATCH หา TRUE (ซึ่งหมายถึงตรงทุกตัวอักษรรวมตัวพิมพ์)

Resources & Related

ฟังก์ชันที่ผู้เขียนโยงไว้กับ MATCH จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง

ฟังก์ชันนี้MATCHLookup and reference
Lookup and reference (12)
ADDRESS

ADDRESS สร้างข้อความที่เป็นตำแหน่งเซลล์จากหมายเลขแถวและคอลัมน์ รองรับ Absolute Mixed Relative และสไตล์ R1C1 มักใช้คู่กับ INDIRECT เพื่อสร้าง Dynamic Reference

CHOOSE

CHOOSE เลือกค่าจากรายการค่าตามหมายเลขลำดับที่ระบุ เป็นเหมือนการเลือกรายการจากเมนู ส่งคืนค่าที่ตำแหน่งที่กำหนด มีประโยชน์ในการสร้างสูตรแบบเลือกตามเงื่อนไข

FILTER

FILTER กรองข้อมูลจาก Array ตามเงื่อนไขที่กำหนด แล้ว return เป็น Spill Range ที่ขยายอัตโนมัติ เป็น Dynamic Array Function ที่เปลี่ยนวิธีการทำงานกับข้อมูลใน Excel รองรับเงื่อนไขหลายตัว (AND/OR) และสามารถใช้ร่วมกับ SORT UNIQUE XLOOKUP เพื่อสร้างรายงานที่อัปเดตอัตโนมัติ

GETPIVOTDATA

GETPIVOTDATA ช่วยดึงข้อมูลจาก PivotTable โดยอ้างอิงชื่อฟิลด์และเงื่อนไข แทนที่จะอ้างอิงตำแหน่งเซลล์
.
เหมาะสำหรับการสร้างรายงานแบบไดนามิกและการวิเคราะห์ข้อมูลที่ต้องการความแม่นยำสูง เพราะสูตรจะยังคงทำงานได้ถูกต้องแม้ PivotTable จะเปลี่ยนแปลง 💡

HLOOKUP

HLOOKUP ค้นหาข้อมูลจากแถวแรกของตาราง แล้วคืนค่าจากแถวที่ระบุ ตรงข้ามกับ VLOOKUP ที่ค้นหาแนวตั้ง เหมาะสำหรับตารางที่หัวข้อมูลเรียงแบบแนวนอน

INDEX

INDEX คืนค่าหรือ reference ของเซลล์จากตำแหน่งที่ระบุใน range หรือ array โดยอ้างอิงจากหมายเลขแถวและคอลัมน์ที่เราระบุ มักถูกใช้ร่วมกับ MATCH เพื่อสร้าง INDEX-MATCH pattern ที่ยืดหยุ่นกว่า VLOOKUP เยอะ เพราะสามารถดึงข้อมูลจากทิศทางไหนก็ได้ และไม่พังเมื่อมีการแทรกหรือลบคอลัมน์

INDIRECT

INDIRECT แปลงข้อความเป็นการอ้างอิงเซลล์จริง ช่วยให้สามารถเปลี่ยนตำแหน่งเซลล์ได้ไดนามิกโดยใช้ตัวเลขหรือชื่อเซลล์

LOOKUP

LOOKUP ค้นหาค่าในช่วงข้อมูลที่เรียงลำดับแล้ว (ascending) และคืนค่าจากตำแหน่งเดียวกันในอีกช่วงหนึ่ง มีเทคนิคพิเศษคือหาค่าสุดท้ายที่ไม่ว่าง แนะนำใช้ XLOOKUP แทนสำหรับ Excel 365

ฟังก์ชัน OFFSET ใน Excel

อ้างอิงช่วงข้อมูลที่เลื่อนจากตำแหน่งเริ่มต้น สร้าง dynamic range ได้

VLOOKUP

VLOOKUP เป็นฟังก์ชันค้นหาแนวตั้งที่ได้รับความนิยมสูงสุดใน Excel โดยค้นหาค่าที่ต้องการในคอลัมน์ซ้ายสุดของตาราง จากนั้นดึงข้อมูลจากคอลัมน์ที่ระบุในแถวเดียวกัน รองรับทั้งการค้นหาแบบตรงทุกตัวอักษร (Exact Match) และแบบประมาณค่า (Approximate Match) สำหรับข้อมูลที่เรียงลำดับ ข้อจำกัดหลักคือต้องค้นหาจากคอลัมน์ซ้ายสุดเท่านั้น ไม่สามารถดึงข้อมูลจากด้านซ้ายของคอลัมน์ค้นหาได้

XLOOKUP

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

XMATCH

XMATCH คืนค่าตำแหน่งของข้อมูลที่ค้นหาในช่วงหรืออาร์เรย์ ถือเป็นฟังก์ชันรุ่นใหม่ที่ Microsoft พัฒนามาแก้จุดอ่อนของ MATCH โดยเฉพาะเรื่องค่า Default ที่เป็น Exact Match แทน Approximate Match ทำให้ใช้ง่ายและปลอดภัยกว่ามาก นอกจากนี้ยังรองรับการค้นหาย้อนกลับ Binary Search สำหรับข้อมูลขนาดใหญ่ และการค้นหาแบบ Wildcard ทำให้ยืดหยุ่นกว่า MATCH เดิมหลายเท่า

Information (1)
ISNA

ISNA ตรวจสอบเฉพาะ Error #N/A ที่เกิดจากการค้นหาไม่เจอในฟังก์ชันต่างๆ เช่น VLOOKUP หรือ MATCH มีประโยชน์มากเมื่อต้องแยกแยะระหว่าง "หาไม่เจอ" กับ "สูตรคิดผิด"

Comments

อีเมลของคุณจะไม่ถูกเผยแพร่