---
title: LOOKUP – ค้นหาข้อมูลแบบดั้งเดิม
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/lookup/
type: function-explainer
program: Excel
syntax: "=LOOKUP(lookup_value, lookup_vector, [result_vector])"
date: 2025-12-02
updated: 2025-12-17
scores:
  popularity: 7
  difficulty: 4
  usefulness: 8
---

# LOOKUP – ค้นหาข้อมูลแบบดั้งเดิม

> ค้นหาค่าในช่วงที่เรียงลำดับแล้ว

## คำอธิบาย

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

## Syntax

```excel
=LOOKUP(lookup_value, lookup_vector, [result_vector])
```

**excel**

```excel
=LOOKUP(A1, B:B, C:C)
```

Vector form: ค้นหาใน B คืนค่าจาก C

**excel**

```excel
=LOOKUP(A1, B1:D10)
```

Array form: ค้นหาคอลัมน์แรก คืนค่าคอลัมน์สุดท้าย

**excel**

```excel
=LOOKUP(2, 1/(A:A<>""), A:A)
```

หาค่าสุดท้ายที่ไม่ว่าง

**excel**

```excel
=LOOKUP(9.99E+307, A:A)
```

หาตัวเลขสุดท้ายในคอลัมน์

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| lookup_value | Yes | Any |  | ค่าที่ต้องการค้นหา (LOOKUP จะหาค่าที่น้อยกว่าหรือเท่ากับที่ใกล้เคียงที่สุด) |
| lookup_vector | Yes | Range/Array |  | ช่วงข้อมูลที่ค้นหา (ต้องเรียงจากน้อยไปมาก) หรือ array 2 มิติสำหรับ Array form |
| result_vector | No | Range/Array | lookup_vector | ช่วงข้อมูลผลลัพธ์ (ต้องมีขนาดเท่ากับ lookup_vector) ถ้าไม่ระบุจะใช้ lookup_vector |

## เคสการใช้งาน

### แปลงคะแนนเป็นเกรด

ใช้ LOOKUP หาช่วงคะแนนที่ตรงกับเกรด โดยไม่ต้องใช้ IF ซ้อนกันหลายชั้น

_เหมาะกับ:_ grading

### หาค่าสุดท้ายในคอลัมน์

เทคนิคยอดนิยมสำหรับหาข้อมูลล่าสุดในคอลัมน์ที่มีข้อมูลว่าง

_เหมาะกับ:_ data-analysis

### Approximate Match

ค้นหาแบบประมาณค่า เช่น หาราคาตามช่วงน้ำหนัก หาค่าคอมมิชชั่นตามยอดขาย

_เหมาะกับ:_ pricing

## ตัวอย่าง

### 1. ตัวอย่างที่ 1: แปลงคะแนนเป็นเกรด

```excel
=LOOKUP(75, {0,50,60,70,80}, {"F","D","C","B","A"})
```

**ผลลัพธ์:** `"B"`

