ฟังก์ชัน INDEX ส่งกลับค่าหรือการอ้างอิงไปยังค่าจากภายในตารางหรือช่วง
มีสองวิธีในการใช้ฟังก์ชัน INDEX:
- ถ้าคุณต้องการส่งกลับค่าของเซลล์ที่ระบุหรืออาร์เรย์ของเซลล์ ให้ดูรูปแบบอาร์เรย์
- ถ้าคุณต้องการส่งกลับการอ้างอิงไปยังเซลล์ที่ระบุ ให้ดูรูปแบบการอ้างอิง
รูปแบบอาร์เรย์
คำอธิบาย
ส่งกลับค่าขององค์ประกอบในตารางหรืออาร์เรย์ ที่เลือกตามดัชนีหมายเลขแถวและหมายเลขคอลัมน์
ให้ใช้รูปแบบที่เป็นอาร์เรย์ถ้าอาร์กิวเมนต์แรกไปยัง INDEX เป็นค่าคงที่อาร์เรย์
ไวยากรณ์
INDEX(array, row_num, [column_num])
รูปแบบอาร์เรย์ของฟังก์ชัน INDEX มีอาร์กิวเมนต์ดังนี้
อาร์เรย์ จําเป็น ช่วงของเซลล์หรือค่าคงที่อาร์เรย์
- ถ้าอาร์เรย์มีเพียงหนึ่งแถวหรือหนึ่งคอลัมน์เท่านั้น อาร์กิวเมนต์ row_num หรือ column_num ที่สอดคล้องกันจะเป็นตัวเลือก
- ถ้าอาร์เรย์มีมากกว่าหนึ่งแถว และมากกว่าหนึ่งคอลัมน์ และมีการใช้เฉพาะ row_num หรือ column_num ฟังก์ชัน INDEX จะส่งกลับค่าอาร์เรย์ของทั้งแถวหรือทั้งคอลัมน์ในอาร์เรย์
row_num จําเป็น เว้นแต่จะมี column_num เลือกแถวในอาร์เรย์ที่จะส่งกลับค่า ถ้า row_num ถูกละไว้ column_num จะต้องมี
column_num ไม่บังคับ เลือกคอลัมน์ในอาร์เรย์ที่จะส่งกลับค่า ถ้าละ column_num จําเป็นต้องมี row_num
ข้อสังเกต
ถ้าใช้ทั้งอาร์กิวเมนต์ row_num และ column_num ฟังก์ชัน INDEX จะส่งกลับค่าในเซลล์ที่เป็นจุดตัดของ row_num และ column_num
row_num และ column_num ต้องชี้ไปที่เซลล์ภายในอาร์เรย์ มิฉะนั้น INDEX จะส่งกลับ #REF! ข้อผิดพลาด
ถ้าคุณตั้งค่า row_num หรือ column_num เป็น 0 (ศูนย์) INDEX จะส่งกลับอาร์เรย์ของค่าสําหรับทั้งคอลัมน์หรือทั้งแถวตามลําดับ เมื่อต้องการใช้ค่าที่ส่งกลับเป็นอาร์เรย์ ให้ใส่ฟังก์ชัน INDEX เป็นสูตรอาร์เรย์
หมายเหตุ
ถ้าคุณมี Microsoft 365 เวอร์ชันปัจจุบัน คุณสามารถใส่สูตรในเซลล์ด้านบนซ้ายของช่วงผลลัพธ์ แล้วกด ENTER เพื่อยืนยันสูตรเป็นสูตรอาร์เรย์แบบไดนามิก มิฉะนั้น ต้องใส่สูตรเป็นสูตรอาร์เรย์ดั้งเดิม โดยเลือกช่วงผลลัพธ์ ป้อนสูตรในเซลล์ด้านบนซ้ายของช่วงผลลัพธ์ แล้วกด CTRL+SHIFT+ENTER เพื่อยืนยัน Excel จะแทรกวงเล็บปีกกาที่จุดเริ่มต้นและจุดสิ้นสุดของสูตรให้คุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสูตรอาร์เรย์ ให้ดูที่ คำแนะนำและตัวอย่างของสูตรอาร์เรย์
ตัวอย่างรูปแบบอาร์เรย์
ตัวอย่าง 1
ตัวอย่างเหล่านี้ใช้ฟังก์ชัน INDEX เพื่อค้นหาค่าในเซลล์ที่ตัดกันซึ่งแถวและคอลัมน์บรรจบกัน
คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สําหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter
| ข้อมูล | ข้อมูล | |
|---|---|---|
| Apples | Lemons | |
| Bananas | Pears | |
| สูตร | คำอธิบาย | ผลลัพธ์ |
| =INDEX(A2:B3,2,2) | ค่าที่จุดตัดของแถวที่สองกับคอลัมน์ที่สองในช่วงเซลล์ A2:B3 | Pears |
| =INDEX(A2:B3,2,1) | ค่าที่จุดตัดของแถวที่สองและคอลัมน์แรกในช่วงเซลล์ A2:B3 | Bananas |
ตัวอย่าง 2
ตัวอย่างนี้ใช้ฟังก์ชัน INDEX ในสูตรอาร์เรย์เพื่อหาค่าในเซลล์สองเซลล์ที่ระบุในอาร์เรย์ 2x2
หมายเหตุ
ถ้าคุณมี Microsoft 365 เวอร์ชันปัจจุบัน คุณสามารถใส่สูตรในเซลล์ด้านบนซ้ายของช่วงผลลัพธ์ แล้วกด ENTER เพื่อยืนยันสูตรเป็นสูตรอาร์เรย์แบบไดนามิก มิฉะนั้น ต้องใส่สูตรเป็นสูตรอาร์เรย์ดั้งเดิม โดยเลือกเซลล์เปล่าสองเซลล์ก่อน ป้อนสูตรในเซลล์ด้านซ้ายบนของช่วงผลลัพธ์ แล้วกด CTRL+SHIFT+ENTER เพื่อยืนยัน Excel จะแทรกวงเล็บปีกกาที่จุดเริ่มต้นและจุดสิ้นสุดของสูตรให้คุณ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับสูตรอาร์เรย์ ให้ดูที่ คำแนะนำและตัวอย่างของสูตรอาร์เรย์
| สูตร | คำอธิบาย | ผลลัพธ์ |
|---|---|---|
| =INDEX({1,2;3,4},0,2) | ค่าที่พบในแถวแรก คอลัมน์ที่สองในอาร์เรย์ อาร์เรย์ที่มี 1 และ 2 ในแถวแรกและ 3 และ 4 ในแถวที่สอง | 2 |
| ค่าที่พบในแถวที่สอง คอลัมน์ที่สองในอาร์เรย์ (อาร์เรย์เดียวกันกับด้านบน) | 4 |
รูปแบบการอ้างอิง
คำอธิบาย
ส่งกลับค่าการอ้างอิงของเซลล์ที่จุดตัดของแถว และคอลัมน์จุดหนึ่ง ถ้ามีการเลือกช่วงเซลล์ที่ไม่ติดกันเพื่อระบุการอ้างอิง คุณสามารถเลือกช่วงเซลล์ที่ไม่ติดกันเหล่านั้นช่วงใดก็ได้เพื่อใช้ค้นหาค่า
ไวยากรณ์
INDEX(reference, row_num, [column_num], [area_num])
รูปแบบอ้างอิงของฟังก์ชัน INDEX มีอาร์กิวเมนต์ดังนี้
การอ้างอิง จําเป็น การอ้างอิงไปยังช่วงของเซลล์หนึ่งช่วงหรือมากกว่า
- ถ้าคุณจะระบุช่วงเซลล์ที่ไม่ติดกันเป็นการอ้างอิง ให้ใส่เครื่องหมายวงเล็บคร่อมการอ้างอิงนี้ด้วย
- ถ้าแต่ละพื้นที่ในการอ้างอิงมีเพียงหนึ่งแถวหรือหนึ่งคอลัมน์ อาร์กิวเมนต์ row_num หรือ column_num ตามลําดับ จะเป็นตัวเลือก ตัวอย่างเช่น สําหรับการอ้างอิงแถวเดี่ยว ให้ใช้ INDEX(reference,,column_num)
row_num จําเป็น หมายเลขแถวในการอ้างอิงที่จะส่งกลับการอ้างอิง
column_num ไม่บังคับ หมายเลขคอลัมน์ในการอ้างอิงที่จะส่งกลับการอ้างอิง
area_num ไม่บังคับ เลือกช่วงในการอ้างอิงที่จะส่งกลับจุดตัดของ row_num และ column_num พื้นที่แรกที่เลือกหรือใส่เป็นหมายเลข 1 พื้นที่ที่สองเป็น 2 และอื่นๆ ถ้ามีการละ area_num INDEX จะใช้พื้นที่ 1 พื้นที่ทั้งหมดที่แสดงรายการอยู่ที่นี่ต้องอยู่ในแผ่นงานเดียว ถ้าคุณระบุพื้นที่ที่ไม่ได้อยู่ในแผ่นงานเดียวกันเหมือนพื้นที่อื่น จะทำให้เกิด #VALUE! เป็นข้อผิดพลาด ถ้าคุณต้องการใช้ช่วงที่อยู่ในแผ่นงานอื่น ขอแนะนำให้คุณใช้รูปแบบอาร์เรย์ของฟังก์ชัน INDEX และใช้ฟังก์ชันอื่นเพื่อคำนวณช่วงที่สร้างอาร์เรย์ขึ้น ตัวอย่างเช่น คุณสามารถใช้ฟังก์ชัน CHOOSE เพื่อคำนวณช่วงที่จะใช้ได้
ตัวอย่างเช่น ถ้าการอ้างอิงอธิบายเซลล์ (A1:B4,D1:E4,G1:H4) area_num 1 คือช่วง A1:B4 area_num 2 คือช่วง D1:E4 และ area_num 3 คือช่วง G1:H4
ข้อสังเกต
- หลังจากการอ้างอิงและ area_num เลือกช่วงเฉพาะแล้ว row_num และ column_num เลือกเซลล์เฉพาะ เช่น row_num 1 คือแถวแรกในช่วง column_num 1 เป็นคอลัมน์แรก และอื่นๆ การอ้างอิงที่ส่งกลับโดย INDEX เป็นจุดตัดของ row_num และ column_num
- ถ้าคุณตั้งค่า row_num หรือ column_num เป็น 0 (ศูนย์) INDEX จะส่งกลับค่าการอ้างอิงสําหรับทั้งคอลัมน์หรือทั้งแถวตามลําดับ
- row_num, column_num และ area_num ต้องชี้ไปที่เซลล์ภายในการอ้างอิง มิฉะนั้น INDEX จะส่งกลับ #REF! ข้อผิดพลาด ถ้าละ row_num และ column_num ฟังก์ชัน INDEX จะส่งกลับพื้นที่ในการอ้างอิงที่ระบุโดย area_num
- ผลลัพธ์ของฟังก์ชัน INDEX เป็นการอ้างอิงและถูกตีความโดยสูตรอื่น ค่าที่ส่งกลับของ INDEX อาจถูกใช้เป็นการอ้างอิงหรือเป็นค่าได้ ทั้งนี้ขึ้นอยู่กับสูตร ตัวอย่างเช่น สูตร CELL("width",INDEX(A1:B2,1,2)) จะเท่ากับ CELL("width",B1) ฟังก์ชัน CELL จะใช้ค่าที่ส่งกลับของ INDEX เป็นการอ้างอิงเซลล์ ในทางกลับกัน สูตรเช่น 2*INDEX(A1:B2,1,2) จะแปลค่าที่ส่งกลับของ INDEX เป็นตัวเลขในเซลล์ B1
ตัวอย่างฟอร์มการอ้างอิง
คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ สำหรับสูตรที่จะแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter
| ผลไม้ | ราคา | นับจำนวน |
|---|---|---|
| Apples | $0.69 | 40 |
| Bananas | $0.34 | 38 |
| Lemons | $0.55 | 15 |
| Oranges | $0.25 | 25 |
| Pears | $0.59 | 40 |
| Almonds | $2.80 | 10 |
| Cashews | $3.55 | 16 |
| Peanuts | $1.25 | 20 |
| Walnuts | $1.75 | 1.2 |
| สูตร | คำอธิบาย | ผลลัพธ์ |
| =INDEX(A2:C6, 2, 3) | จุดตัดของแถวที่สองและคอลัมน์ที่สามในช่วงเซลล์ A2:C6 ซึ่งเป็นเนื้อหาในเซลล์ C3 | 38 |
| =INDEX((A1:C6, A8:C11), 2, 2, 2) | จุดตัดของแถวที่สองและคอลัมน์ที่สองในพื้นที่ที่สองของ A8:C11 ซึ่งเป็นเนื้อหาในเซลล์ B9 | 1.25 |
| =SUM(INDEX(A1:C11, 0, 3, 1)) | ผลบวกของคอลัมน์ที่สามในพื้นที่แรกของช่วงเซลล์ A1:C11 ซึ่งเป็นผลบวกของช่วงเซลล์ C1:C11 | 216 |
| =SUM(B2:INDEX(A2:C6, 5, 2)) | ผลบวกของช่วงเซลล์ที่เริ่มต้นจาก B2 และสิ้นสุดที่จุดตัดของแถวที่ห้ากับคอลัมน์ที่สองของช่วงเซลล์ A2:A6 ซึ่งเป็นผลบวกของช่วงเซลล์ B2:B6 | 2.42 |