0Pricing
Excel Formulas Academy · บทเรียน

ดึงค่าด้วย 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ดึงค่าด้วย INDEX
  2. ค้นหาตำแหน่งด้วย MATCH
  3. รวม INDEX และ MATCH
  4. เหตุใด INDEX-MATCH จึงดีกว่า VLOOKUP
← กลับไปที่ Excel Formulas Academy