---
title: INDIRECT – อ้างอิงเซลล์แบบไดนามิก
url: https://www.thepexcel.com/functions/excel/lookup-and-reference/indirect/
type: function-explainer
program: Excel
syntax: "=INDIRECT(ref_text, [a1])"
date: 2025-11-30
updated: 2025-12-20
scores:
  popularity: 7
  difficulty: 6
  usefulness: 8
---

# INDIRECT – อ้างอิงเซลล์แบบไดนามิก

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

## คำอธิบาย

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

## Syntax

```excel
=INDIRECT(ref_text, [a1])
```

## Arguments

| Name | Required | Type | Default | Description |
| --- | --- | --- | --- | --- |
| ref_text | Yes | Text |  | ข้อความที่แสดงการอ้างอิงเซลล์ เช่น 'A1' หรือ 'Sheet2!B3' ถ้าไม่ใช่การอ้างอิงที่ถูกต้อง จะคืนค่า #REF! error |
| a1 | No | Logical | TRUE | TRUE หรือละเว้น = ใช้รูปแบบ A1 (A1, B2, C3) \| FALSE = ใช้รูปแบบ R1C1 (R1C1, R2C2) |

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

### สร้าง Dependent Dropdown List

เมื่อเลือกจังหวัดใน Dropdown List แรก (เช่น ชลบุรี) Dropdown List ที่สองจะแสดงเฉพาะอำเภอที่อยู่ในจังหวัดชลบุรีเท่านั้น โดยใช้ INDIRECT ดึงข้อมูลจาก Named Range ของแต่ละจังหวัด

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

### ทำ Dynamic Chart

สร้างกราฟที่ช่วงข้อมูลเปลี่ยนไปตามเงื่อนไข เช่น กราฟแสดงยอดขายของเดือนที่เลือก โดยใช้ INDIRECT ดึงข้อมูลจากช่วงที่อ้างอิงถึงเดือนนั้นๆ

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

## ตัวอย่าง

### 1. ตัวอย่างพื้นฐาน - อ้างอิงตามหมายเลขแถว

```excel
=INDIRECT("B"&A1)
```

**ผลลัพธ์:** `ค่าในเซลล์ B5 (ถ้า A1 = 5)`

เชื่อม "B" กับค่าใน A1 (ตัวเลข 5) ได้เป็น 'B5' แล้วเอาค่าจากเซลล์นั้นมา ตัวอย่างนี้ใช้เวลาต้องการสร้างสูตรที่อ้างอิงไปยังคอลัมน์เดียวกันแต่แถวต่างๆ

### 2. ตัวอย่างจริง - ค้นหาข้อมูลจากตารางหลายตาราง

```excel
=VLOOKUP(D2, INDIRECT(C2&"!A:D"), 4, FALSE)
```

**ผลลัพธ์:** `ค่าจากคอลัมน์ที่ 4 ของตาราง (ตามชื่อในเซลล์ C2)`

ถ้า C2 = 'Vendor1' สูตรจะค้นหาค่า D2 ในตาราง Vendor1!A:D เป็นการสร้างแดชบอร์ดที่ผู้ใช้เลือกซัพพลายเออร์แล้วมันจะค้นหาข้อมูลจากแต่ละซัพพลายเออร์อัตโนมัติ

### 3. ตัวอย่างขั้นสูง - ช่วงเซลล์แบบไดนามิก

```excel
=SUM(INDIRECT("A"&B1&":A"&B2))
```

**ผลลัพธ์:** `ผลรวมจากแถว B1 ถึง B2 ของคอลัมน์ A`

ถ้า B1=5 และ B2=10 สูตรจะผลรวม A5:A10 อันนี้เจ๋งเพราะเราสามารถให้ผู้ใช้เลือกว่าอยากรวมจากแถวไหนถึงแถวไหน โดยไม่ต้องแก้สูตร

### 4. ตัวอย่างการใช้ R1C1 style

```excel
=INDIRECT("R"&ROW()&"C3", FALSE)
```

**ผลลัพธ์:** `ค่าจากคอลัมน์ C ของแถวปัจจุบัน`

ROW() คืนค่าแถวปัจจุบัน ดังนั้น INDIRECT จึงอ้างอิงไปยัง C ของแถวเดียวกัน รูปแบบ R1C1 เป็นชื่อแบบเก่า แต่ยังใช้ได้ เข้าใจว่า R = row, C = column

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

- ลองใช้ Evaluate Formula (Ctrl+` หรือ Formulas > Evaluate Formula) เพื่อดูค่าข้อความที่ INDIRECT สร้าง ช่วยดีบัค

- ใช้ INDIRECT กับ Named Ranges เช่น =SUM(INDIRECT(B1)) ถ้า B1 มีชื่อ range อื่น

- เมื่ออ้างอิง Sheet ชื่อเว้นวรรค ต้องใส่เครื่องหมายอัญประลักษ์: =INDIRECT("'Sheet Name'!A1")

- มีปัญหาประสิทธิภาพ? ลองใช้ INDEX+MATCH แทน ซึ่งเร็วกว่า INDIRECT ในหลายกรณี

- INDIRECT ใช้ได้กับ External References (อีกไฟล์) แต่ต้องเปิดไฟล์นั้นไว้

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

**Q: INDIRECT ทำไมถึง #REF! error?**

ข้อความที่เพิ่มคำไม่ใช่การอ้างอิงที่ถูกต้อง ลองใช้ Evaluate Formula (Formulas > Evaluate Formula) เพื่อดูว่า INDIRECT สร้างอะไร หรือชื่อเซลล์ไม่มีอยู่จริง

**Q: INDIRECT ต่างจาก VLOOKUP ยังไง?**

VLOOKUP ค้นหาค่าที่ตรงกับเงื่อนไข INDIRECT เปลี่ยนข้อความเป็นอ้างอิงเซลล์ VLOOKUP มีประสิทธิภาพดีกว่า ใช้ VLOOKUP ก่อน ถ้าใช้ไม่ได้ค่อยใช้ INDIRECT

**Q: ชื่อเซลล์มีเว้นวรรค (เช่น 'Sales Data') ต้องทำไง?**

ใช้เครื่องหมายคำพูดเดี่ยว เช่น =INDIRECT("'Sales Data'!A1") ใส่ชื่อเซลล์ไว้ในคำพูดเดี่ยว

**Q: INDIRECT ทำให้ Excel ช้าลงได้ไหม?**

ได้ เพราะ INDIRECT เป็น volatile function ที่ Excel คำนวณใหม่ทุกครั้ง ใช้ให้น้อยที่สุดเท่าที่ทำได้ ในแดชบอร์ดขนาดใหญ่อาจใช้ VLOOKUP หรือ INDEX+MATCH แทนได้

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

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

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

- [Microsoft Support - INDIRECT Function](https://support.microsoft.com/en-us/office/indirect-function-474b3a3a-8a26-4f44-b491-92b6306fa261) _(official)_
- [ExcelJet - INDIRECT](https://exceljet.net/functions/indirect) _(guide)_

---

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