Hỏi đáp về Name trong Excel

Liên hệ QC

tigertiger

Coming back ...
Tham gia
25/1/07
Bài viết
1,911
Được thích
1,866
Hiện đã có nhiều bài viết về name nằm rải rác trên diễn đàn , nhưng chưa có bài nào tổng quan vể name, tigertiger xin tổng kết về Name từ A…X (chắc ko dám đến Z) trong excel, tài liệu được sưu tầm:
+ trên Internet

+ Kinh nghiệm thực tiễn của tigeritger, cùng với help của Microsoft,

+ kiến thức rải rác trên GPE (xin cám ơn các thành viên có nội dung tham chiếu ở đây - tigertiger sẽ cố gắng ghi đầy đủ các tham chiếu ở những nơi sử dụng nguồn tài liệu - nếu do sở suất mong được bỏ qua)


bao gồm một số vấn đề sau sẽ được bàn tới:
  • Giới thiệu
  • Định nghĩa Name
  • Sử dụng Names
  • Địa chỉ tĩnh và động của Names
  • Tầm vực hoạt động của Name
  • Những Names đặc biệt
  • Sử dụng công thức, hàm trong Định nghĩa Name
  • Name động
  • XL4 macro function trong Names
……
Tổng quan Name trong Excel

1.Giới thiệu


Trong Excel ta có thể đặt tên (Name - từ đây được gọi là Name) cho vùng, khi đó ta có thể sử dụng Name này thay cho địa chỉ tham chiếu đến vùng đó. Nói chung, 1 cái Name sẽ dễ gợi nhớ, ý nghĩa và dễ sử dụng hơn là địa chỉ của vùng (là địa chỉ của ô bắt đầu và ô cuối của vùng)

Sử dụng Name sẽ có lợi ích đúp, đó là: (i) Các vùng được đặt tên dễ dàng cho việc tìm kiếm, (ii) Các công thức sẽ trông đơn giản và tiện lợi cho việc hiệu chính chúng dù có tham chiếu dữ liệu ở nhiều sheet khác nhau.

Hơn nữa, một số công việc trong excel chỉ có thể đạt được khi sử dụng Name. và nhiều công việc sẽ đơn giản và khả thi hơn khi sử dụng định nghĩa Name so với sử dụng địa chỉ vùng. Bởi vì ta có thể đặt 1 công thức vào Name -> điều này mở ra một lĩnh vực ứng dụng lớn.

Thêm vào đó, thậm chí chúng ta có thể kết hợp các hàm Macro 4 (macro của excel 4 còn gọi XL4) vào trong định nghĩa tên. Điều này giúp chúng ta có thể thực hiện mọi việc mà VBA có thể thực hiện.

xem tiếp
2. Định nghĩa Name
 
Lần chỉnh sửa cuối:
2. Định nghĩa Names

2. Định nghĩa Names

Có nhiều cách chúng ta có đặt tên cho 1 vùng trong Excel

(1) Thứ nhất là sử dụng Name box ở trên thanh công vụ công thức (formula bar), ở ngay bên trái (xem hình dưới):
- Định nghĩa tên cho vùng
+ Chọn vùng muốn đặt tên
+ Gõ tên vào NameBox rồi bấm Enter để xác nhận

- Sử dụng truy vấn Name: Khi vùng chọn của ta đã có tên thì tại Name Box sẽ hiện Name của vùng đó trái lại nó sẽ hiện địa chỉ của ô đầu tiên của vùng chọn. Và ngược lại với phương pháp này: khi một Name đã tồn tại thì Excel thay vì gán Name cho vùng đang chọn (selection) sẽ chuyển lựa chọn Vùng đã được định nghĩa Name đó. Vì thế Name Box còn được dùng để chọn một Name đã tồn tại bằng cách: bấm vào nút xổ xuống (dropdown) có hình tam giác màu đen ở ngay lề phải Name Box rồi chọn name đó rồi bấm Enter

H1.jpg

[FONT=&quot]Hình 1: Name Box đang hi[/FONT]ển thị địa chủ

