TLDR สรุปสั้นๆ
INDEX คืนค่าจากตำแหน่งที่ระบุในช่วงข้อมูล
คำอธิบาย
ฟังก์ชัน INDEX ใช้ดึงค่าจากตำแหน่งที่กำหนดในช่วงหรือตาราง โดยที่เราจะต้องบอกพิกัดให้มัน ว่าจะเอาแถวที่เท่าไหร่ คอลัมน์ที่เท่าไหร่ จากตารางอ้างอิงที่มี เช่น ดึงค่าจากแถวที่ 2 คอลัมน์ที่ 3 จากพื้นที่นั้นๆ เป็นต้น
แต่สำหรับการใช้ขั้นสูง เราจะพบว่าผลลัพธ์ที่แท้จริงของ INDEX ไม่ใช่แค่ค่าใน Cell นั้นเฉยๆ แต่คือ Cell Reference ของพิกัดที่เราระบุต่างหาก
มีครั้งแรกในเวอร์ชันไหน
2003 หรือ Version ก่อนหน้า
รูปแบบคำสั่ง (Syntax)
=INDEX(array, row_num, [column_num])
Arguments
- array (Required – Array)
ช่วงเซลล์หรือตารางที่ต้องการค้นหา - row_num (Required – Number)
หมายเลขแถวที่ต้องการดึงค่า ถ้าใส่เลข 0 คือเอาทุกแถว - [column_num] (Optional – Number)
หมายเลขคอลัมน์ที่ต้องการดึงค่า ถ้าใส่เลข 0 คือเอาทุกคอลัมน์
ตัวอย่างการใช้งาน (Examples)

- Formula:
Description: ดึงค่าจากแถวที่ 2 และคอลัมน์ที่ 4 ในช่วง B3:G8=INDEX(B3:G8, 2, 4)
Result:จะได้ค่า ‘Fah’ - Formula:
Description: ดึงค่าจากแถวที่ 2 และคอลัมน์ที่ 4 ในตาราง TxData=INDEX(TxData, 2, 4)
Result:จะได้ค่า ‘Fah’ - Formula:
Description: ดึงค่าในคอลัมน์ที่ 5 (Qty) ในตาราง TxData ทั้งคอลัมน์=INDEX(TxData, 0, 5)
Result: {10;5;8;7;6;4} - Formula:
Description: ดึงค่าจากคอลัมน์ SalesAmt ตัวที่ 2 ออกมา=INDEX(TxData[SalesAmt], 2)
Result: 2,500 (ยอดขายลำดับที่ 2) - Formula:
Description: ดึงค่าจากคอลัมน์ SalesAmt (คอลัมน์ที่ 6) ที่ตรงกับ OrderID = “TX0004”=INDEX(TxData[SalesAmt], MATCH("TX0004", TxData[OrderID], 0))
Result:1,500 (ยอดขายของ TX0004)
การใช้ Index ขั้นสูง ผลลัพธ์ที่แท้จริงของ INDEX ไม่ใช่แค่ค่าใน Cell นั้นเฉยๆ แต่คือ Cell Reference ของพิกัดที่เราระบุต่างหาก
- Formula:
Description: คำนวณผลรวมของ SalesAmt ระหว่างช่อง G3 ถึงแถวที่ 4 ของ SalesAmt (G6)=SUM(G3:INDEX(TxData[SalesAmt], 4))
Result: 5,900 มาจาก =SUM({1100;2500;800;1500}) - Formula:
Description: คำนวณผลรวมของ SalesAmt ระหว่างแถวที่ 2 (G3) ถึงแถวที่ 4 (G6)=SUM(INDEX(TxData[SalesAmt], 2):INDEX(TxData[SalesAmt], 4))
Result: 4,800 มาจาก =SUM({2500;800;1500})
Tips & Tricks
- ลองผสมผสาน INDEX กับฟังก์ชัน MATCH เพื่อเพิ่มพลังให้กับการดึงข้อมูล ลองใช้ MATCH เพื่อหาตำแหน่งแถวหรือคอลัมน์ แล้วใช้ INDEX เพื่อดึงค่า
- ผลลัพธ์ที่แท้จริงของ INDEX ไม่ใช่แค่ค่าใน Cell นั้น แต่คือ Cell Reference ของพิกัดที่เราระบุ ทำให้คุณยังสามารถใช้ INDEX กับฟังก์ชันเช่น SUM หรือ AVERAGE เพื่อประเมินผลลัพธ์ตามที่คุณต้องการได้อีกด้วย!
ข้อควรระวัง (Cautions)
ระวัง #REF error ถ้าหมายเลขแถวหรือคอลัมน์อยู่นอกช่วงที่ระบุ หรือระวังการอ้างอิงถึง sheet ที่ไม่อยู่ใน sheet เดียวกันซึ่งอาจทำให้เกิด #VALUE error ได้
ฟังก์ชันที่เกี่ยวข้อง
References
- Microsoft Official Documentation
- Coefficient Excel INDEX Tutorials
- Corporate Finance Institute on Excel INDEX Function
- Ablebits Guide on INDEX Function
ขอบคุณที่เข้ามาอ่านนะครับ ❤️
Leave a Reply