Cách Tạo Và Quản Lý Name Range Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mục lục bài viết

1. Giới thiệu tổng quan về Name Range

Trong môi trường làm việc với dữ liệu, đặc biệt là khi sử dụng Microsoft Excel, việc tham chiếu tới các ô, dải ô, hoặc công thức trở nên rất quan trọng. Khi bạn chỉ định một dải ô bằng địa chỉ như A1:B10, mọi người (bao gồm cả bạn trong tương lai) sẽ phải nhớ và hiểu rõ ý nghĩa của địa chỉ này. Điều này không chỉ gây khó khăn trong việc bảo trì mà còn dễ dẫn đến sai sót khi sửa đổi hoặc mở rộng bảng tính.

Name Range (tên phạm vi) là một tính năng mạnh mẽ của Excel cho phép bạn gán một tên mô tả (đọc hiểu được) cho một ô hoặc một dải ô. Khi đã có tên này, bạn có thể:

  • Tham chiếu dễ dàng trong các công thức, biểu đồ, và các chức năng khác.
  • Tăng tính đọc hiểu cho bảng tính, giúp người khác (hoặc chính bạn) nhanh chóng nắm bắt mục đích của dữ liệu.
  • Giảm thiểu lỗi khi thay đổi vị trí hoặc kích thước của dải ô, vì các công thức sẽ tự động cập nhật dựa trên tên đã định nghĩa.
  • Tổ chức dữ liệu theo cách logic hơn, hỗ trợ việc xây dựng các mô hình tài chính, báo cáo, hoặc phân tích dữ liệu phức tạp.

Trong bài viết này, chúng ta sẽ đi sâu vào cách tạo Name Range trong Excel, các tùy chỉnh nâng cao, cách quản lý và xóa bỏ chúng, cũng như một số mẹo và lưu ý thực tiễn giúp bạn tận dụng tối đa tính năng này.

2. Các cách tạo Name Range trong Excel

2.1. Tạo Name Range bằng cách sử dụng Name Box

Name Box là ô nhỏ nằm ở phía trên bên trái của bảng tính, ngay dưới thanh công cụ Ribbon, nơi hiển thị địa chỉ ô hiện tại (ví dụ: A1). Bạn có thể nhập một tên vào đây để gán cho ô hoặc dải ô đã chọn.

Các bước thực hiện:

  1. Chọn dải ô muốn đặt tên.
    Ví dụ: chọn dải ô B2:B20 chứa danh sách sản phẩm.

  2. Nhấp vào Name Box.
    Đặt con trỏ vào ô hiển thị địa chỉ ô hiện tại.

  3. Nhập tên cho dải ô.
    Gõ tên muốn đặt, ví dụ ProductList, và nhấn Enter.

Lưu ý: Tên không được chứa khoảng trắng, ký tự đặc biệt (trừ dấu gạch dưới _), và không bắt đầu bằng số. Ví dụ hợp lệ: Sales_2023, RegionTotal.

  1. Kiểm tra lại.
    Khi di chuyển đến một ô bất kỳ và nhập =ProductList trong công thức, Excel sẽ tự động thay thế bằng dải ô đã đặt tên.

2.2. Tạo Name Range bằng công cụ “Define Name”

Nếu bạn muốn có nhiều tùy chọn hơn (như phạm vi toàn cục, mô tả, hoặc công thức động), công cụ Define Name là lựa chọn hoàn hảo.

Các bước thực hiện:

  1. Vào thẻ “Formulas” (Công thức) trên Ribbon.
  2. Nhấp vào “Define Name” (Định nghĩa tên) trong nhóm “Defined Names”.
  3. Hộp thoại “New Name” (Tên mới) xuất hiện. Bạn sẽ thấy các trường sau:
  4. Name: Nhập tên muốn tạo (ví dụ: Revenue_Q1).
  5. Scope: Chọn phạm vi áp dụng (Workbook – toàn bộ sổ làm việc, hoặc một Sheet cụ thể). Nếu bạn muốn sử dụng tên này trong mọi sheet, chọn “Workbook”.
  6. Comment (tùy chọn): Thêm mô tả cho tên, giúp người dùng khác hiểu mục đích.
  7. Refers to: Nhập địa chỉ ô hoặc công thức. Bạn có thể click vào biểu tượng mũi tên ở bên phải để chọn dải ô trực tiếp trên sheet.
  8. Nhấn “OK”.

Sau khi tạo, bạn có thể sử dụng tên này trong công thức, biểu đồ, hoặc các tính năng khác.

2.3. Tạo Name Range nhanh bằng phím tắt “Ctrl + F3”

Phím tắt Ctrl + F3 mở hộp thoại Name Manager, nơi bạn có thể tạo, chỉnh sửa và xóa các tên đã định nghĩa.

