---
title: XLOOKUP คืออะไร ใช้งานยังไง ครบทุก Argument ในที่เดียว
url: https://www.thepexcel.com/xlookup/
type: post
date: 2026-08-26
author: Sira Ekabut
categories: [Excel Functions]
---

# XLOOKUP คืออะไร ใช้งานยังไง ครบทุก Argument ในที่เดียว

> XLOOKUP คืออะไร ใช้งานยังไง สอนครบทั้ง 6 argument พร้อมตัวอย่างจริง หาข้อมูลจากซ้าย ดึงหลายคอลัมน์ทีเดียว และ search_mode ย้อนหลัง

## XLOOKUP คืออะไร

 

XLOOKUP คือฟังก์ชันค้นหาข้อมูลของ Excel ที่รับค่าที่คุณอยากหา แล้วไปดึงข้อมูลอีกช่วงหนึ่งกลับมาให้ โดยที่ช่วงที่จะดึงจะอยู่ตรงไหนของตารางก็ได้ ไม่ต้องอยู่ติดกันหรือเรียงลำดับตายตัวเหมือนฟังก์ชันรุ่นเก่า พูดง่ายๆ คือมันคือฟังก์ชัน “หา A แล้วเอา B มาให้” ที่ยืดหยุ่นที่สุดตัวหนึ่งใน Excel ตอนนี้

 

ผมสอน VLOOKUP มาสิบกว่าปี พอ Microsoft ปล่อย XLOOKUP ออกมา ผมเปลี่ยนมาสอนตัวนี้เป็นหลักทันที เพราะมันแก้ปัญหาที่ VLOOKUP, HLOOKUP และ INDEX+MATCH สะสมมานานหลายปีได้เกือบหมดในฟังก์ชันเดียว ทั้งเรื่องค้นหาได้แค่ทิศทางเดียว การนับตำแหน่งคอลัมน์ที่พังทันทีที่มีคนแทรกคอลัมน์ใหม่ หรือการต้องห่อ IFERROR ทุกครั้งเพื่อกันค่า #N/A โผล่ให้เห็น

 

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

 

