ดึงค่าด้วย INDEX
ส่งคืนค่าจากช่วงตามตำแหน่งแถวและคอลัมน์
ดึงค่าด้วย INDEX เป็นบทเรียน Excel Formulas Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Excel Formulas Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
ทำความรู้จักฟังก์ชัน INDEX
ฟังก์ชัน INDEX ตอบคำถามง่าย ๆ ว่า "ค่าใดอยู่ที่ตำแหน่งเฉพาะในช่วงข้อมูล" คุณระบุกลุ่มเซลล์และหมายเลขแถวให้ฟังก์ชัน แล้วฟังก์ชันจะส่งกลับค่าที่อยู่ตรงนั้น
ลองนึกภาพช่วงข้อมูลเป็นรายการที่มีหมายเลขกำกับ INDEX ก็เหมือนการพูดว่า "ส่งกลับรายการหมายเลข 3 ให้ฉัน" ฟังก์ชันนี้ยังไม่ได้ค้นหาด้วยชื่อ แต่จะหยิบค่าตามตำแหน่งเท่านั้น
ด้วยเหตุนี้ INDEX จึงเป็นคู่หูที่เหมาะสำหรับดึงค่ากลับมาเมื่อคุณทราบแล้วว่าอยู่ที่ใด
ไวยากรณ์พื้นฐาน
รูปแบบที่ง่ายที่สุดของ INDEX ต้องใช้ข้อมูลสองส่วน:
- อาร์เรย์ — ช่วงของเซลล์ที่จะค้นหา
- หมายเลขแถว — แถวของช่วงที่ต้องการส่งกลับ
ดังนั้น =INDEX(B2:B6, 3) อ่านได้ว่า: "จากช่วง B2:B6 ให้ส่งกลับค่าในตำแหน่งที่ 3" หาก B2:B6 มีชื่ออยู่ สูตรนี้จะส่งกลับชื่อที่ 3
หมายเลขแถวจะนับ ภายใน ช่วง ไม่ใช่นับจากด้านบนของแผ่นงาน
=INDEX(B2:B6, 3)การนับภายในช่วง
ตอนแรกจุดนี้อาจทำให้สับสน หากช่วงของคุณเริ่มที่แถว 2 เซลล์ในแถว 2 จะเป็นตำแหน่ง 1 ไม่ใช่ 2
สมมติว่า B2:B6 มีค่า: แอปเปิล กล้วย เชอร์รี อินทผลัม มะเดื่อ ตำแหน่ง 1 คือแอปเปิล (อยู่ในเซลล์ B2) ตำแหน่ง 2 คือกล้วย และตำแหน่ง 3 คือเชอร์รี
ดังนั้น =INDEX(B2:B6, 3) จะส่งกลับ เชอร์รี ตำแหน่งจะอ้างอิงจากจุดเริ่มต้นของช่วงที่คุณระบุเสมอ
=INDEX(B2:B6, 3)ตัวอย่างการใช้งาน
สมมติว่าคอลัมน์ A แสดงรายชื่อพนักงานและคุณต้องการชื่อที่ 4 ข้อมูลของคุณอยู่ใน A2:A10
คุณเขียน =INDEX(A2:A10, 4) INDEX จะนับลงจาก A2 เป็นระยะสี่ตำแหน่งและส่งกลับชื่อใน A5
สังเกตว่าคุณไม่เคยพิมพ์ชื่อเลย INDEX ไม่สนใจว่าค่านั้นคืออะไร แต่สนใจเพียงว่าอยู่ที่ไหน ลักษณะที่อ้างอิงตามตำแหน่งนี้เองที่ทำให้ INDEX ทำงานร่วมกับฟังก์ชันที่ค้นหาตำแหน่งให้คุณได้เป็นอย่างดี
=INDEX(A2:A10, 4)การเพิ่มหมายเลขคอลัมน์
INDEX ยังมีรูปแบบเต็มแบบสองมิติสำหรับกรณีที่ช่วงครอบคลุมหลายคอลัมน์:
=INDEX(array, row_num, column_num)
ตอนนี้คุณจะระบุทั้งแถวและคอลัมน์ภายในบล็อก เช่น =INDEX(A2:C10, 4, 2) จะส่งกลับค่าที่อยู่ในแถวที่ 4 คอลัมน์ที่ 2 ของบล็อกนั้น
ตัวเลขทั้งสองจะนับจากมุมซ้ายบนของช่วงที่คุณระบุ
=INDEX(A2:C10, 4, 2)การเลือกเซลล์ในตาราง
ลองนึกภาพตารางขนาดเล็กใน A2:C5 โดยคอลัมน์ A คือภูมิภาค คอลัมน์ B คือผลิตภัณฑ์ และคอลัมน์ C คือยอดขาย คุณต้องการตัวเลขยอดขายจากแถวข้อมูลที่ 3
ยอดขายอยู่ในคอลัมน์ที่ 3 และแถวข้อมูลที่ 3 คือ ตำแหน่งที่ 3 ดังนั้นคุณจึงเขียน =INDEX(A2:C5, 3, 3)
INDEX จะไปยังแถวที่ 3 คอลัมน์ที่ 3 ของบล็อกนั้นและส่งกลับค่ายอดขายเพียงค่าเดียว สูตรเดียวได้จุดตัดที่ตรงกันพอดี
=INDEX(A2:C5, 3, 3)การส่งกลับทั้งแถวหรือคอลัมน์
หากกำหนดตัวเลขตัวใดตัวหนึ่งเป็น 0 (หรือเว้นไว้ในหลายกรณี) INDEX จะส่งกลับทั้งแถวหรือคอลัมน์แทนที่จะส่งกลับเซลล์เดียว
=INDEX(A2:C5, 0, 2) จะส่งกลับคอลัมน์ที่ 2 ทั้งหมดของบล็อกนั้น ในสเปรดชีตสมัยใหม่ ผลลัพธ์จะ กระจาย ลงในหลายเซลล์
วิธีนี้มีประโยชน์เมื่อคุณต้องการส่งทั้งคอลัมน์ให้ฟังก์ชันอื่น แทนที่จะส่งเพียงค่าเดียว
=INDEX(A2:C5, 0, 2)INDEX กับคอลัมน์เดียว
เมื่อช่วงของคุณมีความกว้างเพียงหนึ่งคอลัมน์ คุณสามารถไม่ระบุอาร์กิวเมนต์คอลัมน์ได้เลย โดย INDEX จะถือว่าเป็นคอลัมน์ที่ 1
ดังนั้นสำหรับราคาใน C2:C20 =INDEX(C2:C20, 7) จะส่งกลับราคาที่ 7 โดยไม่ต้องระบุหมายเลขคอลัมน์
เช่นเดียวกัน สำหรับ แถว เดียวที่มีค่าอย่าง E1:J1 =INDEX(E1:J1, 1, 4) จะส่งกลับค่าที่ 4 ในแถวนั้น INDEX จะปรับให้เข้ากับรูปแบบข้อมูลของคุณ
=INDEX(C2:C20, 7)เหตุใดการใช้ตำแหน่งจึงดีกว่าการกำหนดค่าตายตัว
คุณอาจสงสัยว่าเหตุใดจึงไม่พิมพ์ =A5 โดยตรง จุดเด่นของ INDEX คือ ตำแหน่งสามารถเป็น การคำนวณ หรือการอ้างอิงเซลล์ได้ ไม่จำเป็นต้องเป็นตัวเลขคงที่
เช่น =INDEX(A2:A100, D1) จะส่งกลับหมายเลขแถวใดก็ตามที่เก็บอยู่ใน D1 หากเปลี่ยน D1 เป็น 5 INDEX จะส่งกลับรายการที่ 5 หากเปลี่ยนเป็น 20 ก็จะส่งกลับรายการที่ 20
นี่คือสิ่งที่ทำให้ INDEX เปลี่ยนจากฟังก์ชันที่ดูน่าสนใจให้กลายเป็นเครื่องมือค้นหาแบบปรับเปลี่ยนได้
=INDEX(A2:A100, D1)กรณีใช้งานจริง
สมมติว่าคุณมีตารางจัดอันดับใน A2:A11 และมีรายการแบบเลื่อนลงใน F1 ซึ่งผู้ใช้สามารถเลือกหมายเลขอันดับตั้งแต่ 1 ถึง 10
คุณเขียน =INDEX(A2:A11, F1) เมื่อมีคนเลือก 1 ใน F1 ระบบจะแสดงผู้เล่นอันดับหนึ่ง หากเลือก 3 ก็จะแสดงผู้เล่นอันดับสาม
สูตรไม่เคยเปลี่ยน มีเพียงข้อมูลป้อนเข้าที่เปลี่ยนเท่านั้น นี่คือรากฐานของการค้นหาแบบยืดหยุ่นทุกแบบที่คุณจะสร้างต่อไป
=INDEX(A2:A11, F1)ระวังตำแหน่งที่อยู่นอกช่วง
หากขอให้ INDEX ส่งกลับตำแหน่งที่ไม่มีอยู่ คุณจะได้รับข้อผิดพลาด #REF! สำหรับช่วงที่มี 5 รายการ การขอตำแหน่งที่ 6 จะไม่สำเร็จ
เช่น =INDEX(A2:A6, 9) จะส่งกลับ #REF! เนื่องจากไม่มีรายการที่ 9 ในช่วงที่มี 5 แถว
ควรกำหนดหมายเลขตำแหน่งให้อยู่ภายในขนาดของช่วง เมื่อภายหลังคุณส่งตำแหน่งที่ได้จาก MATCH ปัญหานี้จะเกิดขึ้นไม่บ่อยนัก แต่ก็ควรรู้จักข้อผิดพลาดนี้ไว้
=INDEX(A2:A6, 9)ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจของคุณเกี่ยวกับวิธีที่ INDEX นับตำแหน่ง
ทบทวน: INDEX ส่งกลับค่าตามตำแหน่ง
คุณได้เรียนรู้ว่า INDEX ดึงค่าตามตำแหน่งภายในช่วง:
=INDEX(array, row_num)สำหรับคอลัมน์หรือแถวเดียว=INDEX(array, row_num, column_num)สำหรับบล็อกสองมิติ- ตำแหน่งจะนับจากจุดเริ่มต้นของช่วง ดังนั้นเซลล์แรกคือตำแหน่ง 1
- ตำแหน่งสามารถเป็นตัวเลข การอ้างอิงเซลล์ หรือการคำนวณได้ จึงทำให้ INDEX ทำงานแบบปรับเปลี่ยนได้
ต่อไปคุณจะได้เรียนรู้ MATCH ซึ่งเป็นฟังก์ชันที่ค้นหาตำแหน่งเหล่านั้นให้คุณโดยอัตโนมัติ
=INDEX(A2:A11, F1)คำถามที่พบบ่อย
บทเรียน “ดึงค่าด้วย INDEX” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ดึงค่าด้วย INDEX” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Excel Formulas Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Excel Formulas Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ดึงค่าด้วย INDEX”
ส่งคืนค่าจากช่วงตามตำแหน่งแถวและคอลัมน์ คุณปฏิบัติ Excel Formulas Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Excel Formulas Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Excel Formulas Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ดึงค่าด้วย INDEX” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Excel Formulas Academy นี้ได้ไหม
ได้ บทเรียน Excel Formulas Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