สารบัญ
ฟังก์ชัน INDEX เป็นหนึ่งในฟังก์ชัน Excel 10 ฟังก์ชันที่มีผู้ใช้สูงสุด ในบทช่วยสอนนี้ คุณจะได้รับแนวคิดที่สมบูรณ์เกี่ยวกับวิธีการทำงานของฟังก์ชัน INDEX ใน Excel แยกกันและกับฟังก์ชัน Excel อื่นๆ
คุณจะได้รับฟังก์ชัน Excel INDEX ในสองรูปแบบ: แบบฟอร์มอาร์เรย์ และ แบบฟอร์มอ้างอิง .
ฟังก์ชัน Excel INDEX ในรูปแบบอาร์เรย์ (มุมมองด่วน):
เมื่อคุณต้องการส่งคืนค่า (หรือค่าต่างๆ) จากช่วงเดียว คุณจะใช้รูปแบบอาร์เรย์ของฟังก์ชัน INDEX
ฟังก์ชัน INDEX ของ Excel ในแบบฟอร์มอ้างอิง (มุมมองด่วน):
เมื่อคุณต้องการส่งคืนค่า (หรือค่าต่างๆ) จากหลายช่วง คุณจะใช้แบบฟอร์มอ้างอิงของ INDEX ฟังก์ชั่น
ดาวน์โหลดสมุดงาน Excel
ดาวน์โหลดสมุดงาน Excel เพื่อให้คุณสามารถฝึกฝนได้ด้วยตัวเอง
การใช้ฟังก์ชัน INDEX.xlsx
ความรู้เบื้องต้นเกี่ยวกับฟังก์ชัน INDEX ใน Excel
วัตถุประสงค์ของฟังก์ชัน:
ส่งกลับค่าหรือการอ้างอิงของเซลล์ที่จุดตัดของแถวและคอลัมน์เฉพาะในช่วงที่กำหนด
ไวยากรณ์ของฟังก์ชัน INDEX ในรูปแบบอาร์เรย์:
=INDEX (อาร์เรย์, row_num, [column_num])
อาร์กิวเมนต์:
อาร์กิวเมนต์ | จำเป็น/ ไม่บังคับ | ค่า |
---|---|---|
อาร์เรย์ | จำเป็น | ส่งผ่านช่วงของเซลล์หรือค่าคงที่อาร์เรย์ไปยังอาร์กิวเมนต์นี้ |
row_numจับคู่เกณฑ์เดียว/หลายรายการกับผลลัพธ์เดียว/หลายรายการ ตัวอย่างที่ 6: ฟังก์ชัน INDEX ยังสามารถเป็น ใช้เป็นการอ้างอิงเซลล์ในตัวอย่างที่ 5 เราได้เห็นวิธีใช้ฟังก์ชัน INDEX เพื่อส่งคืนทั้งแถวจากช่วง คุณสามารถใช้สูตรง่ายๆ ต่อไปนี้ในเซลล์ใดก็ได้เพื่อให้ได้เหมือนกัน =D6:G6 ประเด็นที่ฉันพยายามทำคือ- INDEX ฟังก์ชันยังสามารถส่งกลับการอ้างอิงเซลล์แทนค่าเซลล์ ฉันจะใช้ INDEX(D6:G9,1,4) แทน G6 ในสูตรด้านบน ดังนั้นสูตรจะเป็นดังนี้ =D6:INDEX(D6:G9,1,4)
🔎 การประเมินสูตรนี้:
ข้อผิดพลาดทั่วไปขณะใช้ฟังก์ชัน INDEX ใน Excel#REF! ข้อผิดพลาด: เกิดขึ้น-
#VALUE! ข้อผิดพลาด: เกิดขึ้นเมื่อคุณระบุค่าที่ไม่ใช่ตัวเลขเป็น row_num, col_num หรือ area_num สรุปINDEX ฟังก์ชันคือ หนึ่งในฟังก์ชันที่ทรงพลังที่สุดใน Excel ในการเดินทางผ่านช่วงของเซลล์และดึงข้อมูลจากช่วงของเซลล์ คุณจะต้องใช้เวลามากในฟังก์ชัน INDEX ของ Excel หากคุณทราบวิธีที่ไม่ซ้ำกันในการใช้ฟังก์ชัน INDEX ของ Excel โปรดแจ้งให้เราทราบในช่องแสดงความคิดเห็น คุณสามารถเยี่ยมชม บล็อก ของเราเพื่อดูเนื้อหาเกี่ยวกับ Excel ดังกล่าวเพิ่มเติม | จำเป็น | ส่งหมายเลขแถวในช่วงเซลล์หรือค่าคงที่อาร์เรย์ |
col_num | ไม่บังคับ | ส่งหมายเลขคอลัมน์ในช่วงเซลล์หรือค่าคงที่อาร์เรย์ |
หมายเหตุ:
- หากคุณใช้ทั้ง อาร์กิวเมนต์ row_num และ column_num ฟังก์ชัน INDEX จะส่งกลับค่าจากเซลล์ที่จุดตัดของ row_num และ column_num .
- หากคุณตั้งค่า row_num หรือ column_num เป็น 0 (ศูนย์) คุณจะได้ค่าทั้งคอลัมน์หรือค่าทั้งแถวตามลำดับใน รูปแบบของอาร์เรย์ คุณสามารถแทรกค่าเหล่านั้นลงในเซลล์โดยใช้สูตรอาร์เรย์
ไวยากรณ์ของฟังก์ชัน INDEX ในแบบฟอร์มอ้างอิง:
=INDEX (reference, row_num, [column_num], [area_num])
อาร์กิวเมนต์:
อาร์กิวเมนต์ | จำเป็น/ ไม่บังคับ | ค่า |
---|---|---|
การอ้างอิง | จำเป็น | ส่งผ่านช่วงหรืออาร์เรย์มากกว่าหนึ่งรายการ |
row_num | จำเป็น | ส่งหมายเลขแถวในช่วงเซลล์ที่ต้องการ |
col_num | ไม่บังคับ | ส่งหมายเลขคอลัมน์ในช่วงเซลล์ที่ต้องการ |
area_num | ไม่บังคับ | ส่งหมายเลขพื้นที่ที่คุณต้องการเลือกจากกลุ่มของช่วง |
หมายเหตุ:
- หากส่งมากกว่าหนึ่งช่วงหรืออาร์เรย์เป็นค่าอาร์เรย์ คุณควรผ่านด้วยarea_num.
- หากไม่มี area_num ฟังก์ชัน INDEX จะทำงานกับช่วงแรก หากคุณส่งค่าเป็น area_num ฟังก์ชัน INDEX จะทำงานในช่วงนั้น
- หากแนวคิดไม่ชัดเจน ไม่ต้องกังวล ไปที่ขั้นตอนถัดไป ซึ่งฉันจะแสดงตัวอย่างจำนวนมากให้คุณใช้ฟังก์ชัน INDEX ของ Excel อย่างมีประสิทธิภาพ
6 ตัวอย่างการใช้ฟังก์ชัน INDEX ทีละรายการและร่วมกับฟังก์ชันอื่นๆ ฟังก์ชัน Excel
ตัวอย่างที่ 1: เลือกรายการจากรายการ
โดยใช้ฟังก์ชัน Excel INDEX เราสามารถดึงข้อมูลใดๆ จากรายการได้ คุณสามารถใช้รหัสตายตัวของแถวหรือคอลัมน์ในสูตรหรือใช้การอ้างอิงเซลล์
รายการหนึ่งมิติที่มีคอลัมน์เดียว:
ตัวอย่างเช่น ถ้าเรา ต้องการดึงผลิตภัณฑ์ที่ 3 จากรายการ เราสามารถใช้สูตรต่อไปนี้ใน เซลล์ C13 โดยระบุหมายเลขแถว (หรืออีกนัยหนึ่งคือหมายเลขซีเรียล) ใน เซลล์ C12
=INDEX(B5:B10,C12)
หรือ
=INDEX(B5:B10,3)
รายการหนึ่งมิติที่มีแถวเดียว:
ในทำนองเดียวกัน เราสามารถดึงรายการจากแถวเดียวโดยใช้ฟังก์ชัน INDEX ระบุหมายเลขซีเรียลใน คอลัมน์ B และใช้สูตรต่อไปนี้ใน เซลล์ C20 :
=INDEX(C17:H17,,B20)
หรือ
=INDEX(C17:H17,3)
คุณยังสามารถเขียนหมายเลขซีเรียลโดยตรงในสูตรแทนการใช้การอ้างอิงเซลล์แต่เราขอแนะนำให้ใช้การอ้างอิงเซลล์เนื่องจากจะทำให้งานของคุณมีไดนามิกมากขึ้น
ดึงรายการจากรายการหลายมิติ:
ในการดึงข้อมูลรายการจากรายการหลายมิติ คุณต้องระบุแถวและหมายเลขคอลัมน์ในฟังก์ชัน INDEX
ตัวอย่างเช่น ถ้าคุณต้องการรับรายการจาก แถวที่ 3 และ คอลัมน์ที่ 4 ของรายการ คุณต้องใส่สูตรต่อไปนี้ใน เซลล์ C33
=INDEX(C26:H29,C31,C32)
หมายเหตุ:
- หากคุณระบุหมายเลขแถวเกินช่วงรายการของคุณ (อาร์เรย์ที่คุณระบุในฟังก์ชัน INDEX ) มันจะทำให้เกิด #REF! ข้อผิดพลาด .
- คุณยังสามารถอ้างถึงอาร์เรย์เป็นข้อมูลอ้างอิงและใช้ฟังก์ชัน INDEX ตัวอย่างเช่น สูตร =INDEX({1,2,3;4,5,6;7,8,9;10,11,12},2,3) จะส่งกลับ 8 ค่าคงที่อาร์เรย์ {1,2,3;4,5,6;7,8,9;10,11,12} มีคอลัมน์คั่นด้วยเครื่องหมายอัฒภาค
อ่านเพิ่มเติม: วิธีใช้ INDEX MATCH กับ Excel VBA
ตัวอย่างที่ 2: การเลือกรายการจากหลายรายการ
คุณอาจสังเกตเห็น แล้ว; ฟังก์ชัน INDEX มีอาร์กิวเมนต์ทางเลือกอื่นซึ่งก็คือ [area_num] ด้วยวิธีนี้ คุณสามารถป้อนอาร์เรย์หรือช่วงอ้างอิงหลายรายการในฟังก์ชัน INDEX และระบุว่าอาร์เรย์ใด ฟังก์ชันจะส่งกลับ รายการหรือค่า
ตัวอย่างเช่น เรามีสองรายการที่นี่ รายการหนึ่งสำหรับ Windows และอีกรายการหนึ่งสำหรับ MSOffice คุณสามารถใช้สูตรต่อไปนี้เพื่อรับค่าจากรายการ หน้าต่าง
=INDEX((D5:G9,I5:L9),C11,E11,1)
<3
หรือ
=INDEX((D5:G9,I5:L9),C11,E11,2)
เพื่อรับรายการจากรายการ MS Office
หมายเหตุ:
หากคุณไม่ระบุตัวเลขในสูตรนี้ Excel จะถือว่าพื้นที่ 1 คืนค่าตามค่าเริ่มต้น
ตัวอย่างที่ 3: รวมฟังก์ชัน MATCH กับ INDEX เพื่อจับคู่หลายเกณฑ์และส่งคืนค่า
ฟังก์ชัน MATCH ส่งคืนตำแหน่งสัมพัทธ์ของรายการในอาร์เรย์ที่ตรงกับค่าที่ระบุในลำดับที่ระบุ คุณสามารถเรียกดูหมายเลขแถวและคอลัมน์สำหรับช่วงที่ต้องการได้อย่างง่ายดายโดยใช้ฟังก์ชัน MATCH
มาดูตัวอย่างต่อไปนี้ เราต้องการจับคู่เกณฑ์ที่ระบุในเซลล์ C12 และ C13
ขั้นตอน:
- ใช้ สูตรต่อไปนี้ใน เซลล์ C14 :
=INDEX(B5:E10,MATCH(C13,B5:B10,0),MATCH(C12,B4:E4,0))
- กด ENTER.
อ่านเพิ่มเติม: INDEX จับคู่หลายเกณฑ์ในแถวและคอลัมน์ใน Excel
<0 🔎 สูตรนี้ทำงานอย่างไรมาดูกันว่าสูตรนี้ทำงานอย่างไรทีละส่วน
- MATCH( C12,B4:E4,0)
เอาต์พุต: 3
คำอธิบาย: The MATCH ฟังก์ชันรับอินพุตจาก เซลล์ C12 และดำเนินการจับคู่แบบตรงทั้งหมดในช่วง B4:E4 ตัวเลข 0 ในอาร์กิวเมนต์สุดท้ายบ่งชี้ว่าตรงที่นี่ สุดท้าย เนื่องจากรายการใน C12 อยู่ในคอลัมน์ที่สามของช่วง B4:E4 ฟังก์ชันจะคืนค่า 3
- MATCH(C13,B5:B10,0)
เอาต์พุต: 3
คำอธิบาย : เหมือนกับฟังก์ชัน MATCH แรกที่อธิบายข้างต้น แต่คราวนี้ ฟังก์ชันทำงานแบบเรียงตามแถวตั้งแต่ช่วง B5:B10, ซึ่งหมายความว่ารายการอยู่ในแถวที่แตกต่างกันแต่อยู่ในคอลัมน์เดียว
- INDEX (B5:E10,MATCH(C13,B5:B10,0),MATCH(C12,B4:E4,0))
เอาต์พุต: 1930<3
คำอธิบาย : เราสามารถทำให้สูตรง่ายขึ้นโดยใช้ผลลัพธ์ของสองส่วน MATCH ดังนั้นจะเป็น: INDEX(B5:E10,3,3) ดังนั้น ฟังก์ชัน INDEX จะเดินทางไปยังแถวที่ 3 แล้วไปที่คอลัมน์ที่ 3 ภายในช่วง B5:E10 และจากจุดตัดกันของแถว-คอลัมน์ ก็จะคืนค่านั้น
อ่านเพิ่มเติม: วิธีใช้สูตร INDEX MATCH ใน Excel (9 ตัวอย่าง)
ตัวอย่างที่ 4: รวมฟังก์ชัน INDEX, MATCH และ IF เพื่อจับคู่เกณฑ์หลายรายการจากสองรายการ
ตอนนี้ หากเรามีสองรายการและต้องการจับคู่หลายเกณฑ์หลังจากเลือกหนึ่งรายการ จะทำอย่างไร ที่นี่ เราจะให้สูตรแก่คุณ
นี่คือชุดข้อมูลของเรา และเรามีข้อมูลการขายสำหรับ Windows และ MS Office ในประเทศและปีต่างๆ <3
เราจะกำหนดเกณฑ์ 3 ข้อ: ชื่อผลิตภัณฑ์ ปี และ ประเทศ และดึงยอดขายที่สอดคล้องกัน ข้อมูล
ขั้นตอน:
- ถือว่าเกณฑ์ที่กำหนดคือ- ปี: 2019 , ผลิตภัณฑ์: MS Office และ ประเทศ: แคนาดา .
- ตั้งค่าในเซลล์ C11, C12, และ C13 ตามลำดับ
- ตอนนี้ ใช้สูตรต่อไปนี้ใน เซลล์ C14 และกด ENTER
=INDEX(INDEX((D5:G9,I5:L9),,,IF(C12="Windows",1,2)),MATCH(C13,B5:B9,0),MATCH(C11,INDEX((D5:G5,I5:L5),,,IF(C12="Windows",1,2)),0))
- คุณจะเห็นข้อมูลการขายที่เกี่ยวข้องใน เซลล์ C14 ทันที
- คุณสามารถทำให้สูตรนี้เป็นแบบไดนามิกมากขึ้นได้โดยใช้ การตรวจสอบข้อมูล .
🔎 สูตรนี้ทำงานอย่างไร
- IF(C12=”Windows”,1,2))
เอาต์พุต : 2
คำอธิบาย : เนื่องจาก Cell C12 มี Windows เกณฑ์จึงไม่ตรงกันและ ฟังก์ชัน IF คืนค่า 2
- INDEX((D5:G9,I5:L9),,,IF(C12=”Windows”,1,2))
เอาต์พุต : {2017 ,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590,6451,3177,6711;5126,3763,3317,9940}
คำอธิบาย : เนื่องจาก IF(C12=”Windows”,1,2) ส่งคืนค่า 2 ดังนั้นสูตรนี้จึงกลายเป็น INDEX((D5:G9,I5:L9),,,2) . ตอนนี้ ฟังก์ชัน INDEX ส่งกลับช่วงที่สองที่กำหนดให้กับมัน
- MATCH(C11,INDEX((D5:G5,I5:L5),,,IF (C12=”Windows”,1,2)),0)
เอาต์พุต : 3
คำอธิบาย : เนื่องจาก IF(C12=”Windows”,1,2) ส่งคืน 2 ดังนั้นส่วนนี้จึงกลายเป็น MATCH(C11,INDEX((D5:G5,I5:L5),,,2) ,0). ตอนนี้ INDEX((D5:G5,I5:L5),,,2) ส่วนส่งคืน I5:G5 ซึ่งก็คือ {2017,2018,2019, 2020} . ดังนั้น สูตร MATCH กลายเป็น MATCH(C11,{2017,2018,2019,2020},0) และฟังก์ชัน MATCH จะคืนค่า 3 เนื่องจากค่า 2019 ใน เซลล์ C11 อยู่ในตำแหน่งที่ 3 ของอาร์เรย์ {2017,2018,2019,2020}
- <22 MATCH(C13,B5:B9,0),
เอาต์พุต : 4
คำอธิบาย : ฟังก์ชัน MATCH จับคู่ค่าของ เซลล์ C13 ในช่วง B5:B9 และส่งกลับค่า 4 เนื่องจากเป็นตำแหน่งของสตริง “Canada” ใน B5:B9 ช่วง
- =INDEX({2017,2018,2019,2020;8545,8417,6318,5603;5052,8052,5137,5958;9590 ,6451,3177,6711;5126,3763,3317,9940},4,3)
เอาต์พุต : 3177
คำอธิบาย : หลังจากดำเนินการส่วนเล็กๆ ของสูตรทั้งหมดแล้ว สูตรทั้งหมดจะมีลักษณะดังนี้ และจะส่งคืนค่าที่แถวที่ 4 และคอลัมน์ที่ 3 ตัดกัน
อ่านเพิ่มเติม: IF กับ INDEX-MATCH ใน Excel (3 แนวทางที่เหมาะสม)
ตัวอย่างที่ 5: การคืนค่าแถวหรือคอลัมน์ทั้งหมดจากช่วง
การใช้ฟังก์ชัน INDEX คุณยังสามารถคืนค่าแถวหรือคอลัมน์ทั้งหมดจากช่วงได้อีกด้วย โดยทำตามขั้นตอนต่อไปนี้
ขั้นตอน:
- สมมติว่าคุณต้องการคืนค่าแถวแรกจากรายการ Windows . ใช้สูตรต่อไปนี้ในเซลล์ใดก็ได้ (ที่นี่ ใน เซลล์ F11 ) แล้วกด ENTER
=INDEX(D6:G9,1,0)
- โปรดทราบว่า เราได้ระบุหมายเลขคอลัมน์เป็น 0 ที่นี่ เราสามารถใช้สูตรต่อไปนี้เพื่อรับทั้งแถว โดยใส่เครื่องหมายจุลภาคหลังอาร์กิวเมนต์ row_num และปล่อยไว้อย่างนั้นโดยไม่ระบุหมายเลขคอลัมน์ใดๆ
=INDEX(D6:G9,1,)
- แต่ถ้าคุณเพียงแค่เขียน =INDEX(D6:G9,1) และกด ENTER, คุณจะได้รับเฉพาะค่าแรกในแถวแรก ไม่ใช่ทั้งแถว
- หากต้องการดูคอลัมน์แรกโดยรวม ให้ใช้สูตรต่อไปนี้ สิ่งที่คุณควรพิจารณาในกรณีที่ได้รับคืนทั้งแถวก็ใช้ได้กับกรณีนี้เช่นกัน
=INDEX(I6:L9,,1)
หมายเหตุ:
- หากคุณใช้ Excel เวอร์ชันเก่ากว่า Microsoft 365 คุณต้องใช้สูตร Array เพื่อส่งคืนแถวหรือคอลัมน์จากช่วงโดยใช้ INDEX ฟังก์ชัน
- ตัวอย่างเช่น ในชุดข้อมูลของเราที่นี่ ทุกแถวของช่วงการขายประกอบด้วย 4 ค่า ดังนั้นคุณต้องเลือก 4 เซลล์ในแนวนอน จากนั้นป้อนฟังก์ชัน INDEX
- ตอนนี้กด CTRL + SHIFT + ENTER เพื่อป้อนสูตรเป็นสูตรอาร์เรย์
- ในทำนองเดียวกัน คุณสามารถแสดงทั้งคอลัมน์
- หากต้องการส่งกลับทั้งช่วง เพียงกำหนดช่วงให้กับอาร์กิวเมนต์อ้างอิง และใส่ 0 เป็นคอลัมน์และหมายเลขแถว นี่คือตัวอย่างสูตร
=INDEX(D6:G9,0,0)
อ่านเพิ่มเติม: วิธีจับคู่หลายเกณฑ์จากอาร์เรย์ที่ต่างกัน ใน Excel
การอ่านที่คล้ายกัน
- INDEX MATCH หลายเกณฑ์ใน Excel (ไม่มีสูตรอาร์เรย์) <22 ดัชนี Excel