ฟังก์ชัน Excel INDEX พร้อมตัวอย่างสูตร

  • แบ่งปันสิ่งนี้
Michael Brown

ในบทช่วยสอนนี้ คุณจะพบตัวอย่างสูตรจำนวนหนึ่งที่แสดงให้เห็นถึงการใช้ INDEX ใน Excel อย่างมีประสิทธิภาพสูงสุด

ในบรรดาฟังก์ชัน Excel ทั้งหมดซึ่งมักถูกประเมินและใช้งานน้อยเกินไป INDEX จะติดอันดับ 1 ใน 10 แน่นอน ในขณะเดียวกัน ฟังก์ชันนี้ก็ฉลาด นุ่มนวล และหลากหลาย

แล้วฟังก์ชัน INDEX ใน Excel คืออะไร โดยพื้นฐานแล้ว สูตร INDEX จะส่งคืนการอ้างอิงเซลล์จากภายในอาร์เรย์หรือช่วงที่กำหนด กล่าวอีกนัยหนึ่ง คุณใช้ INDEX เมื่อคุณทราบ (หรือสามารถคำนวณ) ตำแหน่งขององค์ประกอบในช่วงหนึ่งๆ และคุณต้องการได้ค่าที่แท้จริงขององค์ประกอบนั้น