คะแนน 75 อยู่ระหว่าง 70-79 ดังนั้นได้เกรด B (LOOKUP หาค่าที่

### 2. ตัวอย่างที่ 2: หาค่าสุดท้ายที่ไม่ว่าง

```excel
=LOOKUP(2, 1/(A1:A100<>""), A1:A100)
```

**ผลลัพธ์:** `"ข้อมูลสุดท้าย"`

เทคนิคยอดนิยม: 1/(A"") สร้าง array ของ 1 และ error แล้ว LOOKUP(2,...) หาค่า 1 ตัวสุดท้าย

### 3. ตัวอย่างที่ 3: หาตัวเลขสุดท้ายในคอลัมน์

```excel
=LOOKUP(9.99E+307, A:A)
```

**ผลลัพธ์:** `12345`

9.99E+307 คือตัวเลขสูงสุดใน Excel LOOKUP หาค่าที่น้อยกว่าหรือเท่ากับ จึงได้ตัวเลขสุดท้าย

### 4. ตัวอย่างที่ 4: Array form

```excel
=LOOKUP("C", A1:B5)
```

**ผลลัพธ์:** `"Result for C"`

Array form: ค้นหาในคอลัมน์แรก (A) คืนค่าจากคอลัมน์สุดท้าย (B)

### 5. ตัวอย่างที่ 5: หาค่าคอมมิชชั่น

```excel
=LOOKUP(Sales[Amount], {0,10000,50000,100000}, {0.05,0.07,0.1,0.15})*Sales[Amount]
```

**ผลลัพธ์:** `7500`

ยอดขาย 75,000 อยู่ในช่วง 50,000-99,999 ได้คอมมิชชั่น 10% = 7,500

### 6. ตัวอย่างที่ 6: หาข้อความสุดท้าย

```excel
=LOOKUP(REPT("z", 255), A:A)
```

**ผลลัพธ์:** `"ZZZ"`

REPT("z", 255) สร้างข้อความ z 255 ตัว ซึ่งมากกว่าข้อความทั่วไป จึงได้ข้อความสุดท้าย

## หมายเหตุเพิ่มเติม

**เปรียบเทียบ LOOKUP Functions:**\n\n| Function | Match Type | ต้องเรียงข้อมูล | หาค่าสุดท้ายได้ |\n|----------|-----------|---------------|----------------|\n| LOOKUP | Approximate | ต้องเรียง | ได้ |\n| VLOOKUP | Both | Approximate เท่านั้น | ไม่ได้ |\n| INDEX/MATCH | Both | ไม่จำเป็น | ได้ (ยาก) |\n| XLOOKUP | Both | ไม่จำเป็น | ได้ |\n\n**เทคนิคหาค่าสุดท้าย:**\n```\n=LOOKUP(2, 1/(A:A\"\"), A:A)     → ข้อความสุดท้าย\n=LOOKUP(9.99E+307, A:A)          → ตัวเลขสุดท้าย\n=LOOKUP(REPT(\"z\",255), A:A)      → ข้อความสุดท้าย (ทางเลือก)\n```\n\n**Pattern การใช้งาน:**\n```\n=LOOKUP(Score, {0,50,60,70,80}, {\"F\",\"D\",\"C\",\"B\",\"A\"}) → เกรด\n=LOOKUP(Weight, PriceTable)      → หาราคาตามน้ำหนัก\n```\n\n**Tips:**\n- ข้อมูลต้องเรียงจากน้อยไปมาก\n- ใช้เทคนิค 2, 1/(...) หาค่าสุดท้าย\n- พิจารณา XLOOKUP สำหรับ Excel ใหม่

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

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

LOOKUP ค้นหาแบบ approximate match เท่านั้น (ต้องเรียงข้อมูล), VLOOKUP เลือก exact หรือ approximate ได้ และ VLOOKUP ระบุหมายเลขคอลัมน์ผลลัพธ์ได้

**Q: ทำไมต้องเรียงข้อมูล?**

LOOKUP ใช้ binary search จึงต้องเรียงข้อมูลจากน้อยไปมาก ถ้าไม่เรียงจะได้ผลลัพธ์ผิด

**Q: Vector form กับ Array form ต่างกันอย่างไร?**

Vector form ใช้ 2 ช่วงแยกกัน (lookup และ result), Array form ใช้ 1 ช่วงหลายคอลัมน์ (ค้นหาคอลัมน์แรก คืนคอลัมน์สุดท้าย)

**Q: ควรใช้ LOOKUP หรือ XLOOKUP?**

ใช้ XLOOKUP ถ้ามี (Excel 365/2021) เพราะยืดหยุ่นกว่า ใช้ LOOKUP สำหรับความเข้ากันได้กับ Excel เก่าหรือเทคนิคหาค่าสุดท้าย

**Q: LOOKUP รองรับ Excel เวอร์ชันไหน?**

ทุกเวอร์ชันตั้งแต่ Excel 2003 เป็นฟังก์ชันพื้นฐานที่มีใน spreadsheet ทุกโปรแกรม

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

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

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

- [Microsoft Support: LOOKUP function](https://support.microsoft.com/en-us/office/lookup-function-446d94af-663b-451d-8251-369d5e3864cb) _(official)_
- [ExcelJet: How to use LOOKUP](https://exceljet.net/excel-functions/excel-lookup-function) _(guide)_

---

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