ฟังก์ชัน INDEX

นำไปใช้กับ
Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016

ฟังก์ชัน 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

ด้านบนของหน้า