Menu

Lỗi #NAME? trong Excel: nguyên nhân và cách sửa từng lỗi

#NAME? nghĩa là Excel không nhận ra một từ trong công thức: tên hàm gõ sai như =SUMM(B2:B6), văn bản thiếu dấu ngoặc kép, vùng thiếu dấu hai chấm, tên chưa được định nghĩa, hoặc hàm mà phiên bản Excel của bạn chưa có.

Mọi bảng tính trên trang này đều trực tiếp: đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

#NAME? nghĩa là Excel không nhận ra một từ trong công thức của bạn. Thường gặp nhất là gõ sai tên hàm: =SUMM(B2:B6) thay vì =SUM(B2:B6). Các nguyên nhân còn lại là văn bản thiếu dấu ngoặc kép, vùng thiếu dấu hai chấm, tên chưa từng được định nghĩa, và hàm mà phiên bản Excel của bạn chưa có.

Gõ sai tên hàm
D2
ABCDE
1ProductPriceTotalLookup
2Apple1.2#NAME?#NAME?
3Pear1.5
4Plum0.8
5Bread2.4
6Milk1.1
#NAME? Excel không nhận ra một tên trong công thức này. Kiểm tra chính tả tên hàm.

Bấm vào D2 và sửa SUMM thành SUM: tổng hiện ra (7). Sau đó sửa VLOKUP ở E2 thành VLOOKUP, và công thức trả về giá của Pear, 1.5.

Một mẹo để nhanh chóng phát hiện lỗi gõ trong Excel: gõ tên hàm bằng chữ thường. Khi bạn nhấn Enter, Excel đổi các tên nó biết thành chữ hoa (=sum(b2:b6) thành =SUM(B2:B6)). Tên nào vẫn giữ chữ thường là tên Excel không biết. Chọn hàm từ danh sách hiện ra khi gõ (nhấn Tab để chèn) giúp tránh phần lớn lỗi gõ.

Lỗi #NAME? trong công thức IF: văn bản thiếu dấu ngoặc kép

Văn bản trong công thức phải nằm trong cặp ngoặc kép thẳng. Thiếu chúng, Excel đọc Pass thành tên của một thứ gì đó và không tìm thấy.

Văn bản cần dấu ngoặc kép
C2
ABCD
1StudentScoreWithout quotesWith quotes
2Ana72#NAME?Pass
3Ben45Fail
4Cy88Pass
5Dee50Pass
#NAME? Excel không nhận ra một tên trong công thức này. Kiểm tra chính tả tên hàm.

C2 hiện #NAME?. D2 có cùng công thức nhưng có dấu ngoặc kép và chạy đúng với mọi học sinh. Quy tắc này cũng áp dụng cho điều kiện dạng văn bản: =COUNTIF(A2:A6,North) báo #NAME?, còn =COUNTIF(A2:A6,"North") đếm được. Số, tham chiếu ô và TRUE/FALSE không bao giờ cần ngoặc kép (xem hàm IF).

Dấu ngoặc cong cũng gây ra lỗi tương tự. Công thức sao chép từ trang web, email hay Word thường có “Pass” thay vì "Pass". Excel không coi dấu ngoặc cong là dấu ngoặc kép:

=IF(B2>=50,“Pass”,“Fail”)    #NAME?
=IF(B2>=50,"Pass","Fail")    Pass

Xóa từng dấu ngoặc cong và gõ lại trong Excel.

Vùng thiếu dấu hai chấm

B2B6 không phải là một vùng mà là một từ, và Excel đi tìm một tên gọi là B2B6.

Dấu hai chấm giữa hai ô
D2
ABCD
1MonthSalesTotal
2Jan120#NAME?
3Feb95
4Mar140
5Apr110
#NAME? Excel không nhận ra một tên trong công thức này. Kiểm tra chính tả tên hàm.

Bấm vào D2, thêm dấu hai chấm để công thức thành =SUM(B2:B5), và kết quả là 465.

Tên chưa từng được định nghĩa

Công thức có thể dùng một tên như TaxRate thay cho một ô, nhưng chỉ sau khi tên đó đã tồn tại. Nếu tên chưa từng được tạo, đã bị xóa hoặc được viết khác đi, công thức trả về #NAME?.

Tên chưa định nghĩa và tham chiếu ô
C2
ABCDEF
1ItemPriceWith a nameWith a cellTax rate
2Desk240#NAME?28820%
3Chair85102
4Lamp4048
#NAME? Excel không nhận ra một tên trong công thức này. Kiểm tra chính tả tên hàm.

C2 tham chiếu tới TaxRate, một tên không có trong workbook này. D2 trỏ tới F2 thay vào đó và chạy đúng: 288 cho chiếc bàn. Dấu $ giữ F2 cố định khi kéo công thức xuống.

