---
title: XLOOKUP – ฟังก์ชันค้นหาข้อมูลแนวตั้งและแนวนอน
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/xlookup/
type: function-explainer
program: Excel
syntax: "=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])"
date: 2025-11-29
updated: 2025-12-17
scores:
  popularity: 8
  difficulty: 4
  usefulness: 10
---

# XLOOKUP – ฟังก์ชันค้นหาข้อมูลแนวตั้งและแนวนอน

> ค้นหาข้อมูลในตารางได้ทั้งแนวตั้งและแนวนอน ยืดหยุ่นกว่า VLOOKUP

## คำอธิบาย

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

## Syntax

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

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| lookup_value | Yes | Any |  | ค่าที่ต้องการค้นหา |
| lookup_array | Yes | Range |  | ช่วงข้อมูลที่ใช้ในการค้นหา |
| return_array | Yes | Range |  | ช่วงข้อมูลที่ต้องการให้แสดงผลลัพธ์ |
| if_not_found | No | Any | #N/A | ค่าที่แสดงเมื่อไม่พบข้อมูล (ถ้าไม่ระบุจะแสดง #N/A) |
| match_mode | No | Number | 0 | โหมดการจับคู่: 0 = ตรงทุกประการ -1 = ตรงทุกประการหรือน้อยกว่า 1 = ตรงทุกประการหรือมากกว่า 2 = ใกล้เคียง (wildcard) |
| search_mode | No | Number | 1 | โหมดการค้นหา: 1 = ค้นหาจากต้นไปท้าย -1 = ค้นหาจากท้ายไปต้น 2 = binary search (เรียงจากน้อยไปมาก) -2 = binary search (เรียงจากมากไปน้อย) |

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: ค้นหาพื้นฐาน (Exact Match)

```excel
=XLOOKUP("สินค้า A", ProductIDs, ProductPrices)
```

**ผลลัพธ์:** `ราคาของสินค้า A`

สมมติว่าเรามี 2 Named Range:
- ProductIDs: ช่วงเซลล์รหัสสินค้า
- ProductPrices: ช่วงเซลล์ราคาสินค้า

สูตรค้นหา "สินค้า A" ในช่วง ProductIDs และแสดงค่าที่สอดคล้องจากช่วง ProductPrices

### 2. ตัวอย่างที่ 2: กำหนดค่าเมื่อไม่พบข้อมูล

```excel
=XLOOKUP("สินค้า Z", ProductIDs, ProductDescriptions, "ไม่พบข้อมูล")
```

**ผลลัพธ์:** `ไม่พบข้อมูล`

ค้นหา "สินค้า Z" ในช่วง ProductIDs แต่ถ้าไม่พบ จะแสดง "ไม่พบข้อมูล" แทนที่จะเป็น #N/A

### 3. ตัวอย่างที่ 3: ค้นหาจากล่างขึ้นบน (ย้อนกลับ)

```excel
=XLOOKUP("ปิด", StatusColumn, LatestValueColumn, , 0, -1)
```

**ผลลัพธ์:** `ค่าล่าสุดที่พบ`

สมมติว่าเรามี 2 Named Range:
- StatusColumn: คอลัมน์สถานะ (เช่น "เปิด", "ปิด")
- LatestValueColumn: คอลัมน์ค่าล่าสุดที่เกี่ยวข้อง

สูตรค้นหา "ปิด" ใน StatusColumn จากล่างขึ้นบน (search_mode=-1) ซึ่งจะให้ผลลัพธ์ที่เป็นค่าล่าสุดที่ตรงกัน

### 4. ตัวอย่างที่ 4: ค้นหาและแสดงผลหลายคอลัมน์

```excel
=XLOOKUP("EMP001", EmployeeIDs, EmployeeDetails)
```

**ผลลัพธ์:** `แถวข้อมูลพนักงาน`