Các bước thực hiện:

  1. Nhấn Ctrl + F3 → mở Name Manager.
  2. Nhấn New (Mới) → mở hộp thoại “New Name”.
  3. Nhập các thông tin tương tự như trong phần “Define Name” (tên, phạm vi, mô tả, địa chỉ).
  4. Nhấn OK → đóng hộp thoại.

2.4. Tạo Name Range từ công thức trong thanh công thức

Bạn cũng có thể tạo một Name Range động bằng cách nhập công thức trong thanh công thức. Đây là cách hữu ích khi dải ô thay đổi kích thước tự động dựa trên dữ liệu.

Ví dụ: Tạo một tên DynamicSales phản ánh tất cả các ô trong cột C có dữ liệu, bắt đầu từ C2.

  1. Vào Formulas → Define Name → nhập tên DynamicSales.
  2. Trong trường Refers to, nhập công thức:

excel =OFFSET(Sheet1!$C$2,0,0,COUNTA(Sheet1!$C:$C)-1,1)

  • OFFSET tạo một dải ô bắt đầu từ C2.
  • COUNTA đếm số ô không rỗng trong cột C, trừ đi tiêu đề.

  • Nhấn OK.

Bây giờ, khi bạn thêm dữ liệu mới vào cột C, DynamicSales sẽ tự động mở rộng để bao gồm các ô mới.

3. Quản lý Name Range: Name Manager

Khi làm việc với một bảng tính lớn, bạn sẽ nhanh chóng tạo ra nhiều tên. Để duy trì sự gọn gàng và tránh trùng lặp, Excel cung cấp Name Manager – công cụ trung tâm để quản lý tất cả các tên đã định nghĩa.

3.1. Mở Name Manager

  • Mở trực tiếp: Formulas → Name Manager.
  • Phím tắt: Ctrl + F3.

3.2. Các chức năng chính trong Name Manager

Nút/Thao tácMô tả
NewTạo tên mới.
EditSửa tên, phạm vi, mô tả hoặc công thức.
DeleteXóa tên đã chọn.
FilterLọc danh sách tên theo sheet hoặc trạng thái.
CloseĐóng hộp thoại.

3.3. Thực hành: Sửa đổi một Name Range

Giả sử bạn đã tạo tên Sales2022 trỏ tới dải D2:D100, nhưng bây giờ dữ liệu đã mở rộng tới D150.

  1. Mở Name Manager (Ctrl + F3).
  2. Chọn Sales2022 → nhấn Edit.
  3. Thay đổi Refers to thành =Sheet1!$D$2:$D$150.
  4. Nhấn OK → thay đổi sẽ có hiệu lực ngay lập tức trong các công thức sử dụng Sales2022.

3.4. Kiểm tra các tên trùng lặp và lỗi

Trong Name Manager, các tên được liệt kê cùng với Scope, Refers to, và Comment. Nếu có tên trùng nhau ở các sheet khác nhau, Excel sẽ hiển thị chúng riêng biệt. Bạn nên:

  • Kiểm tra Scope: Đảm bảo tên toàn cục (Workbook) không bị ghi đè bởi tên cùng tên ở sheet cụ thể.
  • Kiểm tra Refers to: Nếu một tên trỏ tới một vùng không tồn tại (ví dụ, sau khi xóa sheet), Excel sẽ thông báo lỗi #REF!. Bạn nên sửa lại hoặc xóa bỏ.

4. Các loại Name Range và cách áp dụng thực tế

4.1. Name Range tĩnh (Static)

  • Định nghĩa: Dải ô cố định, không thay đổi khi dữ liệu thay đổi.
  • Ví dụ: TaxRate = $B$2 (giá trị thuế cố định).
  • Ứng dụng: Tham chiếu tới các hằng số, ngày tháng cố định, hoặc bảng dữ liệu không thay đổi.

4.2. Name Range động (Dynamic)

  • Định nghĩa: Dải ô tự động mở rộng hoặc thu hẹp dựa trên dữ liệu.
  • Công thức thường dùng: OFFSET, INDEX, COUNTA, MATCH, INDIRECT.
  • Ví dụ:

excel =OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1)

Tên này sẽ luôn bao gồm tất cả các ô trong cột A bắt đầu từ A2, trừ ô tiêu đề.

  • Ứng dụng: Tạo danh sách kéo xuống (Drop‑down) tự động cập nhật, biểu đồ động, hoặc bảng tính tài chính có dữ liệu thay đổi thường xuyên.

4.3. Name Range dựa trên công thức (Formula‑based)

Bạn có thể định nghĩa một tên không phải là dải ô mà là công thức tính toán. Khi sử dụng tên này trong công thức, Excel sẽ tự động tính toán giá trị.

Ví dụ: Định nghĩa tên TotalRevenue với công thức:

=SUM(Sheet1!$C$2:$C$100)

Sau khi tạo, khi bạn nhập =TotalRevenue trong bất kỳ ô nào, Excel sẽ trả về tổng doanh thu.

4.4. Name Range cho bảng (Table) và cấu trúc dữ liệu

Create Name Range In Excel
Create Name Range In Excel

Khi bạn chuyển một dải ô thành Table (Ctrl + T), Excel tự động tạo ra các structured references. Bạn cũng có thể gán tên cho toàn bộ Table:

  1. Chọn bảng → Table Design (hoặc Table Tools).
  2. Trong nhóm Properties, nhập tên mới vào ô Table Name (ví dụ tblSales).

Sau đó, bạn có thể tham chiếu tới cột trong bảng bằng cú pháp:

=SUM(tblSalesRevenue)

Tên bảng này cũng là một dạng Name Range, nhưng nó mang tính cấu trúc và linh hoạt hơn.

5. Ứng dụng Name Range trong các tình huống thực tế

5.1. Tạo Drop‑Down List tự động cập nhật

  1. Bước 1: Tạo một Name Range động cho danh sách.
    excel =OFFSET(Sheet1!$E$2,0,0,COUNTA(Sheet1!$E:$E)-1,1)
    Đặt tên CategoryList.

  2. Bước 2: Chọn ô muốn có danh sách thả xuống → Data → Data Validation.

  3. Trong Allow, chọn List và nhập công thức:

excel =CategoryList

Khi bạn thêm mục mới vào cột E, danh sách thả xuống sẽ tự động hiện mục mới mà không cần chỉnh sửa lại Data Validation.

5.2. Tạo biểu đồ động (Dynamic Chart)

  1. Định nghĩa Name Range cho trục X và Y:

  2. Chart_X = OFFSET(Sheet1!$A$2,0,0,COUNTA(Sheet1!$A:$A)-1,1)

  3. Chart_Y = OFFSET(Sheet1!$B$2,0,0,COUNTA(Sheet1!$B:$B)-1,1)

  4. Chọn Insert → Chart → tạo biểu đồ trống.

  5. Click vào biểu đồ → Select Data → Edit Series.
  6. Series X values: =Sheet1!Chart_X
  7. Series Y values: =Sheet1!Chart_Y

Biểu đồ sẽ tự động mở rộng khi bạn nhập dữ liệu mới vào cột A và B.

5.3. Sử dụng Name Range trong công thức tài chính

Giả sử bạn có các tham số tài chính:

TênVị trí
InterestRateB2
LoanAmountB3
MonthsB4

Bạn có thể định nghĩa các tên này và sau đó viết công thức tính tiền trả hàng tháng:

=PMT(InterestRate/12, Months, -LoanAmount)

Nếu muốn thay đổi lãi suất, chỉ cần cập nhật ô B2, mọi công thức liên quan sẽ tự động cập nhật.

5.4. Kiểm soát quyền truy cập bằng Name Range

Trong một workbook chia sẻ, bạn có thể ẩn các dải dữ liệu nhạy cảm bằng cách đặt tên, sau đó sử dụng Data Validation hoặc Conditional Formatting để chỉ cho phép người dùng nhập dữ liệu vào những vùng được đặt tên.

6. Lưu ý và quy tắc đặt tên Name Range

Quy tắcMiêu tảVí dụ hợp lệVí dụ không hợp lệ
Không chứa dấu cáchDùng dấu gạch dưới _ hoặc không dùng dấu nào.Sales_TotalSales Total
Không bắt đầu bằng sốTên phải bắt đầu bằng chữ hoặc dấu gạch dưới._2023Sales (được phép)2023Sales
Không dùng ký tự đặc biệtChỉ cho phép chữ, số và dấu gạch dưới.Region_1Region-1
Không trùng tên hàm ExcelTránh đặt tên trùng với hàm tích hợp (SUM, IF, …).MySumSUM
Độ dài tối đa 255 ký tựĐảm bảo tên ngắn gọn, dễ nhớ.MonthlyRevenue2023_Q1(quá dài)
Phạm vi (Scope) hợp lýChọn Workbook nếu muốn dùng toàn cục, Sheet nếu chỉ dùng trong một sheet.TotalSales (Workbook)TotalSales (Sheet) nếu cần toàn cục

7. Xóa và làm sạch Name Range không còn dùng

Khi một workbook được sử dụng lâu dài, sẽ có nhiều tên không còn cần thiết. Để dọn dẹp:

  1. Mở Name Manager (Ctrl + F3).
  2. Kiểm tra cột Refers to để xem các tên trỏ tới #REF! hoặc dải ô không còn tồn tại.
  3. Chọn các tên không cần → nhấn Delete → xác nhận.

