ช่วงชื่อไดนามิกของ Excel: วิธีสร้างและใช้งาน

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

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

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

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

    วิธีสร้างช่วงชื่อไดนามิกใน Excel

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

    1. บนแท็บ สูตร ในกลุ่ม ชื่อที่กำหนด คลิก กำหนดชื่อ . หรือกด Ctrl + F3 เพื่อเปิด Excel Name Manger และคลิกปุ่ม New…
    2. ไม่ว่าจะด้วยวิธีใด กล่องโต้ตอบ New Name จะเปิดขึ้นโดยที่ คุณระบุรายละเอียดต่อไปนี้:
      • ในช่อง ชื่อ ให้พิมพ์ชื่อสำหรับช่วงไดนามิกของคุณ
      • ในช่อง ขอบเขต แบบเลื่อนลง ให้ตั้งค่า ขอบเขตของชื่อ ส่วนใหญ่แนะนำให้ใช้ สมุดงาน (ค่าเริ่มต้น)กรณี
      • ในช่อง อ้างถึง ให้ป้อนสูตร OFFSET COUNTA หรือ INDEX COUNTA อย่างใดอย่างหนึ่ง
    3. คลิก ตกลง เสร็จแล้ว!

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

    สูตร OFFSET เพื่อกำหนดช่วงชื่อแบบไดนามิกของ Excel

    สูตรทั่วไปเพื่อสร้างช่วงชื่อแบบไดนามิกใน Excel มีดังนี้:

    OFFSET ( เซลล์แรก, 0, 0, COUNTA( คอลัมน์), 1)

    ที่ไหน:

    • เซลล์แรก - เซลล์แรก รายการที่จะรวมไว้ในช่วงที่มีชื่อ เช่น $A$2.
    • คอลัมน์ - การอ้างอิงแบบสัมบูรณ์ไปยังคอลัมน์ เช่น $A:$A.

    ที่แกนหลักของสูตรนี้ คุณใช้ฟังก์ชัน COUNTA เพื่อรับจำนวนเซลล์ที่ไม่ว่างในคอลัมน์ที่สนใจ ตัวเลขนั้นตรงไปยังอาร์กิวเมนต์ ความสูง ของฟังก์ชัน OFFSET(reference, rows, cols, [height], [width]) เพื่อบอกจำนวนแถวที่จะส่งคืน

    นอกเหนือจากนั้น เป็นสูตรออฟเซ็ตธรรมดา โดยที่:

    • การอ้างอิง เป็นจุดเริ่มต้นที่คุณใช้ฐานของค่าออฟเซ็ต (เซลล์แรก)
    • แถว และ cols เป็น 0 ทั้งคู่ เนื่องจากไม่มีคอลัมน์หรือแถวให้หักล้าง
    • ความกว้าง เท่ากับ 1 คอลัมน์

    ตัวอย่างเช่น ในการสร้างช่วงชื่อไดนามิกสำหรับคอลัมน์ A ใน Sheet3 โดยเริ่มต้นในเซลล์ A2 เราใช้สูตรนี้:

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

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

    สูตร INDEX เพื่อสร้างช่วงที่มีชื่อแบบไดนามิกใน Excel

    อีกวิธีหนึ่งในการสร้างช่วงไดนามิกของ Excel คือการใช้ COUNTA ร่วมกับฟังก์ชัน INDEX

    first_cell:INDEX( column,COUNTA( คอลัมน์))

    สูตรนี้ประกอบด้วยสองส่วน:

    • ทางด้านซ้ายของตัวดำเนินการช่วง (:) ให้คุณใส่การอ้างอิงเริ่มต้นแบบกำหนดค่าตายตัว เช่น $A$2 .
    • ทางด้านขวา ให้คุณใช้ฟังก์ชัน INDEX(array, row_num, [column_num]) เพื่อหาการอ้างอิงสิ้นสุด ที่นี่ คุณระบุทั้งคอลัมน์ A สำหรับอาร์เรย์และใช้ COUNTA เพื่อรับหมายเลขแถว (เช่น จำนวนเซลล์ที่ไม่มีรายการในคอลัมน์ A)

    สำหรับชุดข้อมูลตัวอย่างของเรา (โปรดดู ภาพหน้าจอด้านบน) สูตรจะเป็นดังนี้:

    =$A$2:INDEX($A:$A, COUNTA($A:$A))

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

    ในการทดสอบช่วงไดนามิกที่สร้างขึ้นใหม่ คุณสามารถให้ COUNTA ดึงรายการที่นับได้:

    =COUNTA(Items)

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

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

    วิธีสร้างช่วงไดนามิกสองมิติใน Excel

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

    first_cell:INDEX($1:$1048576, COUNTA( first_column), COUNTA( first_row)))

    ในสูตรนี้ คุณมีฟังก์ชัน COUNTA สองฟังก์ชันเพื่อรับแถวสุดท้ายที่ไม่ว่างและคอลัมน์สุดท้ายที่ไม่ว่าง ( row_num และอาร์กิวเมนต์ column_num ของฟังก์ชัน INDEX ตามลำดับ) ในอาร์กิวเมนต์ อาร์เรย์ คุณจะป้อนข้อมูลทั้งเวิร์กชีต (1048576 แถวใน Excel 2016 - 2007; 65535 แถวใน Excel 2003 และต่ำกว่า)

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

    เมื่อข้อมูลการขายเริ่มต้นในคอลัมน์ B แถวที่ 2 สูตรจะมีรูปแบบต่อไปนี้:

    =$B$2:INDEX($1:$1048576,COUNTA($B:$B),COUNTA($2:$2))

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

    =SUM(sales)

    =SUM(B2:D5)

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

    วิธีใช้ช่วงชื่อแบบไดนามิกในสูตร Excel

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

    สำหรับตัวอย่างนี้ เราจะใช้สูตร INDEX MATCH แบบคลาสสิกที่ใช้ Vlookup ใน Excel:

    INDEX ( return_range, MATCH ( lookup_value, lookup_range, 0))

    ...และดูว่าเรา สามารถทำให้สูตรมีประสิทธิภาพยิ่งขึ้นด้วยการใช้ช่วงที่ตั้งชื่อแบบไดนามิก

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

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

    Lookup_range: =$A$2:INDEX($ A:$A, COUNTA($A:$A))

    Return_range: =$E$2:INDEX($E:$E, COUNTA($E:$E))

    lookup_value: =$H$1

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

    ตอนนี้ ให้เริ่มพิมพ์สูตรใน H1 เมื่อพูดถึงอาร์กิวเมนต์แรก ให้พิมพ์ชื่อที่คุณต้องการใช้ 2-3 ตัว แล้ว Excel จะแสดงชื่อที่ตรงกันทั้งหมดที่มีอยู่ ดับเบิลคลิกชื่อที่ต้องการ แล้ว Excel จะแทรกชื่อนั้นในสูตรทันที:

    สูตรที่เสร็จสมบูรณ์จะมีลักษณะดังนี้:

    =INDEX(Return_range, MATCH(Lookup_value, Lookup_range, 0))

    และทำงานได้อย่างสมบูรณ์แบบ!

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

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

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

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