สมมติว่าเรามี 2 Named Range:
- EmployeeIDs: คอลัมน์รหัสพนักงาน
- EmployeeDetails: ช่วงหลายคอลัมน์ที่ประกอบด้วย ชื่อ, แผนก, ตำแหน่ง

สูตรค้นหา "EMP001" ใน EmployeeIDs และแสดงผลลัพธ์จากช่วง EmployeeDetails ซึ่งจะคืนค่าออกมาหลายคอลัมน์พร้อมกัน

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

**Q: XLOOKUP ต่างจาก VLOOKUP อย่างไร?**

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

**Q: XLOOKUP ใช้ได้กับ Excel เวอร์ชันไหน?**

XLOOKUP ใช้ได้กับ Excel 365 และ Excel 2021 เท่านั้น ไม่รองรับเวอร์ชันเก่ากว่า

**Q: XLOOKUP สามารถแทน INDEX/MATCH ได้หรือไม่?**

ได้ XLOOKUP ถูกออกแบบมาเพื่อแทนที่ VLOOKUP, HLOOKUP และ INDEX/MATCH โดยมีไวยากรณ์ที่เข้าใจง่ายกว่า

**Q: match_mode และ search_mode คืออะไร?**

match_mode กำหนดวิธีการจับคู่ข้อมูล (ตรงทุกประการ/ใกล้เคียง) ส่วน search_mode กำหนดทิศทางการค้นหา (บนลงล่าง/ล่างขึ้นบน)

**Q: XLOOKUP สามารถค้นหาหลายคอลัมน์พร้อมกันได้หรือไม่?**

ได้ สามารถระบุ return_array เป็นช่วงหลายคอลัมน์ เช่น B2:D10 เพื่อแสดงผลหลายคอลัมน์พร้อมกัน

**Q: จะทำอย่างไรถ้า XLOOKUP ไม่พบข้อมูล?**

ใช้ argument if_not_found เพื่อกำหนดค่าที่ต้องการแสดงเมื่อไม่พบข้อมูล แทนที่จะแสดง #N/A

## ฟังก์ชันที่เกี่ยวข้อง

- [HLOOKUP – ค้นหาข้อมูลแนวนอนในตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/hlookup/)
- [IFERROR – ดักจับ Error และเปลี่ยนเป็นค่าอื่น](https://www.thepexcel.com/functions/excel/logical/iferror/)
- [INDEX – ดึงค่าจากตำแหน่งที่ระบุใน Range หรือ Array](https://www.thepexcel.com/functions/excel/lookup-and-reference/index/)
- [LOOKUP – ค้นหาข้อมูลแบบดั้งเดิม](https://www.thepexcel.com/functions/excel/lookup-and-reference/lookup/)
- [MATCH – ค้นหาตำแหน่งของค่าในรายการ](https://www.thepexcel.com/functions/excel/lookup-and-reference/match/)
- [VLOOKUP – ฟังก์ชันค้นหาค่าแนวตั้งจากตาราง](https://www.thepexcel.com/functions/excel/lookup-and-reference/vlookup/)
- [XMATCH – ฟังก์ชันค้นหาตำแหน่งข้อมูลขั้นสูง](https://www.thepexcel.com/functions/excel/lookup-and-reference/xmatch/)

## แหล่งข้อมูลเพิ่มเติม

- [Microsoft Docs: XLOOKUP function](https://support.microsoft.com/en-us/office/xlookup-function-b7fd680e-6d10-43e6-84f9-88eae8bf5929) _(documentation)_
- [Lookup & reference functions overview](https://support.microsoft.com/en-us/office/lookup-and-reference-functions-reference-8aa21a3a-b56a-4055-8257-3ec89df2b23e) _(documentation)_
- [ExcelJet](https://exceljet.net/excel-functions/excel-xlookup-function) _(guide)_

---

_Source: [https://www.thepexcel.com/functions/excel/lookup-and-reference/xlookup/](https://www.thepexcel.com/functions/excel/lookup-and-reference/xlookup/)_