(2) Một cách nhanh khác để định nghĩa 1 loạt Name lấy từ tiêu đề của hàng / cột của 1 bảng (vùng) đại diện cho vùng hàng/cột này. Xem bảng ở hình 2

[FONT=&quot]
H2.jpg

[/FONT]
[FONT=&quot]Hình 2: Vùng ô có tiêu đ[/FONT]ề hàng, cột
Lựa chọn toàn bộ Vùng bảng này cả nội dung và tiêu đề ($A$1:$D$4), rồi vào Insert \ Name \ Create … xuất hiện hộp thoại (như hình 3). Với lựa chọn như hình -> 7 Name sẽ định nghĩa luôn:

[FONT=&quot]
h3.jpg

[/FONT]
[FONT=&quot]Hình 3: H[/FONT]ộp thoại Create Name

Kết quả như sau:
được 7 tên luôn bao gồm (xem trong Insert \ Name \ Define ...),
h3a.jpg


Cụ thể như sau:
h3b.jpg


(3)
Định nghĩa tên thông qua giao tiếp với người sử dụng: lựa chọn vùng cần đặt tên -> Insert \ Name \ Define (từ thanh menu chính) – xem Hình 4;, rồi gõ tên muốn đặt -> bấm Add

[FONT=&quot]
h4.jpg

[/FONT]
Hình 4: Hộp thoại Định nghĩa Name (Define Name)


xem tiếp

3. Sử dụng Name
 
Lần chỉnh sửa cuối:
Dear all,
-------
Chủ đề này là "Tổng quan Name trong Excel" nên các bạn vui lòng đặt câu hỏi tại chủ đề khác để mọi người đọc tập trung vào chủ đề chính!

Những bài lạc đề sẽ bị xoá!

Dear TigerTiger,
---------------
- Rất mong các bài viết bổ ích của anh, nhưng theo em nên chăng trước tiên mất công tổng hợp "các bài viết nằm rải rác" đó lại (chỉ cần giới thiệu tóm tắt và kèm link cũng được) rồi thấy cần phải bổ sung phần nào sẽ viết thêm trong chủ đề này!
- Hình trong bài 2 của anh bị mất link, em không nhìn thấy được(?)
- Em thấy chủ đề này bị "phân mảnh" do nhiều người "chọt" quá, cố gắng để close topic thôi! Nếu anh không tiếp tục được em sẽ sửa lại chủ đề "Hỏi đáp về Name" để ai cũng vào hỏi nhé!!$@!!
 
Lần chỉnh sửa cuối:
Tôi là thành viên mới muốn các bạn chỉ giáo về việc sử dụng các tính năng của Name .
Tôi có 1 file theo dõi dịch vụ khách hàng sử dụng trong tháng , mỗi sheet là 1 ngày và 1 sheet tổng hợp.Nghĩa là ngày nào tôi cũng làm việc với 1 sheet (ngày).Tôi có thể mô tả file của tôi :
Hàng ngang ( A,B,C.....) là các dịch vụ
Hàng dọc : từ 5- 20 là khách hàng thường xuyên .Từ 25-35 là khách vàng; Từ 40 - 50 là khách dùng thẻ..... Nghĩa là tôi luôn luôn phải sử dụng chuột để cuộn đến vị trí cần tìm .Tôi có sử dụng Name nhưng khi tôi chọn vùng ở sheet 1 và gán name cho các vị trí và cũng lặp lại những động tác đó khi ở sheet 2 thì nó vẫn hiểu là là vị trí đấy ở sheet 1 , nghĩa là đặt name giữa các sheet không độc lập với nhau. nếu phải sửa lại name để gán cho từng vùng riêng ( VD như Khách vàng 15 cho ngày thứ 15) thì số name định nghĩa sẽ quá nhiều vì có tới 32 sheet.Vậy có cách nào để tôi đặt name độc lập cho từng sheet không.Mong các bác hướng dẫn kỹ 1 chút , vì tôi là dân ngoại đạo.cảm ơn nhiều
 
Về việc dùng name trong hàm match
Mình gặp vấn đề khi đưa vùng tìm kiếm vào hàm Match bằng một Name, tên của name đó lại được tìm bằng hàm Vlookup nên chưa làm được. Mong các bạn đã biết giúp mình. Xin cám ơn!
 