Để tạo tên trong Excel, chọn F2, gõ TaxRate vào Name Box (ô nằm trên cột A, ngay trước thanh công thức) rồi nhấn Enter, hoặc dùng Formulas > Define Name. Formulas > Name Manager liệt kê mọi tên trong workbook, nơi mỗi tên trỏ tới, và cả những tên đang trỏ tới #REF! vì ô của chúng đã bị xóa. Một tên còn có phạm vi: tên chỉ định nghĩa cho Sheet1 sẽ cho ra #NAME? trên Sheet2.

Hàm quá mới so với phiên bản Excel của bạn

Excel hiện #NAME? với bất kỳ hàm nào nó không có. Tệp vẫn mở bình thường, nhưng mọi công thức dùng hàm mới hơn đều lỗi. Trên thanh công thức, Excel 2019 trở về trước hiển thị các hàm đó với tiền tố _xlfn.:

=_xlfn.XLOOKUP(E2,A2:A6,B2:B6)      #NAME? in Excel 2019
=INDEX(B2:B6,MATCH(E2,A2:A6,0))     works in every version
HàmCần
IFS, SWITCH, MAXIFS, MINIFS, CONCAT, TEXTJOINExcel 2019 trở lên
XLOOKUP, XMATCH, FILTER, UNIQUE, SORT, SORTBY, SEQUENCE, LETExcel 2021 hoặc Microsoft 365
TEXTSPLIT, TEXTBEFORE, TEXTAFTER, VSTACK, HSTACK, TAKE, DROPExcel 2024 hoặc Microsoft 365
REGEXTEST, REGEXEXTRACT, GROUPBY, PIVOTBYChỉ Microsoft 365

Nếu người mở tệp của bạn dùng Excel cũ hơn, hãy dùng các hàm cũ, hoặc gửi kết quả dưới dạng giá trị (Copy, rồi Home > Paste > Values). Excel bản web có những hàm mới nhất. Google Sheets biết phần lớn các hàm này với cùng tên. Hàm từ add-in (EUROCONVERT của Euro Currency Tools, hay add-in riêng của công ty) cũng cho ra #NAME? khi add-in chưa được bật: bật nó trong File > Options > Add-ins (trên Mac là Tools > Excel Add-ins).

Sửa hàm COUNTIF đang báo #NAME?

Đếm các đơn hàng North
E2
ABCDE
1OrderRegionAmountNorth orders
21001North250
31002South120
41003East310
51004North90
61005North140
71006West75
Bấm vào một ô để xem công thức. Đổi một số hoặc công thức, bảng tính sẽ tự tính lại.

Đến lượt bạn: Công thức =COUNTIF(B2:B7,North) trả về #NAME? vì North không có dấu ngoặc kép. Viết một phiên bản chạy đúng trong E2 để đếm các đơn hàng North.

Khi văn bản cần đếm nằm trong một ô, hãy tham chiếu tới ô đó và bỏ dấu ngoặc kép: =COUNTIF(B2:B7,G1) với North trong G1. Tham chiếu không bao giờ cần ngoặc kép, và công thức vẫn chạy đúng khi G1 thay đổi.

Câu hỏi thường gặp

Lỗi #NAME? trong Excel nghĩa là gì?

Excel gặp một từ trong công thức không phải là hàm, tên đã định nghĩa hay tham chiếu ô. Nguyên nhân thường gặp là gõ sai tên hàm (=SUMM(B2:B6)), văn bản thiếu dấu ngoặc kép (=IF(B2>50,Pass,Fail)) và dùng hàm mà phiên bản Excel đang cài chưa có.

Vì sao XLOOKUP bị lỗi #NAME? trong Excel?

XLOOKUP cần Excel 2021 hoặc Microsoft 365. Excel 2019 trở về trước không biết hàm này, sẽ hiện #NAME? và hiển thị công thức thành =_xlfn.XLOOKUP(...). Trên các bản đó, hãy dùng =INDEX(C2:C6,MATCH(E2,A2:A6,0)) thay thế.

Vì sao công thức đúng mà vẫn bị lỗi #NAME?

Hãy tìm các dấu ngoặc kép được sao chép từ trang web hay trình soạn thảo văn bản. Dấu ngoặc cong như “Pass” không được Excel coi là dấu bao văn bản, nên từ ở giữa bị đọc thành một tên. Gõ lại dấu ngoặc trong Excel thành ngoặc thẳng "Pass".

Làm sao tìm mọi lỗi #NAME? trong một workbook?

Nhấn Ctrl+G (trên Mac là Control+G), bấm Special, chọn Formulas, chỉ để lại dấu chọn ở Errors rồi bấm OK. Excel chọn mọi ô công thức đang có lỗi trên trang tính hiện tại; lặp lại với từng trang tính. Formulas > Name Manager > Filter > Names with Errors liệt kê các tên đã định nghĩa không còn hoạt động.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học lập trình cùng Coddy

Bắt đầu