ถ้าคุณยังไม่คุ้นกับพื้นฐานการค้นหาข้อมูลในตารางเลย แนะนำให้อ่าน [VLOOKUP คืออะไร ใช้งานยังไง](https://www.thepexcel.com/vlookup/) ก่อน เพราะบทความนี้จะพาลงลึกเฉพาะ XLOOKUP ตั้งแต่ syntax ครบทั้ง 6 argument ไปจนถึงตัวอย่างที่ VLOOKUP ทำไม่ได้เลย อย่างการหาข้อมูลจากขวาไปซ้าย การดึงหลายคอลัมน์พร้อมกัน และการค้นหาค่าล่าสุดแบบย้อนหลัง

 

## XLOOKUP syntax และ 6 argument ที่ต้องรู้

 

```plaintext
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
```

 

argument 3 ตัวแรกจำเป็นต้องใส่ ส่วนอีก 3 ตัวหลังเป็นตัวเลือกเสริม แต่ผมอยากให้คุณรู้จักทั้งหมด เพราะ 3 ตัวหลังนี่แหละคือของที่ทำให้ XLOOKUP เหนือกว่า VLOOKUP จริงๆ ใครอยากอ่านนิยามฉบับทางการ ดูได้ที่ [เอกสาร XLOOKUP ของ Microsoft](https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929) ครับ

 

### 1-3. lookup_value, lookup_array, return_array คือ 3 ตัวที่ต้องใส่เสมอ

 

**lookup_value** คือค่าที่คุณอยากค้นหา เหมือน VLOOKUP ทุกอย่าง ใส่ตัวเลข ข้อความ หรืออ้างอิงเซลล์ก็ได้

 

**lookup_array** คือช่วงที่จะเอาไปค้นหา ตรงนี้ต่างจาก VLOOKUP ตรงที่ไม่จำเป็นต้องเป็นคอลัมน์ซ้ายสุดของตารางอะไรเลย จะเป็นคอลัมน์ไหน แถวไหน อยู่ตรงไหนของชีทก็ได้

 

**return_array** คือช่วงที่จะดึงค่ามาแสดงผล หัวใจสำคัญคือ lookup_array กับ return_array เป็นคนละช่วงที่แยกอิสระจากกันโดยสิ้นเชิง ไม่ต้องอยู่ในตารางเดียวกันด้วยซ้ำ (แม้ในทางปฏิบัติส่วนใหญ่จะอยู่ตารางเดียวกันก็ตาม) ขอแค่จำนวนแถวหรือจำนวนคอลัมน์เท่ากันก็พอ

 

### 4. if_not_found คือตัวจัดการเวลาหาไม่เจอ

 

ถ้าไม่ใส่ argument นี้ แล้วหาไม่เจอ Excel จะคืน #N/A มาให้เหมือนเดิม แต่ถ้าใส่ ก็สั่งได้เลยว่าอยากให้แสดงข้อความอะไรแทน เช่นใส่ `"ไม่พบข้อมูล"` แทนที่จะปล่อยให้ #N/A โผล่อยู่กลางรายงาน ข้อนี้ผมชอบมากเวลาทำ Dashboard ให้ลูกค้าดู เพราะไม่ต้องมานั่งครอบ IFERROR ซ้อนอีกชั้นเหมือนสมัยใช้ VLOOKUP

 

### 5. match_mode คือวิธีจับคู่ ไม่ใส่ = เอาแบบตรงเป๊ะ

 

| ค่า | ความหมาย |
| --- | --- |
| 0 (default) | หาค่าที่ตรงเป๊ะเท่านั้น ไม่เจอ = #N/A |
| -1 | หาค่าตรงเป๊ะก่อน ถ้าไม่เจอ ให้เอาค่าที่เล็กกว่าถัดไป |
| 1 | หาค่าตรงเป๊ะก่อน ถ้าไม่เจอ ให้เอาค่าที่ใหญ่กว่าถัดไป |
| 2 | wildcard match ใช้ `*`, `?`, `~` ได้ |

 

จุดที่ต้องจำให้ขึ้นใจคือ ถ้าไม่ใส่ argument นี้เลย ค่า default ของ XLOOKUP คือ 0 (exact match) ซึ่งต่างจาก VLOOKUP ที่ default เป็น approximate match ตรงนี้ปลอดภัยกว่าตั้งแต่ต้น เพราะงานส่วนใหญ่ต้องการค่าตรงเป๊ะอยู่แล้ว แต่ก็เป็นจุดที่คนย้ายจาก VLOOKUP มาแล้วงงบ่อยเหมือนกัน เดี๋ยวอธิบายต่อในหัวข้อจุดพลาด

 

### 6. search_mode คือทิศทางการไล่หาในตาราง

 

| ค่า | ความหมาย |
| --- | --- |
| 1 (default) | ไล่หาจากแถวบนสุดลงมาล่างสุด |
| -1 | ไล่หาจากแถวล่างสุดขึ้นไปบนสุด |
| 2 | binary search แบบเร็ว ต้องเรียงข้อมูลจากน้อยไปมากก่อน |
| -2 | binary search แบบเร็ว ต้องเรียงข้อมูลจากมากไปน้อยก่อน |

 

ค่า 2 กับ -2 เร็วกว่าแบบไล่ทีละแถวจริง แต่ถ้าข้อมูลไม่ได้เรียงตามที่กำหนดไว้ ผลลัพธ์จะผิดแบบเงียบๆ ไม่มี error เตือน ผมเลยแนะนำให้ใช้แค่ 1 กับ -1 พอ ยกเว้นไฟล์ใหญ่มากๆ ระดับแสนแถวที่ความเร็วมีผลจริง

 

รวมแล้ว 3 argument หลังนี่แหละที่ผมว่าเป็นเหตุผลจริงๆ ที่ XLOOKUP ควรมาแทน VLOOKUP ไม่ใช่แค่เรื่องหาซ้ายหาขวาอย่างที่หลายคนเข้าใจ เพราะ if_not_found ทำให้ไม่ต้องพึ่ง IFERROR อีกชั้น match_mode ทำให้เลือกพฤติกรรมการจับคู่ได้ละเอียดกว่าแค่ TRUE/FALSE และ search_mode เปิดโอกาสให้ทำ pattern อย่างค้นหาค่าล่าสุดที่ VLOOKUP ทำตรงๆ ไม่ได้เลย

 

## ตัวอย่างการใช้งาน XLOOKUP

 

### ตัวอย่างที่ 1: ค้นหาแบบตรงเป๊ะพื้นฐาน

 

สมมติมีตารางสินค้าแบบนี้ (วางที่ A1:C5)

 

| รหัสสินค้า | ชื่อสินค้า | ราคา |
| --- | --- | --- |
| P001 | เมาส์ไร้สาย | 350 |
| P002 | คีย์บอร์ด | 590 |
| P003 | จอมอนิเตอร์ | 4500 |
| P004 | หูฟัง | 890 |

 

อยากรู้ราคาของ P003 ใช้สูตร

 

```plaintext
=XLOOKUP("P003", A2:A5, C2:C5)
```

 

ผลลัพธ์คือ 4500 สังเกตว่าเราไม่ต้องนับตำแหน่งคอลัมน์เหมือน VLOOKUP เลย แค่บอกตรงๆ ว่า “หาใน A2:A5 แล้วดึงค่าจาก C2:C5” อ่านสูตรทีหลังก็เข้าใจทันทีว่ามันทำอะไร ไม่ต้องนั่งนับว่าเลข 3 ในสูตร VLOOKUP หมายถึงคอลัมน์ไหน

 

### ตัวอย่างที่ 2: ใส่ข้อความเองเวลาหาไม่เจอ

 

ใช้ตารางเดิม ลองหารหัสที่ไม่มีในตาราง

 

```plaintext
=XLOOKUP("P099", A2:A5, C2:C5, "ไม่พบสินค้านี้ในระบบ")
```

 

พอไม่เจอ P099 สูตรจะคืนข้อความ “ไม่พบสินค้านี้ในระบบ” แทนที่จะเป็น #N/A โผล่กลางรายงานให้ลูกค้าเห็น เขียนสูตรเดียวจบ ไม่ต้องครอบ IFERROR ซ้อนอีกชั้น

 

### ตัวอย่างที่ 3: หาข้อมูลจากขวาไปซ้าย จุดที่ VLOOKUP ทำไม่ได้เลย

 

สมมติตารางเรียงคอลัมน์แบบนี้ (วางที่ A1:D5) โดยที่รหัสสินค้าอยู่คอลัมน์ B ซึ่งอยู่ทาง**ซ้าย**ของชื่อสินค้าที่อยู่คอลัมน์ C

 

| ลำดับ | รหัสสินค้า | ชื่อสินค้า | ราคา |
| --- | --- | --- | --- |
| 1 | P001 | เมาส์ไร้สาย | 350 |
| 2 | P002 | คีย์บอร์ด | 590 |
| 3 | P003 | จอมอนิเตอร์ | 4500 |
| 4 | P004 | หูฟัง | 890 |

 

ทีนี้สมมติคุณรู้แค่ชื่อสินค้า อยากได้รหัสสินค้ากลับมา นั่นคือต้องค้นหาในคอลัมน์ C แล้วดึงค่าจากคอลัมน์ B ที่อยู่ทาง**ซ้าย**ของมัน งานแบบนี้ VLOOKUP ทำไม่ได้เลย เพราะมันบังคับให้คอลัมน์ที่ค้นหาต้องเป็นคอลัมน์ซ้ายสุดของช่วงเสมอ ดึงค่าได้เฉพาะคอลัมน์ที่อยู่ทางขวาเท่านั้น

 

XLOOKUP ไม่มีข้อจำกัดนี้ เพราะ lookup_array กับ return_array เป็นคนละช่วงที่ระบุแยกกันตรงๆ

 

```plaintext
=XLOOKUP("เมาส์ไร้สาย", C2:C5, B2:B5)
```

 

หาในคอลัมน์ C (ชื่อสินค้า) แล้วดึงค่าจากคอลัมน์ B (รหัสสินค้า) ที่อยู่ทางซ้าย ได้ผลลัพธ์ P001 กลับมาโดยไม่ต้องสลับตำแหน่งคอลัมน์ในตารางต้นทางเลยสักนิด นี่คือจุดที่ผมว่าประหยัดเวลาที่สุดตอนย้ายมาจาก VLOOKUP

 

### ตัวอย่างที่ 4: ดึงหลายคอลัมน์พร้อมกันในสูตรเดียว

 

ใช้ตารางพนักงานแบบนี้ (วางที่ A1:D5)

 

| รหัสพนักงาน | ชื่อ | แผนก | เงินเดือน |
| --- | --- | --- | --- |
| EMP001 | สมชาย | ขาย | 28000 |
| EMP002 | สมหญิง | บัญชี | 32000 |
| EMP003 | วิชัย | IT | 45000 |
| EMP004 | มาลี | HR | 30000 |

 

ปกติถ้าใช้ VLOOKUP อยากได้ทั้งชื่อ แผนก และเงินเดือน ต้องเขียนสูตร 3 ครั้ง ครั้งละคอลัมน์ แต่ XLOOKUP ทำได้ในสูตรเดียว ถ้า return_array เป็นช่วงหลายคอลัมน์

 

```plaintext
=XLOOKUP("EMP002", A2:A5, B2:D5)
```

 

พิมพ์สูตรนี้ในเซลล์เดียว ผลลัพธ์จะ spill ออกมา 3 คอลัมน์พร้อมกัน คือ สมหญิง, บัญชี, 32000 ไม่ต้องลากสูตรทีละคอลัมน์เหมือนเดิม เวลาทำรายงานสรุปที่ต้องดึงข้อมูลหลายฟิลด์จากรหัสเดียวกัน ตัวนี้ประหยัดเวลาไปเยอะมากกกก

 

### ตัวอย่างที่ 5: ค้นหาค่าล่าสุดด้วย search_mode -1

 

นี่คือเคสที่ผมชอบอธิบายให้ดูเพราะมันแก้ปัญหาที่ VLOOKUP ทำตรงๆ ไม่ได้เลย สมมติมี log ราคาสินค้าที่บันทึกทุกครั้งที่มีการปรับราคา เรียงตามวันที่จากเก่าไปใหม่ (วางที่ A1:C6)

 

| วันที่ | รหัสสินค้า | ราคา |
| --- | --- | --- |
| 1/1/2026 | P003 | 4200 |
| 15/2/2026 | P001 | 330 |
| 3/3/2026 | P003 | 4350 |
| 20/5/2026 | P002 | 570 |
| 10/7/2026 | P003 | 4500 |

 

สังเกตว่า P003 มีการปรับราคาถึง 3 ครั้ง ถ้าใช้ XLOOKUP แบบปกติ (search_mode = 1) มันจะหาจากบนลงล่างแล้วเจอแถวแรกสุดคือ 4200 ซึ่งเป็นราคาเก่าที่สุด ไม่ใช่ราคาปัจจุบัน

 

```plaintext
=XLOOKUP("P003", B2:B6, C2:C6, "ไม่พบ", 0, -1)
```

 

ใส่ search_mode เป็น -1 สั่งให้ XLOOKUP ไล่หาจากแถวล่างสุดขึ้นไปแทน พอเจอ P003 แถวแรกที่เจอจากด้านล่างคือแถววันที่ 10/7/2026 ซึ่งเป็นแถวล่าสุด ผลลัพธ์เลยได้ 4500 ซึ่งคือราคาปัจจุบัน โดยไม่ต้องเรียงข้อมูลใหม่หรือใช้สูตร array ซับซ้อนอะไรเลย ขอแค่ log เรียงตามเวลาแบบธรรมชาติของมันอยู่แล้วก็พอ

 

## XLOOKUP vs VLOOKUP vs INDEX+MATCH เลือกใช้ตัวไหนดี

 

| หัวข้อ | XLOOKUP | VLOOKUP | INDEX+MATCH |
| --- | --- | --- | --- |
| ทิศทางค้นหา | ซ้ายไปขวาหรือขวาไปซ้ายก็ได้ | ซ้ายไปขวาเท่านั้น | ซ้ายไปขวาหรือขวาไปซ้ายก็ได้ |
| อ้างอิงคอลัมน์ผลลัพธ์ | ระบุ return_array ตรงๆ | นับ col_index_num | ระบุช่วงตรงๆ ผ่าน INDEX |
| ดึงหลายคอลัมน์พร้อมกัน | ได้ผ่าน spill | ต้องเขียนแยกทีละคอลัมน์ | เขียนแยกทีละคอลัมน์เช่นกัน |
| จัดการค่าหาไม่เจอ | มี if_not_found ในตัว | ต้องครอบ IFERROR เอง | ต้องครอบ IFERROR เอง |
| ความยาวสูตร | สั้น อ่านง่าย | สั้น | ยาวกว่าเพราะซ้อน 2 ฟังก์ชัน |
| ใช้ได้กับ Excel เวอร์ชันไหน | 365, 2024, 2021 ขึ้นไป | ทุกเวอร์ชัน | ทุกเวอร์ชัน |

 

ผมเช็คเรื่องเวอร์ชันที่รองรับ XLOOKUP จาก[เอกสารทางการของ Microsoft](https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929)มาแล้ว ใช้งานได้ใน Excel for Microsoft 365 ทุกแพลตฟอร์ม รวมถึง Excel 2024 และ Excel 2021 (ทั้งเวอร์ชัน Windows และ Mac) แต่**ใช้ไม่ได้**ใน Excel 2016 และ Excel 2019

 

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

 

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

 

## จุดพลาดและข้อควรระวังตอนใช้ XLOOKUP

 

**ใช้ในเวอร์ชันเก่าไม่ได้ ขึ้น #NAME?** ถ้าไฟล์ที่มีสูตร XLOOKUP ถูกเปิดใน Excel 2016 หรือ 2019 สูตรจะขึ้น #NAME? ทันที เพราะเวอร์ชันนั้นไม่รู้จักฟังก์ชันนี้เลย ก่อนส่งไฟล์ให้ใคร ควรเช็คก่อนว่าปลายทางใช้ Excel เวอร์ชันไหน

 

**lookup_array กับ return_array ขนาดไม่เท่ากัน ขึ้น #VALUE!** ถ้า lookup_array เป็นช่วง 10 แถว แต่ return_array ดันเป็น 8 แถว Excel จะคืน #VALUE! ทันที เพราะมันจับคู่ตำแหน่งแถวไม่ได้ จุดนี้มักเกิดตอนก็อปปี้สูตรแล้วลากช่วงไม่ครบ หรือแก้ไขตารางแล้วลืมขยายช่วงให้เท่ากัน

 

**นิสัยเดิมจาก VLOOKUP TRUE อาจทำให้พลาด** คนที่เคยชินกับ VLOOKUP แล้วไม่ใส่ range_lookup เลย (ปล่อยให้เป็น TRUE โดยอัตโนมัติ) พอย้ายมาใช้ XLOOKUP แล้วไม่ใส่ match_mode เหมือนกัน จะเจอพฤติกรรมกลับด้าน เพราะ default ของ XLOOKUP คือ 0 (exact match) ไม่ใช่ approximate ถ้าอยากได้พฤติกรรมแบบตารางเกรดหรือตารางคอมมิชชั่นที่เคยทำกับ VLOOKUP TRUE ต้องใส่ match_mode เป็น -1 เอง ไม่งั้นจะได้ #N/A แทนที่จะได้ค่าประมาณเหมือนที่คุ้นเคย

 

**ลืมใส่ argument กลางแล้ว argument ท้ายเลื่อนตำแหน่งผิด** ถ้าอยากข้าม if_not_found แต่ยังอยากใส่ match_mode หรือ search_mode ต้องเว้นตำแหน่งของ if_not_found ไว้ด้วยเครื่องหมายจุลภาคเปล่าๆ เช่น `=XLOOKUP("P003", A2:A5, C2:C5, , 0, -1)` ถ้าลืมเว้นตำแหน่งนี้ Excel จะเข้าใจว่าค่าที่คุณตั้งใจใส่เป็น match_mode กลายเป็น if_not_found แทน แล้วสูตรจะให้ผลลัพธ์ผิดแบบที่ไม่มี error เตือนเลย

 

## คำถามที่พบบ่อย

 

**XLOOKUP ใช้แทน VLOOKUP ได้เลยไหม**

 

ได้เกือบทุกกรณีครับ ถ้า Excel ของคุณรองรับ XLOOKUP ทำได้ทุกอย่างที่ VLOOKUP ทำได้ และทำได้มากกว่าด้วย ยกเว้นกรณีเดียวคือไฟล์ต้องใช้ร่วมกับคนที่ยังเปิด Excel 2016 หรือ 2019 อยู่ ตรงนั้นต้องคง VLOOKUP หรือ INDEX+MATCH ไว้แทน

 

**XLOOKUP ใช้ Excel เวอร์ชันไหนได้บ้าง**

 

ใช้ได้ใน Excel for Microsoft 365 ทุกแพลตฟอร์ม Excel 2024 และ Excel 2021 ใช้ไม่ได้ใน Excel 2016 และ 2019 ถ้าไม่แน่ใจว่าเวอร์ชันตัวเองรองรับไหม ลองพิมพ์ `=XLOOKUP(` ในเซลล์ดู ถ้า Excel auto-complete ชื่อฟังก์ชันให้ ก็แปลว่าใช้ได้

 

**XLOOKUP หาค่าจากขวาไปซ้ายได้ไหม**

 

ได้ครับ นี่คือจุดเด่นที่สุดของมันเลย เพราะ lookup_array กับ return_array เป็นช่วงที่ระบุแยกจากกันอิสระ อยู่ตรงไหนของตารางก็ได้ ไม่ได้ผูกกับตำแหน่งซ้ายขวาแบบ VLOOKUP ดูตัวอย่างที่ 3 ด้านบนได้เลย

 

**XLOOKUP กับ INDEX MATCH อันไหนดีกว่า**

 

ถ้า Excel รองรับ XLOOKUP ผมว่า XLOOKUP ดีกว่าเพราะสูตรสั้นกว่า อ่านง่ายกว่า และมี if_not_found ในตัว แต่ถ้าต้องทำไฟล์ให้เปิดได้ทุกเวอร์ชัน INDEX+MATCH ยังเป็นตัวเลือกที่ทำได้เกือบทุกอย่างเหมือนกัน แค่สูตรจะยาวกว่าเพราะต้องซ้อน 2 ฟังก์ชัน

 

**ทำไม XLOOKUP ขึ้น #VALUE! แก้ยังไง**

 

ส่วนใหญ่เกิดจาก lookup_array กับ return_array มีจำนวนแถวหรือคอลัมน์ไม่เท่ากัน ลองเช็คว่าช่วงทั้งสองที่เลือกมีจำนวนแถวเท่ากันไหม ถ้าลากสูตรจากไฟล์เก่ามา ให้เช็คว่าตอนแก้ไขตารางมีการขยายหรือลดช่วงข้อมูลแล้วลืมปรับสูตรตามหรือเปล่า

 

## อ่านต่อ

 

ถ้ายังไม่คุ้นกับพื้นฐานการค้นหาข้อมูลในตาราง อ่าน [VLOOKUP คืออะไร ใช้งานยังไง](https://www.thepexcel.com/vlookup/) ก่อนได้เลยครับ

 

ถ้าอยากรู้จัก XLOOKUP แบบลึกกว่านี้ ทั้งเทคนิคขั้นสูงและการใช้งานร่วมกับฟังก์ชันอื่น อ่าน [XLOOKUP ฉบับละเอียด](https://www.thepexcel.com/xlookup-in-depth/) ที่ผมเขียนแยกไว้อีกชิ้นนึง หรือดู syntax แบบสรุปสั้นๆ ได้ที่ [หน้าอ้างอิงฟังก์ชัน XLOOKUP](https://www.thepexcel.com/functions/excel/lookup-and-reference/xlookup/)

 

สุดท้าย ถ้าอยากเรียน Excel ตั้งแต่พื้นฐานไปจนถึงฟังก์ชันขั้นสูงแบบเป็นระบบ ไม่ต้องมานั่งงมเองทีละฟังก์ชัน ลองดูคอร์สของผมที่ [thepexcel.com/courses](https://www.thepexcel.com/courses/) ได้เลยครับ

---

_Source: [https://www.thepexcel.com/xlookup/](https://www.thepexcel.com/xlookup/)_
