ฟังก์ชัน INDEX

สิ่งสำคัญ:  บทความนี้เป็นการแปลด้วยเครื่อง โปรดดู ข้อจำกัดความรับผิดชอบ โปรดดูบทความฉบับภาษาอังกฤษ ที่นี่ เพื่อใช้อ้างอิง

ฟังก์ชัน INDEX ส่งกลับค่าหรือการอ้างอิงไปยังค่าจากภายในตารางหรือช่วง

เบราว์เซอร์ของคุณไม่สนับสนุนวิดีโอ ติดตั้ง Microsoft Silverlight, Adobe Flash Player หรือ Internet Explorer 9

มีสองวิธีในการใช้ฟังก์ชัน INDEX:

รูปแบบอาร์เรย์

คำอธิบาย

ส่งกลับค่าขององค์ประกอบในตาราง หรือค่าของ อาร์เรย์ ที่เลือกตามดัชนีหมายเลขแถวและหมายเลขคอลัมน์

ให้ใช้รูปแบบที่เป็นอาร์เรย์ถ้าอาร์กิวเมนต์แรกไปยัง INDEX เป็นค่าคงที่อาร์เรย์

ไวยากรณ์

INDEX(array, row_num, [column_num])

ไวยากรณ์ของฟังก์ชัน INDEX มีอาร์กิวเมนต์ดังต่อไปนี้

  • อาร์เรย์    จำเป็นต้องมี คือช่วงของเซลล์หรือค่าคงที่อาร์เรย์

    • ถ้าอาร์เรย์มีเพียงหนึ่งแถวหรือหนึ่งคอลัมน์เท่านั้น อาร์กิวเมนต์ Row_num หรือ Column_num ที่สอดคล้องจะเป็นตัวเลือก

    • ถ้าอาร์เรย์มีมากกว่าหนึ่งแถว และมากกว่าหนึ่งคอลัมน์ และมีการใช้เฉพาะ Row_num หรือ Column_num ฟังก์ชัน INDEX จะส่งกลับค่าอาร์เรย์ของทั้งแถวหรือทั้งคอลัมน์ในอาร์เรย์

  • Row_num    ต้องระบุ เลือกแถวในอาร์เรย์ที่จะส่งกลับค่า ถ้า Row_num ถูกละไว้ จะต้องมี Column_num

  • Column_num    ระบุหรือไม่ก็ได้ เลือกคอลัมน์ในอาร์เรย์ที่จะส่งกลับค่า ถ้า Column_num ถูกละไว้ จะต้องมี Row_num

ข้อสังเกต

  • ถ้ามีการใช้อาร์กิวเมนต์ของทั้ง Row_num และ Column_num ฟังก์ชัน INDEX จะส่งกลับค่าในเซลล์ที่เป็นจุดตัดของ Row_num กับ Column_num

  • ถ้าคุณตั้งค่า Row_num หรือ Column_num เป็น 0 (ศูนย์) ฟังก์ชัน INDEX จะส่งกลับอาร์เรย์ของค่าต่างๆ สำหรับทั้งคอลัมน์หรือทั้งแถวนั้นๆ เมื่อต้องการใช้ค่าต่างๆ ที่ส่งกลับมาเป็นอาร์เรย์ ให้ใส่ฟังก์ชัน INDEX เป็นสูตรอาร์เรย์ ลงในช่วงของเซลล์แนวนอนสำหรับแถวหนึ่งแถว และในช่วงของเซลล์แนวตั้งของคอลัมน์หนึ่งคอลัมน์ เมื่อต้องการใส่สูตรอาร์เรย์ ให้กด CTRL+SHIFT+ENTER

    หมายเหตุ: คุณไม่สามารถสร้างสูตรอาร์เรย์ได้ใน Excel Web App

  • Row_num และ Column_num ต้องชี้ไปที่เซลล์ภายในอาร์เรย์ มิฉะนั้นฟังก์ชัน INDEX จะส่งกลับ #REF! เป็นค่าความผิดพลาด

ตัวอย่าง

ตัวอย่าง 1

ตัวอย่างเหล่านี้ใช้ฟังก์ชัน INDEX เพื่อค้นหาค่าในเซลล์ที่ตัดกันซึ่งแถวและคอลัมน์บรรจบกัน

คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ เพื่อให้สูตรแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าต้องการ คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมด

ข้อมูล

ข้อมูล

แอปเปิล

Lemons

Bananas

Pears

สูตร

คำอธิบาย

ผลลัพธ์

=INDEX(A2:B3,2,2)

ค่าที่จุดตัดของแถวที่สองกับคอลัมน์ที่สองในช่วงเซลล์ A2:B3

แพร์

=INDEX(A2:B3,2,1)

ค่าที่จุดตัดของแถวที่สองและคอลัมน์แรกในช่วงเซลล์ A2:B3

Bananas

ตัวอย่าง 2

ตัวอย่างนี้ใช้ฟังก์ชัน INDEX ในสูตรอาร์เรย์เพื่อหาค่าในเซลล์สองเซลล์ที่ระบุในอาร์เรย์ 2x2

ในกรณีนี้ เลือกสองแนวตั้งเซลล์ใด ๆ เช่น A1:A2 วางตัว =INDEX({1,2;3,4},0,2) สูตรต่อไปนี้ลงในเซลล์แรก นั้นแล้ว กด CTRL + SHIFT + ENTER เมื่อใส่เป็นสูตรอาร์เรย์ Excel จะ วางสูตรไปยังเซลล์ที่สอง

สูตร

คำอธิบาย

ผลลัพธ์

= INDEX({1,2; 3,4 } 0, 2)

ค่าที่พบในแถวแรก คอลัมน์ที่สองในอาร์เรย์ อาร์เรย์ที่มี 1 และ 2 ในแถวแรกและ 3 และ 4 ในแถวที่สอง

2

ค่าที่พบในแถวที่สอง คอลัมน์ที่สองในอาร์เรย์ (อาร์เรย์เดียวกันกับด้านบน)

4

หมายเหตุ: นี่เป็นสูตรอาร์เรย์ และจำเป็นต้องถูกใส่ ด้วย CTRL + SHIFT + ENTER Excel โดยอัตโนมัติจะตัดสูตรในวงเล็บปีกกา{} ถ้าคุณพยายามที่จะใส่เหล่านั้น ด้วยตัวคุณเองExcel จะแสดงสูตรเป็นข้อความ ถ้าคุณไม่ได้ใช้ CTRL + SHIFT + ENTER แล้วสูตรจะส่งกลับตัว #VALUE ข้อผิดพลาด

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

รูปแบบการอ้างอิง

คำอธิบาย

ส่งกลับค่าการอ้างอิงของเซลล์ที่จุดตัดของแถว และคอลัมน์จุดหนึ่ง ถ้ามีการเลือกช่วงเซลล์ที่ไม่ติดกันเพื่อระบุเป็นการอ้างอิง คุณสามารถเลือกช่วงเซลล์ที่ไม่ติดกันเหล่านั้นช่วงใดก็ได้เพื่อใช้ค้นหาค่า

ไวยากรณ์

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

หมายเหตุ: ฟังก์ชัน CELL ไม่พร้อมใช้งานใน Excel Web App

ตัวอย่าง

คัดลอกข้อมูลตัวอย่างในตารางต่อไปนี้ และวางในเซลล์ A1 ของเวิร์กชีต Excel ใหม่ เพื่อให้สูตรแสดงผลลัพธ์ ให้เลือกสูตร กด F2 แล้วกด Enter ถ้าจำเป็น คุณสามารถปรับความกว้างของคอลัมน์เพื่อดูข้อมูลทั้งหมดได้

ผลไม้

ราคา

นับจำนวน

แอปเปิล

$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

12

สูตร

คำอธิบาย

ผลลัพธ์

=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

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

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

ดูเพิ่มเติม

ฟังก์ชัน VLOOKUP

ฟังก์ชัน MATCH

ฟังก์ชัน INDIRECT

แนวทางและตัวอย่างสูตรอาร์เรย์

ค้นหาและการอ้างอิงฟังก์ชัน (ข้อมูลอ้างอิง)

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Office Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

ขอบคุณสำหรับคำติชมของคุณ!

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×