Bạn cũng có thể sử dụng Macro VBA để tự động xóa các tên rỗng:

Sub DeleteUnusedNames() Dim n As Name For Each n In ThisWorkbook.Names If InStr(1, n.RefersTo, "#REF!") > 0 Then n.Delete Next n
End Sub

Chạy macro này sẽ loại bỏ tất cả các tên có tham chiếu lỗi.

8. Sử dụng Name Range trong VBA

Trong lập trình VBA, Name Range giúp mã nguồn gọn gàng và dễ bảo trì.

8.1. Truy cập Name Range từ VBA

Sub ExampleUsingName() Dim rng As Range Set rng = ThisWorkbook.Names("ProductList").RefersToRange MsgBox "Số lượng sản phẩm: " & rng.Count
End Sub

8.2. Tạo Name Range bằng VBA (tự động)

Sub CreateDynamicName() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Data") Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ThisWorkbook.Names.Add Name:="DynamicData", _ RefersTo:=ws.Range("A2:A" & lastRow)
End Sub

8.3. Thay đổi phạm vi của Name Range trong VBA

Sub UpdateNameRange() Dim nm As Name Set nm = ThisWorkbook.Names("Sales2022") nm.RefersTo = "=Sheet1!$D$2:$D$150"
End Sub

Nhờ VBA, bạn có thể tự động tạo hoặc cập nhật tên dựa trên logic nghiệp vụ, giảm thiểu công việc thủ công.

9. Một số mẹo nâng cao và “thủ thuật” thông minh

9.1. Sử dụng INDIRECT để tham chiếu tới Name Range dựa trên giá trị ô

Giả sử ô G1 chứa tên của một Name Range (ví dụ Q1_Sales). Bạn có thể tham chiếu tới dải ô này bằng:

=SUM(INDIRECT(G1))

Điều này cho phép người dùng lựa chọn dữ liệu muốn tính tổng thông qua một danh sách thả xuống.

9.2. Sử dụng GETPIVOTDATA kết hợp với Name Range

Nếu bạn có PivotTable và muốn trích xuất dữ liệu dựa trên tên, bạn có thể đặt tên cho các trường Pivot và sử dụng:

=GETPIVOTDATA("Sales", $A$3, "Region", RegionName)

Trong đó RegionName là một Name Range chứa tên khu vực.

9.3. Định dạng có điều kiện dựa trên Name Range

Bạn có thể áp dụng Conditional Formatting cho một dải ô dựa trên một tên:

  1. Chọn dải ô → Home → Conditional Formatting → New Rule.
  2. Chọn “Use a formula to determine which cells to format”.
  3. Nhập công thức, ví dụ:

excel =COUNTIF(HighRiskList, A2)>0

Trong đó HighRiskList là một Name Range chứa các giá trị “rủi ro cao”.

  1. Chọn định dạng (màu nền đỏ, …) → OK.

Các ô có giá trị nằm trong danh sách HighRiskList sẽ tự động được tô màu.

9.4. Sử dụng Name Range trong Power Query

Khi tải dữ liệu từ Power Query, bạn có thể truyền tham số từ Excel bằng cách sử dụng Named Range:

  1. Định nghĩa một tên, ví dụ StartDate.
  2. Trong Power Query, vào Home → Advanced Editor và sử dụng:

m let StartDate = Excel.CurrentWorkbook(){Name="StartDate"}Content{0}Column1, Source = Sql.Database("Server", "Database", Query="SELECT FROM Sales WHERE SaleDate >= '" & Date.ToText(StartDate) & "'") in Source

Khi người dùng thay đổi giá trị trong ô StartDate, truy vấn sẽ tự động cập nhật (khi refresh).

10. Tổng kết

Việc tạo và quản lý Name Range trong Excel không chỉ là một kỹ năng “đẹp mắt” mà còn là nền tảng để xây dựng các mô hình dữ liệu chuyên nghiệp, giảm thiểu lỗi và tăng tốc độ làm việc. Từ các bước cơ bản như sử dụng Name Box, đến các kỹ thuật nâng cao như Name Range động, tích hợp VBA, Power Query, hay Conditional Formatting, bạn có thể:

  • Tăng tính đọc hiểu cho công thức và bảng tính.
  • Tự động hoá việc mở rộng dải dữ liệu khi thêm mới.
  • Tạo biểu đồ và báo cáo động mà không cần chỉnh sửa thủ công.
  • Tiết kiệm thời gian trong việc bảo trì và chia sẻ workbook.

Hãy bắt đầu áp dụng những kiến thức này ngay trong dự án hiện tại của bạn. Khi đã quen thuộc, bạn sẽ thấy Excel trở thành một công cụ mạnh mẽ, linh hoạt và thực sự “thông minh” hơn rất nhiều. Chúc bạn thành công!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận