Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

วิธีกำหนดและแก้ไขช่วงข้อมูลที่ตั้งชื่อ (Named Range) ใน Excel

สิ่งที่ควรรู้ก่อนเริ่มต้น

  • เลือกช่วงเซลล์ที่ต้องการ แล้วพิมพ์ชื่อใน Name Box เหนือคอลัมน์ A ในแผ่นงาน
  • หรือเลือกช่วงเซลล์ เลือกแท็บ Formulas บน Ribbon แล้วเลือก Define Name
  • เพื่อจัดการชื่อช่วงข้อมูล ให้ไปที่แท็บ Formulas เลือก Name Manager เลือกชื่อที่ต้องการ แล้วเลือก Delete หรือ Edit

บทความนี้อธิบายวิธีกำหนดและแก้ไขชื่อสำหรับช่วงข้อมูลใน Excel สำหรับ Microsoft 365, Excel 2019, 2016, 2013 และ 2010

การกำหนดและจัดการชื่อด้วย Name Box

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

เพื่อสร้างชื่อโดยใช้ Name Box ตามภาพประกอบ:

  1. เลือกช่วงเซลล์ที่ต้องการ ในแผ่นงาน
  2. พิมพ์ชื่อที่ต้องการ สำหรับช่วงนั้นใน Name Box เช่น Jan_Sales
  3. กดปุ่ม Enter บนคีย์บอร์ด ชื่อจะแสดงใน Name Box

ชื่อจะแสดงใน Name Box ทุกครั้งที่เลือกช่วงเซลล์เดียวกันในแผ่นงาน และยังแสดงใน Name Manager อีกด้วย

กฎและข้อจำกัดในการตั้งชื่อ

กฎไวยากรณ์ที่ต้องจำเมื่อสร้างหรือแก้ไขชื่อช่วงข้อมูล:

  • ชื่อ ไม่สามารถมีช่องว่าง ได้
  • ตัวอักษรแรกต้องเป็น ตัวอักษร, เครื่องหมาย underscore (_), หรือ backslash (\)
  • ตัวอักษรที่เหลือต้องเป็น ตัวอักษร, ตัวเลข, จุด (.), หรือ underscore เท่านั้น
  • ความยาวชื่อสูงสุด 255 ตัวอักษร
  • Excel ไม่แยกตัวพิมพ์ใหญ่-เล็ก ดังนั้น Jan_Sales และ jan_sales ถือเป็นชื่อเดียวกัน
  • ไม่สามารถใช้อ้างอิงเซลล์ เป็นชื่อได้ เช่น A25 หรือ R1C4

Named Range คืออะไร?

Named Range, Range Name หรือ Defined Name หมายถึงสิ่งเดียวกันใน Excel คือ ชื่อที่อธิบายลักษณะข้อมูล — เช่น Jan_Sales หรือ June_Precip — ที่ผูกมัดกับเซลล์หรือช่วงเซลล์เฉพาะในแผ่นงานหรือสมุดงาน ช่วงข้อมูลที่ตั้งชื่อช่วยให้ใช้และระบุข้อมูลง่ายขึ้นเมื่อสร้างแผนภูมิ และในสูตรต่างๆ นอกจากนี้ เนื่องจาก Named Range ไม่เปลี่ยนแปลงเมื่อคัดลอกสูตรไปยังเซลล์อื่น จึงเป็นทางเลือกแทนการใช้อ้างอิงเซลล์แบบสัมพันธ์เฉพาะ (Absolute Reference) ในสูตร มี 3 วิธีในการกำหนดชื่อใน Excel ได้แก่ การใช้ Name Box, กล่องโต้ตอบ New Name หรือ Name Manager

การกำหนดและจัดการชื่อด้วย Name Manager

วิธีที่สองในการกำหนดชื่อคือการใช้กล่องโต้ตอบ New Name ซึ่งเปิดได้จากตัวเลือก Define Name ตรงกลางแท็บ Formulas บน Ribbon กล่องโต้ตอบ New Name ทำให้กำหนดชื่อที่มีขอบเขตระดับแผ่นงาน (Worksheet Scope) ได้ง่ายขึ้น

ขั้นตอนการสร้างชื่อด้วยกล่องโต้ตอบ New Name:

  1. เลือกช่วงเซลล์ที่ต้องการในแผ่นงาน
  2. เลือกแท็บ Formulas ของ Ribbon
  3. เลือกตัวเลือก Define Name เพื่อเปิดกล่องโต้ตอบ New Name
  4. ใส่ Name, Scope และ Range ในกล่องโต้ตอบ
  5. เมื่อเสร็จแล้ว เลือก OK เพื่อกลับสู่แผ่นงาน ชื่อจะแสดงใน Name Box ทุกครั้งที่เลือกช่วงที่กำหนด

Name Manager ใช้ได้ทั้งในการกำหนดและจัดการชื่อที่มีอยู่แล้ว ตั้งอยู่ข้างๆ ตัวเลือก Define Name บนแท็บ Formulas ของ Ribbon เมื่อกำหนดชื่อใน Name Manager จะเปิดกล่องโต้ตอบ New Name เหมือนด้านบน ขั้นตอนเต็มรูปแบบมีดังนี้:

  1. เลือกแท็บ Formulas ของ Ribbon
  2. เลือกไอคอน Name Manager ตรงกลาง Ribbon เพื่อเปิด Name Manager
  3. ใน Name Manager เลือกปุ่ม New เพื่อเปิดกล่องโต้ตอบ New Name
  4. ใส่ Name, Scope และ Range เลือก OK เพื่อกลับสู่แผ่นงาน

การลบหรือแก้ไขชื่อ

เมื่อเปิด Name Manager แล้ว:

  1. ในหน้าต่างที่แสดงรายการชื่อ ให้เลือกชื่อที่ต้องการลบหรือแก้ไข
  2. เพื่อลบชื่อ ให้เลือกปุ่ม Delete เหนือหน้าต่างรายการ
  3. เพื่อแก้ไขชื่อ ให้เลือกปุ่ม Edit เพื่อเปิดกล่องโต้ตอบ Edit Name ในกล่องโต้ตอบนี้ คุณสามารถแก้ไขชื่อ เพิ่มความคิดเห็น หรือเปลี่ยนอ้างอิงช่วงข้อมูลได้

ข้อสำคัญ: ขอบเขต (Scope) ของชื่อที่มีอยู่แล้ว ไม่สามารถเปลี่ยนแปลง ได้ด้วยตัวเลือก Edit หากต้องการเปลี่ยนขอบเขต ให้ลบชื่อและกำหนดใหม่ด้วยขอบเขตที่ถูกต้อง

การกรองชื่อ (Filtering Names)

ปุ่ม Filter ใน Name Manager ช่วยให้:

  • ค้นหาชื่อที่มีข้อผิดพลาด — เช่น ช่วงข้อมูลไม่ถูกต้อง
  • กำหนดขอบเขตของชื่อ — ว่าเป็นระดับแผ่นงานหรือสมุดงาน
  • จัดเรียงและกรองชื่อที่แสดง — ชื่อที่กำหนด (Defined Names) หรือชื่อตาราง (Table Names)

รายการที่กรองแล้วจะแสดงในหน้าต่างรายการใน Name Manager

Defined Names และ Scope ใน Excel

ทุกชื่อมี Scope (ขอบเขต) ซึ่งหมายถึงตำแหน่งที่ Excel จดจำชื่อเฉพาะนั้น ชื่อสามารถมีขอบเขตเป็น แผ่นงานเดี่ยว (Local Scope) หรือ สมุดงานทั้งเล่ม (Global Scope) ชื่อต้องไม่ซ้ำกันภายในขอบเขตของมัน แต่ชื่อเดียวกันสามารถใช้ในขอบเขตที่ต่างกันได้

ขอบเขตเริ่มต้นสำหรับชื่อใหม่คือระดับสมุดงาน (Global) เมื่อกำหนดแล้ว ขอบเขตของชื่อไม่สามารถเปลี่ยนแปลงได้ง่าย หากต้องการเปลี่ยนขอบเขต ให้ลบชื่อใน Name Manager และกำหนดใหม่ด้วยขอบเขตที่ถูกต้อง

ขอบเขตระดับแผ่นงาน (Local Worksheet Level Scope)

ชื่อที่มีขอบเขตระดับแผ่นงานใช้ได้เฉพาะแผ่นงานที่กำหนดเท่านั้น หากชื่อ Total_Sales มีขอบเขตเป็น Sheet1 Excel จะไม่จดจำชื่อนี้บน Sheet2, Sheet3 หรือแผ่นอื่นๆ ในสมุดงานเดียวกัน ทำให้สามารถกำหนดชื่อเดียวกันสำหรับหลายแผ่นงานได้ — ตราบใดที่ขอบเขตของแต่ละชื่อถูกจำกัดให้อยู่ในแผ่นงานของตัวมันเอง

การใช้ชื่อเดียวกันสำหรับแผ่นงานต่างๆ อาจทำเพื่อความต่อเนื่องระหว่างแผ่นงาน และรับรองว่าสูตรที่ใช้ชื่อ Total_Sales จะอ้างอิงช่วงเซลล์เดียวกันในหลายแผ่นงานภายในสมุดงานเดียว

เพื่อแยกแยะชื่อที่เหมือนกันแต่อยู่ในขอบเขตต่างกันในสูตร ให้ขึ้นต้นชื่อด้วยชื่อแผ่นงาน เช่น:

=Sheet1!Total_Sales

หรือ

='Sheet 2'!Total_Sales

ชื่อที่สร้างด้วย Name Box จะมีขอบเขตระดับสมุดงาน (Global) เสมอ เว้นแต่จะใส่ชื่อแผ่นงานและชื่อช่วงพร้อมกันใน Name Box ตอนกำหนดชื่อ

ตัวอย่าง:

  • Name: Jan_Sales, Scope — ระดับสมุดงาน (Global)
  • Name: Sheet1!Jan_Sales, Scope — ระดับแผ่นงาน (Local)

ขอบเขตระดับสมุดงาน (Global Workbook Level Scope)

ชื่อที่กำหนดด้วยขอบเขตระดับสมุดงาน จะได้รับการจดจำสำหรับทุกแผ่นงานในสมุดงานนั้น ดังนั้น ชื่อระดับสมุดงานจึงใช้ได้เพียงครั้งเดียวภายในสมุดงานนั้น ไม่เหมือนชื่อระดับแผ่นงานที่กล่าวมาข้างต้น

อย่างไรก็ตาม ชื่อระดับสมุดงาน ไม่ได้รับการจดจำโดยสมุดงานอื่น ดังนั้น ชื่อระดับ Global จึงสามารถซ้ำกันในไฟล์ Excel ต่างๆ ได้ เช่น หากชื่อ Jan_Sales มีขอบเขต Global สามารถใช้ชื่อเดียวกันในสมุดงานชื่อ 2012_Revenue, 2013_Revenue และ 2014_Revenue ได้

ความขัดแย้งของขอบเขตและลำดับความสำคัญ (Scope Precedence)

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

เพื่อแก้ไขความขัดแย้งนี้ ใน Excel ชื่อที่กำหนดระดับแผ่นงาน (Local) มีความสำคัญมากกว่า (Precedence) ชื่อระดับสมุดงาน (Global) ในกรณีเช่นนี้ ชื่อระดับแผ่นงาน 2014_Revenue จะถูกใช้แทนชื่อระดับสมุดงาน 2014_Revenue

เพื่อบังคับให้ใช้ชื่อระดับสมุดงาน ให้ใช้ชื่อร่วมกับชื่อแผ่นงานเฉพาะ เช่น:

=WorkbookName!2014_Revenue

ข้อยกเว้นเดียวคือ ชื่อระดับแผ่นงานที่มีขอบเขตเป็น Sheet1 ของสมุดงานใดๆ ไม่สามารถบังคับได้โดยชื่อระดับ Global