เราสามารถตั้งชื่อให้กับเซลล์ ค่าคงที่ หรือแม้แต่ตั้งชื่อให้กับสูตรเอง เพื่อช่วยอำนวยความสะดวกในการใช้ค่าในชื่อนั้นๆ แทนการอ้างอิงถึงตำแหน่งเซลล์โดยตรง ยิ่งตั้งชื่อให้มีความหมายสื่อถึงข้อมูลหรือวัตถุประสงค์มากเท่าใด เราสามารถจำชื่อนั้นได้ง่ายขึ้น แต่ถ้าจำชื่อไม่ได้ก็ยังมีอีกหลายวิธีที่จะใช้ชื่อนั้นๆได้
หลักการตั้งชื่อ
ให้ใช้ตัวอักษรตัวใหญ่ผสมตัวเล็ก ไม่มีช่องว่างระหว่างตัวอักษร จะใช้ตัวเลขก็ได้แต่ห้ามใช้ตัวเลขนำหน้าชื่อ ชื่อที่ตั้งขึ้นไม่ควรมีความยาวมากเกินไป เพราะในช่อง Name Box สามารถแสดงชื่อได้เพียงแค่ 13 ตัวอักษรแรกเท่านั้น ควรตั้งชื่อให้สื่อถึงความหมายตามเนื้อหาของค่าในชื่
ประเภทของชื่อ
- Range Name เป็นชื่อซึ่งตั้งให้กับเซลล์หรือกลุ่มของเซลล์ติดต่อกัน หากตั้งชื่อให้กับเซลล์เดียวโดดๆ เราสามารถใช้ชื่อนั้นได้ทุกที่ แต่ถ้าตั้งชื่อให้กับกลุ่มของเซลล์ เราสามารถใช้ชื่อ นำค่ามาใช้ในแนวคู่ขนานกับเซลล์ในชื่อนั้นเท่านั้น ยกเว้นจะใช้ชื่อในสูตรแบบ Array หรือสูตร Function จะใช้ชื่อได้ทุกตำแหน่ง
- Formula Name เป็นชื่อซึ่งตั้งให้กับสูตร ช่วยให้เราสามารถตั้งชื่อสูตรใหม่ขึ้นมาใช้เอง เช่น ตั้งชื่อสูตรว่า AllCell แล้วให้มีสูตร =MyCell1+MyCell2+MyCell3+MyCell4 ซึ่งอาจเกิดจาก Range Name หรือ Formula Name อื่นๆ นำมาใช้ซ้อนในสูตรชื่อ AllCell อีกทีหนึ่ง ช่วยให้เราสามารถย่อสูตรยาวๆ เหลือเพียงชื่อๆเดียว
- Constant Name เป็นชื่อซึ่งตั้งให้กับค่าซึ่งอาจเป็นตัวเลขค่าหนึ่งๆ หรือเป็นตัวอักษรคำหนึ่งๆ เช่น ตั้งชื่อว่า MyConstant ให้มีค่าเท่ากับ 50 เป็นต้น
นอกจากนี้ยังมีชื่อประเภทอื่นๆอีก เช่น Sheet Level Name, Hidden Name เป็นต้น แต่ไม่ขอนำมาอธิบาย ณ ที่นี้
วิธีตั้งชื่อ แก้ไขชื่อ หรือ ลบชื่อ
- ตั้งชื่อโดยใช้ Name Box ให้คลิกที่ปุ่มลูกศรข้างขวาของ Name Box แล้วพิมพ์ตัวอักษรของชื่อที่ต้องการลงไป เสร็จแล้วให้กด Enter เพื่อรับชื่อ ทั้งนี้ Name Box ใช้ตั้งชื่อได้เฉพาะ Range Name เท่านั้น ชื่อที่ตั้งขึ้นจะมีตำแหน่งอ้างอิงแบบ absolute reference เสมอ และไม่สามารถใช้ Name Box เพื่อแก้ไขเปลี่ยนแปลงชื่อได้อีก สาเหตุที่แนะนำให้คลิกที่ปุ่มลูกศร แทนที่จะคลิกลงไปใน Name Box โดยตรง เนื่องจากเมื่อพิมพ์ตัวอักษรตัวแรกลงไป Name Box จะเลื่อนหาชื่อที่มีอยู่ให้เห็นว่า ก่อนหน้านั้นมีชื่ออื่นๆซึ่งใช้ตัวอักษรนำเหมือนกันอยู่กันแล้วหรือไม่
- ใช้เมนูคำสั่ง Insert > Name > Define พิมพ์ชื่อที่ต้องการลงไปในช่อง Names in workbook แล้วกำหนดตำแหน่งอ้างอิงลงในช่อง Refers to แล้วกดปุ่ม Add และให้ใช้วิธีนี้สำหรับการแก้ไขหรือลบชื่อเดิม โดยคลิกเลือกชื่อที่ต้องการ แล้วเปลี่ยนตำแหน่งอ้างอิงใหม่ หรือกดปุ่ม Delete เพื่อลบชื่อทิ้ง ชื่อที่ตั้งขึ้นนี้สามารถกำหนดตำแหน่งอ้างอิงแบบ mixed หรือ relative reference หรือ กำหนดให้กับ constant name ได้ด้วย
- ใช้เมนูคำสั่ง Insert > Name > Create ใช้ตั้งชื่อ Range Name ให้กับเซลล์แบบตารางซึ่งมีชื่อกำกับอยู่แล้ว ทั้งนี้ต้องพิมพ์ชื่อลงไปในเซลล์รอบๆของพื้นที่ก่อน
- ใช้เมนูคำสั่ง Insert > Name > Apply ใช้เปลี่ยนตำแหน่งอ้างอิงในสูตร จากตำแหน่ง row/column ซึ่งอยู่เซลล์ที่เราเลือกไว้ ให้เป็นชื่อที่ตั้งไว้แล้ว
วิธีใช้ชื่อ
- พิมพ์เครื่องหมาย = แล้วพิมพ์ชื่อที่ต้องการ ทั้งนี้ให้พิมพ์ชื่อด้วยอักษรตัวเล็กทั้งหมด แล้วกด Enter จะพบว่าตัวอักษรเปลี่ยนเป็นตัวใหญ่เล็ก ตามแบบที่เราตั้งไว้ แสดงว่าใช้ชื่อถูกต้อง แต่ถ้าสะกดชื่อผิด จะพบว่าตัวอักษรชื่อยังคงเป็นตัวเล็กเหมือนเดิม และแสดง #NAME? ในเซลล์ เพื่อบอกว่า ใช้ชื่อผิด
- พิมพ์เครื่องหมาย = แล้วกดปุ่ม F3 เพื่อเลือกชื่อที่ต้องการแล้วกด Enter สำหรับการใช้ชื่อในสูตร ให้กด F3 เมื่อต้องการนำชื่อมาใส่ต่อในสูตร
- วิธีไปยังชื่อที่ต้องการ ให้คลิกเลือกชื่อจาก Name Box หรือกดปุ่ม F5 หรือดูตำแหน่งอ้างอิงได้จากช่อง Names in workbook เมื่อสั่ง Insert > Name > Define นอกจากนี้หาก double คลิกลงในเซลล์สูตร จะพบว่า Excel ย้ายตัวชี้กระโดดไปยังเซลล์ต้นทาง หรือไปยังเซลล์ของชื่อนั้นๆ
- วิธีแกะสูตร ให้ดูจากช่อง Names in workbook เมื่อสั่ง Insert > Name > Define ซึ่งแสดงชื่อทุกประเภท หรือให้กดปุ่ม F2 เพื่อ edit สูตร จะทำให้ Excel ใส่สีตัวอักษรในแต่ละส่วนของสูตร แล้วสร้างกล่องสีเดียวกันล้อมรอบเซลล์ซึ่งใช้ชื่อนั้นๆตรงกัน หากต้องการพิมพ์ชื่อทั้งหมดที่ตั้งไว้สรุปลงใน worksheet ให้ใช้คำสั่ง Insert > Name > Paste > Paste List
- วิธีตรวจสอบการคำนวณของสูตร ให้คลิกเลือกส่วนของสูตรบน Formula Bar แล้วกดปุ่ม F9 เรียกวิธีนี้ว่า "F9 บางส่วน" ทำให้สูตรส่วนที่เลือกนั้นคำนวณ แล้วแสดงผลให้เห็นบน Formula Bar เสร็จแล้วให้กดปุ่ม Esc เพื่อคืนสภาพกลับเป็นสูตรดังเดิม
เคล็ดการใช้ Range Name แบบ Intersection เพื่อค้นหาค่าในตารางแทนสูตร Index
Index เป็นสูตรซึ่งใช้คืนค่าของข้อมูลในตารางที่กำหนด จากเซลล์ ณ ตำแหน่ง row และ column ที่ทราบ เช่น =Index(MyRange,2,3) จะได้ค่าซึ่งอยู่ใน row ที่ 2 ตัดกับ column ที่ 3 ออกมา
หากเราตั้งชื่อ range name ให้กับตารางข้อมูล row ที่ 2 ว่า MyRow และตั้งชื่อ column ที่ 3 ว่า MyColumn ให้ใช้สูตรต่อไปนี้แทน โดยไม่ต้องใช้สูตร Index แต่อย่างใด
=MyRow MyColumn
สังเกตว่า ใช้เครื่องหมายวรรคคั่นระหว่าง 2 range จะได้ค่า ณ ตำแหน่งเซลล์ซึ่ง range ทั้งสองตัดกัน (intersection)