File đính kèm

  • Chon day cap dien.xlsx
    169.7 KB · Đọc: 242
các bạn ơi cho mình hỏi xíu!sao cái file excell cua mình dang làm ngon lành thì hôm nay tự nhiên mở ra các dèine name của mình nó mất hết tiu !mình chưa phuc hồi lại được xin các bạn giúp đỡ dùm
Untitled.jpgxin cảm ơn
 
bác tiger ơi, bác viết nốt các nội dung khác như phần tổng hợp trên đầu ấy được không. em đang rất cần
Many thank bác
 
Bác tiger ơi, cho em hỏi: Trong file excel em đã có một name (ví dụ là m), khi em gọi trong bất cứ ô nào với lệnh =m đều có được kết quả là (ví dụ: 192). Vậy làm sao em tìm đươc nguồn của tên m là 192 ở đâu? em muốn hiệu chỉnh con số này nhưng không biết nó nằm ở đâu trong file excel để hiệu chỉnh cả, Bác chỉ giúp em sớm với được không? cảm ơn Bác nhiều!
 
Bác tiger ơi, cho em hỏi: Trong file excel em đã có một name (ví dụ là m), khi em gọi trong bất cứ ô nào với lệnh =m đều có được kết quả là (ví dụ: 192). Vậy làm sao em tìm đươc nguồn của tên m là 192 ở đâu? em muốn hiệu chỉnh con số này nhưng không biết nó nằm ở đâu trong file excel để hiệu chỉnh cả, Bác chỉ giúp em sớm với được không? cảm ơn Bác nhiều!
Bạn nhấn Ctr+F3, tìm name có tên là m, sau đó sẽ thấy "nguồn" của nó.
 
Các bạn cho mình hỏi có cách nào tạo một name ở một file thì các file khác củng dùng chung được name đó, ví dụ tạo name có tên giagoc ở file A để dùng cho hàn vlookup,thì ở file B, file C, file D khi dùng hàm vloookup chỉ cần gỏ công thức bảng có tên là giagoc thì vẩn dùng được bình thường như ở tại file A.
 
Các bạn cho mình hỏi có cách nào tạo một name ở một file thì các file khác củng dùng chung được name đó, ví dụ tạo name có tên giagoc ở file A để dùng cho hàn vlookup,thì ở file B, file C, file D khi dùng hàm vloookup chỉ cần gỏ công thức bảng có tên là giagoc thì vẩn dùng được bình thường như ở tại file A.

Đương nhiên được
Ví dụ:
Mã:
=VLOOKUP(Trị dò, 'Đường dẫn tới file A'!giagoc, 2, 0)
Mấy cái này bạn cứ thí nghiệm sẽ biết, cần gì hỏi
 
Đương nhiên được
Ví dụ:
Mã:
=VLOOKUP(Trị dò, 'Đường dẫn tới file A'!giagoc, 2, 0)
Mấy cái này bạn cứ thí nghiệm sẽ biết, cần gì hỏi

Em cám ơn anh đã hướng dẫn,em hỏi như thế là vì lần trước em có tạo một bảng ngaythang ở file thứ nhất thế mà khi dùng hàm vlookup ở những file khác em chỉ cần gỏ đúng tên bảng là ngaythang,không cần tạo đường dẫn vậy mà vẫn dùng được bình thường,còn lần này em tạo thêm file mới và bảng mới có tên giagoc thì ở các file củ không dùng được cách làm đơn giãn trên mà phải dùng theo cách của anh hướng dẫn, em không hiểu tại sao lại như vậy.
 
Em cám ơn anh đã hướng dẫn,em hỏi như thế là vì lần trước em có tạo một bảng ngaythang ở file thứ nhất thế mà khi dùng hàm vlookup ở những file khác em chỉ cần gỏ đúng tên bảng là ngaythang,không cần tạo đường dẫn vậy mà vẫn dùng được bình thường,còn lần này em tạo thêm file mới và bảng mới có tên giagoc thì ở các file củ không dùng được cách làm đơn giãn trên mà phải dùng theo cách của anh hướng dẫn, em không hiểu tại sao lại như vậy.

