INDIRECT
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด บางช่องใช้ผลจาก LibreOffice และตรงกับตัวคำนวณของหน้าเว็บ
INDIRECT คืออะไร
แปลงข้อความที่เป็นที่อยู่ช่องหรือช่วง (ใส่ชื่อชีตนำหน้าได้ เช่น 'ม.ค.'!B5) หรือชื่อช่วง ให้เป็นการอ้างอิงจริง แล้วดึงค่าจากที่นั่นมาใช้
ใช้เมื่อไหร่
- ดึงข้อมูลจากชีตที่ชื่ออยู่ในเซลล์ เช่น ชีตรายเดือน ม.ค. ถึง ธ.ค.
- ทำ Dropdown สองชั้น ให้รายการชั้นที่สองเปลี่ยนตามชั้นแรก
- สร้างที่อยู่ช่องหรือช่วงจากข้อความและตัวเลขที่เปลี่ยนได้
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| ref_text | จำเป็น | ข้อความที่เป็นที่อยู่ เช่น "B5", "D5:D9", "'ชื่อชีต'!B5" หรือชื่อช่วง (Named Range) ถ้าไม่ใช่ที่อยู่ที่ถูกต้องได้ #REF! |
| [a1] | ไม่บังคับ | TRUE หรือไม่ใส่ = อ่านแบบ A1 · FALSE = อ่านแบบ R1C1 เช่น "R8C3" |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
INDIRECT อ่านข้อความอย่าง "F7" หรือ "E"&I6 แล้วไปเอาค่าจากช่องนั้นมาแสดง
| แถว | A | B | C | D | E | F | G | H |
|---|---|---|---|---|---|---|---|---|
| 4 | เลขที่คำสั่งซื้อ | ภูมิภาค | ช่องทาง | สินค้า | พนักงานขาย | ยอดสุทธิ (บาท) | ||
| 5 | SF-2025-0734 | ตะวันออก | Traditional Trade | น้ำปลาแท้ 700 มล. (ลัง 12) | สุภาพร หงษ์ทอง | 355,320 | ||
| 6 | SF-2025-0738 | ใต้ | Modern Trade | น้ำมะพร้าว 100% 330 มล. (แพ็ค 12) | กมลชนก พงษ์พานิช | 1,235,098 | ||
| 7 | SF-2025-0739 | กลาง | Traditional Trade | น้ำดื่มสยามเฟรช 600 มล. (แพ็ค 12) | นันทิดา กิจเจริญ | 22,878 | ||
| 8 | SF-2025-0741 | กลาง | Traditional Trade | โซดาสยามเฟรช 325 มล. (แพ็ค 24) | นันทิดา กิจเจริญ | 298,740 | ||
| 9 | SF-2025-0746 | กลาง | Online | บะหมี่กึ่งสำเร็จรูป รสต้มยำกุ้ง (ลัง 30) | อรทัย พิทักษ์วงศ์ | 51,062 | ||
| 10 | SF-2025-0753 | กลาง | Food Service | แกงเขียวหวานไก่พร้อมทาน (กล่อง 12) | อรทัย พิทักษ์วงศ์ | 910,714 | ||
| 11 | SF-2025-0756 | ตะวันออก | Modern Trade | เวเฟอร์ช็อกโกแลต 100 ก. (กล่อง 24) | สุภาพร หงษ์ทอง | 1,057,572 | ||
| 12 | SF-2025-0757 | ตะวันออกเฉียงเหนือ | Online | น้ำจิ้มไก่ 350 มล. (ลัง 24) | ธีรพงษ์ ฉัตรแก้ว | 100,296 | ||
| 13 | SF-2025-0771 | กลาง | Online | กาแฟพร้อมดื่ม เอสเปรสโซ 240 มล. (แพ็ค 24) | สุภาพร หงษ์ทอง | 126,000 | ||
| 14 | SF-2025-0784 | เหนือ | Modern Trade | น้ำส้มคั้น 100% 350 มล. (แพ็ค 12) | กมลชนก พงษ์พานิช | 289,275 | ||
| 15 | ||||||||
| 16 | ||||||||
| 17 | ||||||||
| 18 | ||||||||
| 19 |
ขั้นตอนการคำนวณ (3)
- อ่านสูตร: INDIRECT(I4) อ่านข้อความ "F7" แล้วดึงค่าจากช่อง F7 ส่วน "E"&I6 ต่อข้อความได้ "E11" ก่อนส่งให้ INDIRECT
- ลองพิมพ์ B12 ใน I4 หรือเปลี่ยนเลขแถวใน I6 เป็น 14 · ข้อความใส่ชื่อชีตได้ด้วย ลองในแบบฝึกหัดของไฟล์ฝึก
- ระวัง: ข้อความที่ไม่ใช่ที่อยู่ช่อง เช่น ยอดขาย หรือ F0 ได้ #REF! (หน้าเว็บนี้มีชีตเดียว ข้อความที่มีชื่อชีตจึงได้ #REF! เช่นกัน)
ตัวอย่างทั้งหมด 4 แบบ
- 1ดึงค่าจากที่อยู่ช่องที่เป็นข้อความ · INDIRECT อ่านข้อความอย่าง "F7" หรือ "E"&I6 แล้วไปเอาค่าจากช่องนั้นมาแสดง
- 2เลือกคอลัมน์จาก Dropdown แล้วรวมทั้งคอลัมน์ · ต่อตัวอักษรคอลัมน์ใน I4 กับเลขแถวเป็นข้อความ "D5:D9" แล้ว INDIRECT แปลงเป็นช่วงให้ SUM
- 3อ้างอิงด้วยเลขแถวและเลขคอลัมน์แบบ R1C1 · ต่อข้อความเป็น R8C3 (แถว 8 คอลัมน์ 3) แล้วใส่ FALSE ใน a1 ให้ INDIRECT อ่านแบบ R1C1
- 4ที่อยู่ในข้อความไม่ขยับตามเมื่อแทรกแถว · ตอนนี้สองสูตรได้เท่ากัน แต่ถ้าแทรกแถวเหนือข้อมูล สูตร INDIRECT ยังรวมช่วงเดิมที่ข้อมูลเลื่อนออกไปแล้ว
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| INDIRECT |
INDIRECT ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| INDIRECT | ชื่อชีตหรือที่อยู่อยู่ในเซลล์เป็นข้อความ | =INDIRECT("'"&A5&"'!B5") |
| INDEX | เลือกแถวหรือคอลัมน์ในชีตเดียว ไม่ volatile และขยับตามเมื่อแทรกแถว | =SUM(INDEX(B5:E9,0,3)) |
| CHOOSE | เลือกช่วงจากตัวเลือกไม่กี่ตัว | =SUM(CHOOSE(I4,B5:B9,C5:C9)) |
| อ้างอิงปกติ | ที่อยู่ไม่ต้องเปลี่ยนตามค่าในเซลล์ | =SUM(F5:F14) |
ใน Power BI ใช้อะไร
สลับสิ่งที่แสดงใน visual ใช้ Field parameters ของ Power BI
ไฟล์ฝึก INDIRECT
9Expert-INDIRECT-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1ดึงค่าจากชีตที่ชื่ออยู่ในช่อง G7 ตามที่อยู่ในช่อง H7
- ข้อ 2รวมยอดจากชีตที่ชื่ออยู่ในช่อง G8 ตามช่วงในช่อง H8
- ข้อ 3หายอดสูงสุดจากชีตที่ชื่ออยู่ในช่อง G9 ตามช่วงในช่อง H9
- ข้อ 4ดึงค่าจากชีตที่ชื่ออยู่ในช่อง G10 ตามที่อยู่แบบ R1C1 ในช่อง H10
- ข้อ 5ตรวจว่ามีชีตชื่อตามช่อง G11 อยู่ในไฟล์นี้ไหม ได้ TRUE ถ้ามี และ FALSE ถ้าไม่มี (ใช้ ISREF ครอบ)
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. ช่อง A1 มีข้อความ C5 สูตร =INDIRECT(A1) ได้อะไร
INDIRECT อ่านข้อความใน A1 เป็นที่อยู่ แล้วดึงค่าจากช่อง C5
2. อ้างช่อง B5 ของชีตชื่อ ยอดขาย ม.ค. (มีเว้นวรรค) ข้อใดถูก
ชื่อชีตที่มีเว้นวรรคต้องครอบด้วยเครื่องหมาย ' ก่อนเครื่องหมาย !
3. ทำไม =SUM(INDIRECT("F5:F14")) ได้ผลผิดหลังแทรกแถวเหนือแถว 5
Excel ปรับการอ้างอิงปกติให้ แต่ไม่แก้ข้อความในสูตร ช่วงจึงยังเป็น F5:F14
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)