สิ่งนี้อาจฟังดูเล็กน้อย แต่ครั้งหนึ่ง คุณตระหนักถึงศักยภาพที่แท้จริงของฟังก์ชัน INDEX ซึ่งอาจเปลี่ยนแปลงวิธีคำนวณ วิเคราะห์ และนำเสนอข้อมูลในเวิร์กชีตของคุณได้อย่างมีนัยสำคัญ

    ฟังก์ชัน INDEX ของ Excel - ไวยากรณ์และการใช้งานพื้นฐาน

    มีฟังก์ชัน INDEX สองเวอร์ชันใน Excel - ฟอร์มอาร์เรย์และฟอร์มอ้างอิง ทั้งสองรูปแบบสามารถใช้ได้ใน Microsoft Excel 365 - 2003 ทุกเวอร์ชัน

    ฟอร์มอาร์เรย์ INDEX

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

    INDEX(อาร์เรย์, row_num, [column_num])
    • อาร์เรย์ - คือช่วงของเซลล์ ช่วงที่ตั้งชื่อ หรือตาราง
    • <10 row_num - คือหมายเลขแถวในอาร์เรย์ที่จะใช้คืนค่า ถ้า row_num คือส่งกลับค่า แต่ในสูตรนี้ ตัวดำเนินการอ้างอิง (:) บังคับให้ส่งคืนค่าอ้างอิง) และเนื่องจาก $A$1 เป็นจุดเริ่มต้นของเรา ผลลัพธ์สุดท้ายของสูตรคือช่วง $A$1:$A$9

      ภาพหน้าจอต่อไปนี้จะสาธิตวิธีที่คุณสามารถใช้สูตรดัชนีดังกล่าวเพื่อสร้างดร็อปไดนามิก รายการด้านล่าง

      เคล็ดลับ วิธีที่ง่ายที่สุดในการสร้างรายการแบบเลื่อนลงที่อัปเดตแบบไดนามิกคือการสร้างรายการที่มีชื่อตามตาราง ในกรณีนี้ คุณไม่จำเป็นต้องมีสูตรที่ซับซ้อนใดๆ เนื่องจากตาราง Excel เป็นช่วงไดนามิกในตัว

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

      5. Vlookups อันทรงพลังด้วย INDEX / MATCH

      ดำเนินการค้นหาแนวตั้ง - นี่คือจุดที่ฟังก์ชัน INDEX โดดเด่นอย่างแท้จริง หากคุณเคยลองใช้ฟังก์ชัน VLOOKUP ของ Excel คุณจะทราบดีถึงข้อจำกัดมากมาย เช่น ไม่สามารถดึงค่าจากคอลัมน์ทางซ้ายของคอลัมน์ค้นหา หรือจำกัดจำนวนอักขระ 255 ตัวสำหรับค่าการค้นหา

      การเชื่อมโยง INDEX / MATCH เหนือกว่า VLOOKUP หลายประการ:

      • ไม่มีปัญหากับ vlookups ด้านซ้าย
      • ไม่จำกัดขนาดค่าการค้นหา
      • ไม่มีการเรียงลำดับ จำเป็น (VLOOKUP ที่มีการจับคู่โดยประมาณจำเป็นต้องจัดเรียงคอลัมน์การค้นหาจากน้อยไปหามาก)
      • คุณสามารถแทรกและลบคอลัมน์ในตารางได้โดยไม่ต้องอัปเดตทุกสูตรที่เกี่ยวข้อง
      • และสุดท้าย แต่ไม่ท้ายสุด INDEX / MATCH ไม่ทำให้ Excel ของคุณช้าลงเหมือนที่ Vlookups หลายตัวทำ

      คุณใช้ INDEX / MATCH ด้วยวิธีต่อไปนี้ :

      =INDEX ( คอลัมน์ที่จะส่งคืนค่าจาก , (MATCH ( ค่าการค้นหา , คอลัมน์ที่จะค้นหาเทียบกับ , 0))

      สำหรับ ตัวอย่างเช่น หากเราพลิกตารางต้นฉบับเพื่อให้ ชื่อดาวเคราะห์ กลายเป็นคอลัมน์ขวาสุด สูตร INDEX / MATCH จะยังคงดึงค่าที่ตรงกันจากคอลัมน์ด้านซ้ายโดยไม่มีการผูกปม

      <0

      สำหรับเคล็ดลับเพิ่มเติมและตัวอย่างสูตร โปรดดูบทช่วยสอน Excel INDEX / MATCH

      6. สูตร Excel INDEX เพื่อรับ 1 ช่วงจากรายการช่วง

      การใช้ฟังก์ชัน INDEX อย่างชาญฉลาดและมีประสิทธิภาพอีกอย่างหนึ่งใน Excel คือความสามารถในการรับช่วงหนึ่งจากรายการของช่วง

      สมมติว่า คุณมีหลายรายการโดยมีจำนวนรายการต่างกันในแต่ละช่วง เชื่อฉันสิ ไม่ คุณสามารถคำนวณค่าเฉลี่ยหรือรวมค่าในช่วงที่เลือกด้วยสูตรเดียว

      ก่อนอื่น คุณสร้าง e ช่วงที่มีชื่อสำหรับแต่ละรายการ ให้เป็น PlanetsD และ MoonsD ในตัวอย่างนี้:

      ฉันหวังว่าภาพด้านบนจะอธิบายเหตุผลที่อยู่เบื้องหลังชื่อช่วง :) นอกจากนี้ ตาราง ดวงจันทร์ ยังไม่เสร็จสมบูรณ์ ระบบสุริยะของเรามีดวงจันทร์ธรรมชาติที่รู้จักอยู่ 176 ดวง ปัจจุบันมีเพียงดาวพฤหัสบดีเพียง 63 ดวง และกำลังเพิ่มขึ้นเรื่อยๆ สำหรับตัวอย่างนี้ ฉันเลือกสุ่ม 11 อืม... อาจจะไม่สุ่มซะทีเดียว -ดวงจันทร์ที่มีชื่อสวยงามที่สุด : )

      ขออภัยที่พูดนอกเรื่อง กลับไปที่สูตร INDEX ของเรา สมมติว่า PlanetsD เป็นช่วง 1 และ MoonsD เป็นช่วง 2 และเซลล์ B1 เป็นที่ที่คุณใส่หมายเลขช่วง คุณสามารถใช้สูตรดัชนีต่อไปนี้เพื่อคำนวณค่าเฉลี่ยของค่าต่างๆ ใน ช่วงที่ตั้งชื่อที่เลือก:

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , B1))

      โปรดทราบว่าขณะนี้เรากำลังใช้รูปแบบการอ้างอิงของฟังก์ชัน INDEX และตัวเลขในอาร์กิวเมนต์สุดท้าย (area_num) จะบอกสูตรว่าช่วงใด เลือก

      ในภาพหน้าจอด้านล่าง พื้นที่_num (เซลล์ B1) ถูกตั้งค่าเป็น 2 ดังนั้นสูตรจึงคำนวณเส้นผ่านศูนย์กลางเฉลี่ยของ ดวงจันทร์ เนื่องจากช่วง ดวงจันทร์D มาเป็นอันดับ 2 ในอาร์กิวเมนต์อ้างอิง

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

      =AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planets", 1, IF(B1="moons", 2))))

      ในฟังก์ชัน IF คุณใช้ชื่อรายการที่จำง่ายและจำง่ายที่คุณต้องการให้ผู้ใช้พิมพ์ในเซลล์ B1 แทนตัวเลข โปรดทราบว่าเพื่อให้สูตรทำงานได้อย่างถูกต้อง ข้อความใน B1 ควรเหมือนกันทุกประการ (ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่) เช่นเดียวกับในพารามิเตอร์ของ IF มิฉะนั้นสูตรดัชนีของคุณจะส่งข้อผิดพลาด #VALUE

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

      สุดท้าย เพื่อให้สูตร INDEX ของคุณสมบูรณ์แบบ คุณสามารถใส่ไว้ในฟังก์ชัน IFERROR ซึ่งจะแจ้งให้ผู้ใช้เลือกรายการจากรายการแบบเลื่อนลง หากยังไม่ได้ทำการเลือก:

      =IFERROR(AVERAGE(INDEX((PlanetsD, MoonsD), , , IF(B1="planet", 1, IF(B1="moon", 2)))), "Please select the list!")

      นี่คือวิธีที่คุณใช้สูตร INDEX ใน Excel ฉันหวังว่าตัวอย่างเหล่านี้จะแสดงวิธีควบคุมศักยภาพของฟังก์ชัน INDEX ในเวิร์กชีตของคุณ ขอบคุณที่อ่าน!

      ละเว้น จำเป็นต้องมี column_num
    • column_num - คือหมายเลขคอลัมน์ที่จะส่งคืนค่า หากไม่ระบุ column_num จะต้องระบุ row_num

    ตัวอย่างเช่น สูตร =INDEX(A1:D6, 4, 3) จะส่งกลับค่าที่จุดตัดของแถวที่ 4 และคอลัมน์ที่ 3 ในช่วง A1:D6 ซึ่งเป็นค่าในเซลล์ C4 .

    หากต้องการทราบว่าสูตร INDEX ทำงานอย่างไรกับข้อมูลจริง โปรดดูตัวอย่างต่อไปนี้:

    แทนที่จะป้อนแถว และหมายเลขคอลัมน์ในสูตร คุณสามารถระบุการอ้างอิงเซลล์เพื่อให้ได้สูตรสากลมากขึ้น: =INDEX($B$2:$D$6, G2, G1)

    ดังนั้น สูตร INDEX นี้จึงส่งคืนจำนวนรายการที่จุดตัดของหมายเลขผลิตภัณฑ์ที่ระบุใน G2 (row_num ) และป้อนหมายเลขสัปดาห์ในเซลล์ G1 (column_num)

    เคล็ดลับ การใช้การอ้างอิงแบบสัมบูรณ์ ($B$2:$D$6) แทนการอ้างอิงแบบสัมพัทธ์ (B2:D6) ในอาร์กิวเมนต์อาร์เรย์ทำให้การคัดลอกสูตรไปยังเซลล์อื่นทำได้ง่ายขึ้น หรือคุณสามารถแปลงช่วงเป็นตาราง ( Ctrl + T ) และอ้างถึงด้วยชื่อตาราง

    รูปแบบอาร์เรย์ INDEX - สิ่งที่ต้องจำ

    1. หากอาร์กิวเมนต์อาร์เรย์ประกอบด้วยแถวหรือคอลัมน์เพียงแถวเดียว คุณอาจระบุอาร์กิวเมนต์ row_num หรือ column_num ที่สอดคล้องกันหรือไม่ก็ได้
    2. ถ้าอาร์กิวเมนต์อาร์เรย์มีมากกว่าหนึ่งแถวและไม่ได้ใส่ row_num หรือตั้งค่าเป็น 0 ฟังก์ชัน INDEX จะส่งคืนอาร์เรย์ของทั้งคอลัมน์ ในทำนองเดียวกัน ถ้าอาร์เรย์มีมากกว่าหนึ่งคอลัมน์และอาร์กิวเมนต์ column_num ถูกละเว้นหรือตั้งค่าเป็น 0 สูตร INDEX จะส่งกลับทั้งแถว นี่คือตัวอย่างสูตรที่แสดงให้เห็นถึงลักษณะการทำงานนี้
    3. อาร์กิวเมนต์ row_num และ column_num ต้องอ้างถึงเซลล์ภายในอาร์เรย์ มิฉะนั้น สูตร INDEX จะส่งกลับ #REF! ข้อผิดพลาด

    แบบฟอร์มอ้างอิง INDEX

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

    INDEX(reference, row_num , [column_num], [area_num] )
    • reference - เป็นช่วงหนึ่งหรือหลายช่วง

      หากคุณป้อนมากกว่าหนึ่งช่วง ให้คั่นช่วงด้วยเครื่องหมายจุลภาคและใส่อาร์กิวเมนต์อ้างอิงในวงเล็บ เช่น (A1:B5, D1:F5)

      หากแต่ละช่วงในการอ้างอิงมีเพียง หนึ่งแถวหรือคอลัมน์ อาร์กิวเมนต์ row_num หรือ column_num ที่สอดคล้องกันนั้นเป็นทางเลือก

    • row_num - หมายเลขแถวในช่วงที่จะส่งคืนการอ้างอิงเซลล์ ซึ่งคล้ายกับอาร์เรย์ form.
    • column_num - หมายเลขคอลัมน์ที่จะใช้คืนค่าการอ้างอิงเซลล์ และยังทำงานคล้ายกับฟอร์มอาร์เรย์
    • area_num - an พารามิเตอร์ทางเลือกที่ระบุช่วงจากอาร์กิวเมนต์อ้างอิงที่จะใช้ หากละเว้น สูตร INDEX จะส่งกลับผลลัพธ์สำหรับช่วงแรกที่แสดงรายการในการอ้างอิง

    ตัวอย่างเช่น สูตร =INDEX((A2:D3, A5:D7), 3, 4, 2) จะส่งกลับค่าของเซลล์ D7 ซึ่งอยู่ที่จุดตัดของแถวที่ 3 และคอลัมน์ที่ 4 ในพื้นที่ที่สอง (A5:D7)

    แบบฟอร์มอ้างอิง INDEX - สิ่งที่ต้องจำ

    1. หาก อาร์กิวเมนต์ row_num หรือ column_num ถูกตั้งค่าเป็นศูนย์ (0) สูตร INDEX จะส่งคืนการอ้างอิงสำหรับทั้งคอลัมน์หรือแถวตามลำดับ
    2. หากไม่ระบุทั้ง row_num และ column_num ฟังก์ชัน INDEX จะส่งคืนพื้นที่ที่ระบุใน อาร์กิวเมนต์ area_num
    3. อาร์กิวเมนต์ _num ทั้งหมด (row_num, column_num และ area_num) ต้องอ้างถึงเซลล์ภายในการอ้างอิง มิฉะนั้น สูตร INDEX จะส่งกลับ #REF! ข้อผิดพลาด

    สูตร INDEX ทั้งสองสูตรที่เราได้กล่าวถึงนั้นเรียบง่ายมากและแสดงแนวคิดเท่านั้น สูตรจริงของคุณน่าจะซับซ้อนกว่านั้นมาก ดังนั้นมาสำรวจการใช้ INDEX ใน Excel อย่างมีประสิทธิภาพที่สุดกัน

    วิธีใช้ฟังก์ชัน INDEX ใน Excel - ตัวอย่างสูตร

    บางทีอาจมี INDEX ของ Excel นั้นไม่ได้ใช้งานจริงมากนัก แต่เมื่อใช้ร่วมกับฟังก์ชันอื่นๆ เช่น MATCH หรือ COUNTA ก็สามารถสร้างสูตรที่มีประสิทธิภาพมากได้

    แหล่งข้อมูล

    สูตร INDEX ทั้งหมดของเรา (ยกเว้นอันสุดท้าย) เราจะใช้ข้อมูลด้านล่าง เพื่อความสะดวก จะจัดอยู่ในตารางชื่อ SourceData

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

    แน่นอนว่าไม่มีสิ่งใดขัดขวางไม่ให้คุณใช้ช่วงปกติหากคุณต้องการ ในกรณีนี้ คุณเพียงแค่แทนที่ชื่อตาราง SourceData ด้วยการอ้างอิงช่วงที่เหมาะสม

    1. รับรายการที่ N จากรายการ

    นี่คือการใช้ฟังก์ชัน INDEX ขั้นพื้นฐานและเป็นสูตรที่ง่ายที่สุดในการสร้าง หากต้องการดึงข้อมูลบางอย่างจากรายการ คุณเพียงแค่เขียน =INDEX(range, n) โดยที่ range คือช่วงของเซลล์หรือช่วงที่มีชื่อ และ n คือตำแหน่งของรายการที่คุณต้องการรับ

    เมื่อทำงานกับตาราง Excel คุณสามารถเลือกคอลัมน์โดยใช้เมาส์ แล้ว Excel จะดึงชื่อคอลัมน์พร้อมกับชื่อตารางในสูตร:

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

    และนี่คืออีกหนึ่งตัวอย่าง ในตารางตัวอย่างของเรา หากต้องการค้นหาดาวเคราะห์ที่ใหญ่เป็นอันดับ 2 ในระบบสุริยะ คุณต้องจัดเรียงตารางตามคอลัมน์ เส้นผ่านศูนย์กลาง และใช้สูตร INDEX ต่อไปนี้:

    =INDEX(SourceData, 2, 3)

    <4
  • Array คือชื่อตาราง หรือการอ้างอิงช่วง SourceData ในตัวอย่างนี้
  • Row_num คือ 2 เนื่องจากคุณกำลังมองหารายการที่สองในรายการ ซึ่งอยู่ใน 2
  • Column_num คือ 3 เนื่องจาก เส้นผ่านศูนย์กลาง เป็นคอลัมน์ที่ 3 ในตาราง
  • หากคุณต้องการคืนดาวเคราะห์ ชื่อแทนเส้นผ่านศูนย์กลาง เปลี่ยน column_num เป็น 1 และตามปกติ คุณสามารถใช้การอ้างอิงเซลล์ในอาร์กิวเมนต์ row_num และ/หรือ column_num เพื่อทำให้สูตรของคุณมีความหลากหลายมากขึ้น ดังที่แสดงในภาพหน้าจอด้านล่าง:

    2. การรับค่าทั้งหมดในแถวหรือคอลัมน์

    นอกเหนือจากการดึงเซลล์เดียว ฟังก์ชัน INDEX ยังสามารถส่งคืนอาร์เรย์ของค่าจาก ทั้งแถว หรือ คอลัมน์ . ในการรับค่าทั้งหมดจากบางคอลัมน์ คุณต้องละอาร์กิวเมนต์ row_num หรือตั้งค่าเป็น 0 ในทำนองเดียวกัน หากต้องการรับทั้งแถว คุณต้องส่งค่าว่างหรือ 0 ใน column_num

    สูตร INDEX ดังกล่าวแทบจะไม่สามารถ มาใช้ด้วยตัวเอง เนื่องจาก Excel ไม่สามารถใส่อาร์เรย์ของค่าที่สูตรส่งคืนมาในเซลล์เดียวได้พอดี และคุณจะได้รับ #VALUE! ข้อผิดพลาดแทน อย่างไรก็ตาม หากคุณใช้ INDEX ร่วมกับฟังก์ชันอื่นๆ เช่น SUM หรือ AVERAGE คุณจะได้ผลลัพธ์ที่ยอดเยี่ยม

    ตัวอย่างเช่น คุณสามารถใช้สูตรต่อไปนี้เพื่อคำนวณอุณหภูมิเฉลี่ยของดาวเคราะห์ในระบบสุริยะ:

    =AVERAGE(INDEX(SourceData, , 4))

    ในสูตรข้างต้น อาร์กิวเมนต์ column_num คือ 4 เนื่องจาก อุณหภูมิ ในคอลัมน์ที่ 4 ในตารางของเรา พารามิเตอร์ row_num จะถูกละไว้

    ในลักษณะเดียวกัน คุณสามารถหาค่าต่ำสุดและสูงสุดอุณหภูมิ:

    =MAX(INDEX(SourceData, , 4))

    =MIN(INDEX(SourceData, , 4))

    และคำนวณมวลดาวเคราะห์ทั้งหมด (มวลคือคอลัมน์ที่ 2 ในตาราง):

    =SUM(INDEX(SourceData, , 2))

    จากมุมมองเชิงปฏิบัติ ฟังก์ชัน INDEX ในสูตรข้างต้นนั้นไม่จำเป็น คุณสามารถเขียน =AVERAGE(range) หรือ =SUM(range) และรับผลลัพธ์เดียวกัน

    เมื่อทำงานกับข้อมูลจริง คุณลักษณะนี้อาจเป็นประโยชน์เนื่องจากเป็นส่วนหนึ่งของสูตรที่ซับซ้อนมากขึ้นที่คุณใช้สำหรับการวิเคราะห์ข้อมูล

    3. การใช้ INDEX กับฟังก์ชันอื่นๆ (SUM, AVERAGE, MAX, MIN)

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

    เนื่องจากผลลัพธ์ของสูตร INDEX เป็นข้อมูลอ้างอิง เราจึงสามารถใช้สูตรดังกล่าวภายในฟังก์ชันอื่นเพื่อสร้าง ช่วงไดนามิก ฟังดูสับสน? สูตรต่อไปนี้จะทำให้ทุกอย่างชัดเจน

    สมมติว่าคุณมีสูตร =AVERAGE(A1:A10) ที่ส่งคืนค่าเฉลี่ยของค่าในเซลล์ A1:A10 แทนที่จะเขียนช่วงโดยตรงในสูตร คุณสามารถแทนที่ A1 หรือ A10 หรือทั้งสองอย่างด้วยฟังก์ชัน INDEX เช่น

    =AVERAGE(A1 : INDEX(A1:A20,10))

    ทั้งสองสูตรข้างต้นจะส่งค่าเหมือนกัน ผลลัพธ์เนื่องจากฟังก์ชัน INDEX ส่งกลับการอ้างอิงไปยังเซลล์ A10 ด้วย (row_num ถูกตั้งค่าเป็น 10, col_num ละไว้) ข้อแตกต่างคือช่วงเป็นสูตร AVERAGE / INDEX เป็นไดนามิกและเมื่อคุณเปลี่ยนอาร์กิวเมนต์ row_num ใน INDEX แล้ว ช่วงที่ประมวลผลโดยฟังก์ชัน AVERAGE จะเปลี่ยนไป และสูตรจะส่งกลับผลลัพธ์ที่แตกต่างกัน

    เห็นได้ชัดว่าเส้นทางของสูตร INDEX นั้นซับซ้อนเกินไป แต่ก็มีการใช้งานจริง ดังแสดงในตัวอย่างต่อไปนี้

    ตัวอย่างที่ 1. คำนวณค่าเฉลี่ยของ N อันดับสูงสุดในรายการ

    สมมติว่าคุณต้องการทราบเส้นผ่านศูนย์กลางเฉลี่ยของดาวเคราะห์ N ที่ใหญ่ที่สุดในระบบของเรา . ดังนั้น คุณจัดเรียงตารางตามคอลัมน์ เส้นผ่านศูนย์กลาง จากมากไปน้อย และใช้สูตรค่าเฉลี่ย/ดัชนีต่อไปนี้:

    =AVERAGE(C5 : INDEX(SourceData[Diameter], B1))

    ตัวอย่างที่ 2 ผลรวมรายการระหว่างสองรายการที่ระบุ

    ในกรณีที่คุณต้องการกำหนดรายการขอบเขตบนและขอบเขตล่างในสูตรของคุณ คุณเพียงแค่ใช้ฟังก์ชัน INDEX สองฟังก์ชันเพื่อส่งคืนฟังก์ชันแรกและฟังก์ชัน รายการสุดท้ายที่คุณต้องการ

    ตัวอย่างเช่น สูตรต่อไปนี้ส่งคืนผลรวมของค่าในคอลัมน์ เส้นผ่านศูนย์กลาง ระหว่างสองรายการที่ระบุในเซลล์ B1 และ B2:

    =SUM(INDEX(SourceData[Diameter],B1) : INDEX(SourceData[Diameter], B2))

    4. สูตร INDEX เพื่อสร้างช่วงไดนามิกและรายการแบบเลื่อนลง

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

    อย่างไรก็ตาม หากคุณมีการเปลี่ยนแปลงจำนวนรายการในคอลัมน์ที่กำหนด ให้พูดจาก A1 เป็น A n ,คุณอาจต้องการสร้างช่วงชื่อไดนามิกที่มีเซลล์ทั้งหมดที่มีข้อมูล คุณต้องการปรับช่วงโดยอัตโนมัติเมื่อคุณเพิ่มรายการใหม่หรือลบรายการที่มีอยู่บางรายการ ตัวอย่างเช่น หากปัจจุบันคุณมี 10 รายการ ช่วงชื่อของคุณคือ A1:A10 หากคุณเพิ่มรายการใหม่ ช่วงที่ตั้งชื่อจะขยายเป็น A1:A11 โดยอัตโนมัติ และหากคุณเปลี่ยนใจและลบข้อมูลที่เพิ่มใหม่นั้น ช่วงที่ตั้งชื่อจะเปลี่ยนกลับไปเป็น A1:A10 โดยอัตโนมัติ

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

    วิธีหนึ่งในการกำหนดช่วงไดนามิกคือการใช้ฟังก์ชัน OFFSET ของ Excel:

    =OFFSET(Sheet_Name!$A$1, 0, 0, COUNTA(Sheet_Name!$A:$A), 1)

    อีกวิธีที่เป็นไปได้คือการใช้ Excel INDEX ร่วมกับ COUNTA:

    =Sheet_Name!$A$1:INDEX(Sheet_Name!$A:$A, COUNTA(Sheet_Name!$A:$A))

    ในทั้งสองสูตร A1 คือเซลล์ที่มีรายการแรกของรายการและช่วงไดนามิกที่สร้างขึ้น โดยทั้งสองสูตรจะเหมือนกัน

    ความแตกต่างอยู่ที่แนวทาง ในขณะที่ฟังก์ชัน OFFSET ย้ายจากจุดเริ่มต้นตามจำนวนแถวและ/หรือคอลัมน์ที่กำหนด INDEX จะค้นหาเซลล์ที่จุดตัดของแถวและคอลัมน์ที่ต้องการ ฟังก์ชัน COUNTA ที่ใช้ในทั้งสองสูตร รับจำนวนเซลล์ที่ไม่ว่างในคอลัมน์ที่สนใจ

    ในตัวอย่างนี้ มีเซลล์ที่ไม่ว่าง 9 เซลล์ในคอลัมน์ A ดังนั้น COUNTA จึงส่งกลับ 9 ดังนั้น INDEX จึงส่งกลับ $A$9 ซึ่งเป็นเซลล์ที่ใช้ล่าสุดในคอลัมน์ A (โดยปกติจะเป็น INDEX

    Michael Brown เป็นผู้ที่ชื่นชอบเทคโนโลยีโดยเฉพาะและมีความหลงใหลในการทำให้กระบวนการที่ซับซ้อนง่ายขึ้นโดยใช้เครื่องมือซอฟต์แวร์ ด้วยประสบการณ์กว่าทศวรรษในอุตสาหกรรมเทคโนโลยี เขาได้ฝึกฝนทักษะของเขาใน Microsoft Excel และ Outlook รวมถึง Google ชีตและเอกสาร บล็อกของ Michael ทุ่มเทให้กับการแบ่งปันความรู้และความเชี่ยวชาญของเขากับผู้อื่น โดยให้คำแนะนำและแบบฝึกหัดที่ทำตามได้ง่ายเพื่อปรับปรุงผลิตภาพและประสิทธิภาพ ไม่ว่าคุณจะเป็นมืออาชีพที่ช่ำชองหรือมือใหม่ บล็อกของ Michael นำเสนอข้อมูลเชิงลึกอันมีค่าและคำแนะนำที่เป็นประโยชน์สำหรับการใช้ประโยชน์สูงสุดจากเครื่องมือซอฟต์แวร์ที่จำเป็นเหล่านี้