Có thể là tùy trường hợp: 2 file cùng mở có thể bạn không cần gõ đường dẫn và ngược lại
Tuy nhiên, cho dù trong trường hợp 2 file đang mở và bạn không cần gõ đường dẫn đầy đủ nhưng khi file nguồn đóng lại, công thức bạn vừa gõ sẽ tự điền đường dẫn vào thôi
 
Có thể là tùy trường hợp: 2 file cùng mở có thể bạn không cần gõ đường dẫn và ngược lại
Tuy nhiên, cho dù trong trường hợp 2 file đang mở và bạn không cần gõ đường dẫn đầy đủ nhưng khi file nguồn đóng lại, công thức bạn vừa gõ sẽ tự điền đường dẫn vào thôi

Ở trường hợp name ngaythang em mở cửa sổ Difine Name ở các file củ đều có name ngaythang và ở ô Refers to có đường dẫn từ file-sheet-name ở file em tạo, lạ thật trong khi name ngaythang em chỉ tạo ở một file thôi. Còn name giagoc em mới tạo sau ở file mới không tìm thấy trong Difine Name của các file củ, em không hiểu nổi sao cùng tạo name như nhau,một cái lại được tự gán name đầy đủ vào các file khác cái lại chỉ gán ở file mình tạo thôi.
 
Lần chỉnh sửa cuối:
Bác ndu96081631 cho em hỏi:
Muốn nhân, chia, cộng, trừ 1 name vào công thức ta làm thế nào?
Em làm thủ công nên chậm quá!
Cảm ơn nhiều.
 
Xin hỏi về cách đạt tên khối trong excel

Hiện đã có nhiều bài viết về name nằm rải rác trên diễn đàn , nhưng chưa có bài nào tổng quan vể name, tigertiger xin tổng kết về Name từ A…X (chắc ko dám đến Z) trong excel, tài liệu được sưu tầm:
+ trên Internet

+ Kinh nghiệm thực tiễn của tigeritger, cùng với help của Microsoft,

+ kiến thức rải rác trên GPE (xin cám ơn các thành viên có nội dung tham chiếu ở đây - tigertiger sẽ cố gắng ghi đầy đủ các tham chiếu ở những nơi sử dụng nguồn tài liệu - nếu do sở suất mong được bỏ qua)


bao gồm một số vấn đề sau sẽ được bàn tới:
  • Giới thiệu
  • Định nghĩa Name
  • Sử dụng Names
  • Địa chỉ tĩnh và động của Names
  • Tầm vực hoạt động của Name
  • Những Names đặc biệt
  • Sử dụng công thức, hàm trong Định nghĩa Name
  • Name động
  • XL4 macro function trong Names
……
Tổng quan Name trong Excel

1.Giới thiệu


Trong Excel ta có thể đặt tên (Name - từ đây được gọi là Name) cho vùng, khi đó ta có thể sử dụng Name này thay cho địa chỉ tham chiếu đến vùng đó. Nói chung, 1 cái Name sẽ dễ gợi nhớ, ý nghĩa và dễ sử dụng hơn là địa chỉ của vùng (là địa chỉ của ô bắt đầu và ô cuối của vùng)

Sử dụng Name sẽ có lợi ích đúp, đó là: (i) Các vùng được đặt tên dễ dàng cho việc tìm kiếm, (ii) Các công thức sẽ trông đơn giản và tiện lợi cho việc hiệu chính chúng dù có tham chiếu dữ liệu ở nhiều sheet khác nhau.

Hơn nữa, một số công việc trong excel chỉ có thể đạt được khi sử dụng Name. và nhiều công việc sẽ đơn giản và khả thi hơn khi sử dụng định nghĩa Name so với sử dụng địa chỉ vùng. Bởi vì ta có thể đặt 1 công thức vào Name -> điều này mở ra một lĩnh vực ứng dụng lớn.

Thêm vào đó, thậm chí chúng ta có thể kết hợp các hàm Macro 4 (macro của excel 4 còn gọi XL4) vào trong định nghĩa tên. Điều này giúp chúng ta có thể thực hiện mọi việc mà VBA có thể thực hiện.

xem tiếp
2. Định nghĩa Name
Xin hỏi bac tiger : Em có nhiều công thức trên cùng một bảng tính cùng truy cập về một vùng dữ liệu đã được đặt tên. xin hỏi làm thế nào để khi thay đổi vùng dữ liệu, tất cả các công thức trong bảng đều tự động thay đổi tên vùng theo mà không phải sửa trên từng công thức. Rất mong bác chỉ giáo. Xin cám ơn.
 
Xin hỏi bac tiger : Em có nhiều công thức trên cùng một bảng tính cùng truy cập về một vùng dữ liệu đã được đặt tên. xin hỏi làm thế nào để khi thay đổi vùng dữ liệu, tất cả các công thức trong bảng đều tự động thay đổi tên vùng theo mà không phải sửa trên từng công thức. Rất mong bác chỉ giáo. Xin cám ơn.
Người khác trả lời thay bác tiger được không bạn.
Bạn muốn thay đổi vùng dữ liệu hay sửa đổi tên vùng hay sửa đổi công thức trong name thì bạn nhấn Ctrl+F3 để vào cửa sổ quản lý Name để chỉnh sửa name.
 
Em có ý tường viết một sub để đặt tên nhanh cho một ô hay một vùng chọn như sau:
Khi mình chọn một ô nào đó trong Sheet rồi gán gọi Macro đặt tên này nó sẽ hiện ra bảng thoại để mình đặt tên và sau đó mình click ok là xong, thay vì rê chuột vào ô đặt tên,
Nhờ các anh chị hoàn thiện sub này giúp em với ạ.

Sub Dat_ten_nhanh()
Range("D7").Select
ActiveWorkbook.Names.Add Name:="Dat_ten", RefersToR1C1:="=Sheet1!R7C4"
ActiveWorkbook.Names("Dat_ten").Comment = ""
End Sub
 
Em có ý tường viết một sub để đặt tên nhanh cho một ô hay một vùng chọn như sau:
Khi mình chọn một ô nào đó trong Sheet rồi gán gọi Macro đặt tên này nó sẽ hiện ra bảng thoại để mình đặt tên và sau đó mình click ok là xong, thay vì rê chuột vào ô đặt tên,
Nhờ các anh chị hoàn thiện sub này giúp em với ạ.

Sub Dat_ten_nhanh()
Range("D7").Select
ActiveWorkbook.Names.Add Name:="Dat_ten", RefersToR1C1:="=Sheet1!R7C4"
ActiveWorkbook.Names("Dat_ten").Comment = ""
End Sub
Mã:
Sub Dat_ten_nhanh()
On Error Resume Next
ThisWorkbook.Names("Dat_ten").Delete
ThisWorkbook.Names.Add Name:="Dat_ten", RefersTo:="=" & ActiveSheet.CodeName & "!" & Selection.Address
End Sub
Sub Dat_ten_cham()
Dim s$
s = InputBox("Enter name of selection", "GPE")
If s = "" Then End
On Error Resume Next
ThisWorkbook.Names(s).Delete
ThisWorkbook.Names.Add Name:=s, RefersTo:="=" & ActiveSheet.CodeName & "!" & Selection.Address
End Sub
 
Em có sủ dụng code Dat_ten_cham khi chạy Macro có hiện lên hôp thoại đề điền tên name vào, nhấn ok nhưng không thấy đặt được tên, nhờ anh kiểm tra lại giúp em với ạ.

Mã:
Sub Dat_ten_nhanh()
On Error Resume Next
ThisWorkbook.Names("Dat_ten").Delete
ThisWorkbook.Names.Add Name:="Dat_ten", RefersTo:="=" & ActiveSheet.CodeName & "!" & Selection.Address
End Sub
Sub Dat_ten_cham()
Dim s$
s = InputBox("Enter name of selection", "GPE")
If s = "" Then End
On Error Resume Next
ThisWorkbook.Names(s).Delete
ThisWorkbook.Names.Add Name:=s, RefersTo:="=" & ActiveSheet.CodeName & "!" & Selection.Address
End Sub
 
Web KT
Back
Top Bottom