Có thể bạn quan tâm: Hàm Sum Tính Tổng Trong Excel: Hướng Dẫn Chi Tiết, Mẹo Tối Ưu Và Các Ứng Dụng Thực Tiễn
1. Giới thiệu chung
Microsoft Excel là một trong những công cụ bảng tính phổ biến nhất hiện nay, được sử dụng rộng rãi trong các lĩnh vực như tài chính, kế toán, quản trị, khoa học dữ liệu và thậm chí trong giáo dục. Một trong những sức mạnh lớn nhất của Excel chính là các hàm (functions) – những công cụ giúp người dùng thực hiện các phép tính, xử lý dữ liệu, và tự động hoá quy trình một cách nhanh chóng và chính xác. Tuy nhiên, không ít người dùng, dù là mới bắt đầu hay đã có kinh nghiệm, vẫn gặp phải tình trạng “hàm trong Excel không chạy” hoặc “công thức trả về lỗi”. Điều này không chỉ gây phiền toái mà còn ảnh hưởng nghiêm trọng tới độ tin cậy của báo cáo và quyết định kinh doanh.
Bài viết dưới đây sẽ phân tích chi tiết các nguyên nhân phổ biến khiến hàm trong Excel không hoạt động như mong đợi, đồng thời cung cấp các phương pháp khắc phục thực tiễn, các công cụ hỗ trợ và một số mẹo tối ưu hoá để giảm thiểu rủi ro xảy ra lỗi trong tương lai. Nội dung được chia thành nhiều phần, mỗi phần tập trung vào một khía cạnh cụ thể, giúp người đọc có thể tra cứu nhanh chóng và áp dụng ngay vào thực tiễn.
Có thể bạn quan tâm: Hàm Ngắt Dòng Trong Excel: Cách Sử Dụng, Thủ Thuật Và Ứng Dụng Thực Tiễn
2. Các loại lỗi phổ biến khi hàm không chạy
Trước khi đi sâu vào nguyên nhân và cách khắc phục, chúng ta cần nắm rõ các mã lỗi mà Excel thường trả về khi hàm gặp vấn đề. Việc nhận biết lỗi sẽ giúp xác định nhanh chóng nguyên nhân cơ bản.
| Mã lỗi | Mô tả | Nguyên nhân thường gặp | Cách khắc phục nhanh |
|---|---|---|---|
#VALUE! | Giá trị không hợp lệ | Đầu vào không phải kiểu dữ liệu phù hợp (ví dụ: chuỗi thay vì số) | Kiểm tra loại dữ liệu, dùng hàm VALUE() hoặc TEXT() để chuyển đổi |
#DIV/0! | Chia cho 0 | Tham chiếu tới ô có giá trị 0 hoặc trống trong phép chia | Đảm bảo mẫu số khác 0, hoặc dùng IFERROR(...,0) |
#REF! | Tham chiếu không hợp lệ | Ô được xóa, hoặc xóa cột, hàng chứa công thức | Kiểm tra lại các tham chiếu, sử dụng INDIRECT() nếu cần |
#NAME? | Tên hàm không nhận diện | Tên hàm viết sai, hoặc tính năng chưa bật (Add‑in) | Kiểm tra chính tả, bật Add‑in hoặc cài đặt hàm tùy chỉnh |
#N/A | Giá trị không có sẵn | Hàm tìm kiếm không tìm thấy kết quả | Kiểm tra dữ liệu nguồn, hoặc dùng IFNA(...,"") |
#NUM! | Lỗi số học | Kết quả vượt quá giới hạn, hoặc hàm không thể tính toán | Kiểm tra các tham số, sử dụng ROUND hoặc IFERROR |
#NULL! | Tham chiếu không hợp lệ (khoảng trống) | Dùng dấu cách (space) thay vì dấu phẩy trong tham chiếu | Sửa lại cú pháp, dùng dấu phẩy hoặc dấu chấm phẩy đúng |
#SPILL! | Kết quả tràn (Excel 365) | Khu vực đích đã có dữ liệu, hoặc công thức động không đủ chỗ | Xóa dữ liệu cản trở, hoặc điều chỉnh phạm vi |
Có thể bạn quan tâm: Hàm Tính Lương Thưởng Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Tới Nâng Cao
3. Nguyên nhân kỹ thuật gây ra lỗi hàm
3.1. Lỗi cú pháp và tham chiếu sai
- Thiếu dấu ngoặc: Ví dụ
=SUM(A1:A5sẽ gây lỗi#NAME?. - Sai dấu phân cách: Ở một số phiên bản (văn hoá) Excel sử dụng dấu chấm phẩy
;thay vì dấu phẩy,. Khi dùng dấu phẩy trong môi trường thiết lập;, công thức sẽ trả về lỗi. - Tham chiếu tuyệt đối/ tương đối không đúng: Khi sao chép công thức, nếu không cố định (
$A$1) thì tham chiếu sẽ thay đổi, dẫn tới lỗi#REF!.
3.2. Kiểu dữ liệu không đồng nhất
- Chuỗi thay cho số: Đôi khi dữ liệu nhập từ nguồn khác (CSV, web) có ký tự không hiển thị (space, tab) khiến Excel coi là chuỗi. Hàm
SUMsẽ trả về0hoặc#VALUE!. - Ngày tháng: Excel lưu ngày tháng dưới dạng số serial. Nếu ô chứa ngày được định dạng dưới dạng văn bản, các hàm ngày (
DATEDIF,NETWORKDAYS) sẽ không hoạt động.
3.3. Vấn đề về cài đặt ngôn ngữ và khu vực
- Định dạng số: Ở một số quốc gia, dấu thập phân là dấu phẩy
,và dấu phân cách hàng nghìn là dấu chấm.. Khi nhập công thức với định dạng không phù hợp, Excel sẽ hiểu sai và trả về lỗi. - Mã vùng ngày: Định dạng ngày
dd/mm/yyyyvsmm/dd/yyyycó thể làm hàmDATEtrả về ngày không mong muốn.
3.4. Các hàm tùy chỉnh (User Defined Functions – UDF) không hoạt động
- Macro chưa bật: Nếu workbook chứa UDF viết bằng VBA, nhưng macro bị tắt, hàm sẽ trả về
#NAME?. - Lỗi biên dịch VBA: Khi có lỗi trong code VBA, hàm sẽ không chạy và trả về lỗi.
- Tham chiếu tới thư viện thiếu: Sử dụng hàm trong Add‑in (Power Query, Analysis ToolPak) mà chưa bật sẽ gây lỗi.
3.5. Giới hạn bộ nhớ và kích thước dữ liệu
- Quá nhiều công thức mảng (array formulas) hoặc công thức động (dynamic arrays) trong Excel 365 có thể gây ra lỗi
#SPILL!nếu không đủ không gian. - Workbook quá lớn: Khi file vượt quá 2GB hoặc có hàng triệu công thức, Excel có thể chậm hoặc dừng tính toán, dẫn tới công thức “không chạy”.
3.6. Cài đặt tính năng tính toán tự động (Automatic Calculation)
- Manual calculation: Nếu tùy chọn tính toán được đặt ở “Manual”, các công thức sẽ không tự động cập nhật cho tới khi người dùng nhấn
F9. Điều này khiến người dùng tưởng hàm “không chạy”.
3.7. Xung đột Add‑in và phiên bản Office
- Add‑in không tương thích: Một số Add‑in của bên thứ ba (ví dụ: Bloomberg, SAP) có thể gây xung đột, làm cho một số hàm không thực thi.
- Phiên bản Excel cũ: Các hàm mới như
XLOOKUP,FILTER,SORTchỉ có trên Excel 365/2026 trở lên. Khi mở file trên Excel 2026, những hàm này sẽ trả về#NAME?.
4. Các bước chuẩn đoán và khắc phục chi tiết
4.1. Kiểm tra chế độ tính toán
- Vào File > Options > Formulas.
- Đảm bảo Workbook Calculation được đặt thành Automatic.
- Nếu muốn tính toán thủ công, nhấn F9 để cập nhật mọi công thức.
4.2. Kiểm tra lỗi cú pháp nhanh bằng công cụ “Error Checking”
- Excel cung cấp biểu tượng ! màu xanh lá ở góc trái ô có lỗi. Nhấp vào để xem mô tả chi tiết và đề xuất sửa lỗi.
- Sử dụng Formulas > Error Checking > Trace Error để theo dõi các tham chiếu.
4.3. Sử dụng hàm ISTEXT, ISNUMBER, ISERROR để kiểm tra kiểu dữ liệu
=IF(ISNUMBER(A2), "Số hợp lệ", "Không phải số")
- Đặt công thức này trong cột phụ để nhanh chóng xác định ô nào chứa dữ liệu không đúng.
4.4. Xác định và loại bỏ ký tự ẩn (non‑printable characters)
- Sử dụng
CLEANvàTRIM:
=TRIM(CLEAN(A2))
- Nếu vẫn còn ký tự đặc biệt, dùng
CODE(MID(A2, n, 1))để kiểm tra mã ASCII.
4.5. Chuyển đổi dữ liệu ngày tháng
- Kiểm tra định dạng bằng
=ISTEXT(A2)và=ISNUMBER(A2). - Nếu ngày được lưu dưới dạng văn bản, chuyển sang số bằng
=DATEVALUE(A2)hoặc=TEXT(A2,"yyyy-mm-dd").
4.6. Khắc phục lỗi hàm tùy chỉnh (UDF)
- Mở Developer > Visual Basic.
- Kiểm tra Tools > References để chắc chắn các thư viện cần thiết đã được chọn.
- Chạy Debug > Compile VBAProject để phát hiện lỗi biên dịch.
- Nếu macro bị chặn, vào File > Options > Trust Center > Trust Center Settings > Macro Settings và chọn Enable all macros (chỉ làm trên môi trường tin cậy).
4.7. Giải quyết lỗi #SPILL!
- Xác định vùng tràn bằng cách chọn ô có lỗi và nhìn vào spilling range (Excel sẽ hiển thị viền màu xanh).
- Xóa hoặc di chuyển dữ liệu cản trở.
- Nếu muốn giới hạn kích thước, dùng hàm
INDEXhoặcFILTERkết hợp vớiROW(INDIRECT(...)).
4.8. Kiểm tra Add‑in và phiên bản hàm
- Vào File > Options > Add‑ins và kiểm tra các Add‑in đang hoạt động.
- Nếu file sử dụng hàm mới (
XLOOKUP), mở trên Excel 365/2026; nếu không, thay thế bằngVLOOKUPhoặcINDEX/MATCH.
4.9. Sử dụng công cụ “Evaluate Formula”
- Vào Formulas > Evaluate Formula.
- Bước qua từng phần của công thức để xem giá trị trung gian, rất hữu ích khi công thức phức tạp.
5. Các hàm thay thế khi gặp lỗi không chạy

Có thể bạn quan tâm: Hàm Standard Deviation Trong Excel: Hướng Dẫn Toàn Diện Và Ứng Dụng Thực Tiễn
Khi một hàm cụ thể không khả dụng (do phiên bản Excel cũ, hoặc do lỗi hệ thống), chúng ta có thể dùng các hàm thay thế:
| Hàm gốc | Thay thế (cũ) | Mô tả |
|---|---|---|
XLOOKUP | INDEX + MATCH | Tìm kiếm linh hoạt, hỗ trợ trả về mảng |
FILTER | IF + SMALL + ROW (công thức mảng) | Lọc dữ liệu theo tiêu chí |
SORT | SORTBY (nếu có) hoặc INDEX + MATCH | Sắp xếp dữ liệu |
UNIQUE | REMOVE DUPLICATES (Data Tools) hoặc IF(COUNTIF(...)=1, ...) | Trích xuất giá trị duy nhất |
LET | Đặt biến trong cột phụ | Tăng hiệu suất tính toán |
Ví dụ: Thay thế XLOOKUP bằng INDEX/MATCH:
=INDEX(C:C, MATCH(E2, A:A, 0))
6. Thực hành: Một số trường hợp thực tế và cách giải quyết
6.1. Trường hợp 1: Công thức SUM trả về 0 khi dữ liệu là số
Mô tả: Cột A chứa các giá trị như “12,5”, “3,2” (dấu phẩy là dấu thập phân). Công thức =SUM(A:A) trả về 0.
Phân tích:
– Dữ liệu được nhập dưới dạng văn bản vì dấu thập phân không phù hợp với thiết lập khu vực (dấu thập phân là dấu chấm).
Giải pháp:
1. Thay đổi Regional Settings: Control Panel > Region > Formats → chọn “English (United States)”.
2. Hoặc chuyển đổi dữ liệu bằng công thức:excel =SUMPRODUCT(--SUBSTITUTE(A1:A100, ",", "."))
Hoặc dùng Text to Columns → Delimited → Next → Finish để Excel tự nhận dạng kiểu số.
6.2. Trường hợp 2: Hàm VLOOKUP trả về #N/A dù dữ liệu tồn tại
Mô tả: =VLOOKUP("ABC", $B$2:$D$500, 3, FALSE) trả về #N/A, trong khi “ABC” có trong cột B.
Nguyên nhân phổ biến:
– Khoảng trắng thừa ở đầu/cuối chuỗi.
– Kiểu dữ liệu không đồng nhất (số được lưu dưới dạng văn bản).
Cách khắc phục:
– Dùng TRIM và CLEAN trong cột tra cứu:excel =VLOOKUP(TRIM(CLEAN("ABC")), $B$2:$D$500, 3, FALSE)
– Hoặc tạo cột phụ chuẩn hoá dữ liệu:excel =TRIM(CLEAN(B2))
6.3. Trường hợp 3: Đối tượng tính toán quá lớn gây “Excel không phản hồi”
Mô tả: Workbook có hơn 200.000 công thức mảng =SUM(IF(A1:A100000>0,1,0)).
Giải pháp tối ưu:
1. Chuyển sang công thức không mảng: Sử dụng COUNTIF:excel =COUNTIF(A1:A100000, ">0")
2. Sử dụng Power Query để xử lý dữ liệu lớn ngoài Excel.
3. Tắt tính toán tự động, tính toán thủ công sau khi thay đổi dữ liệu.
6.4. Trường hợp 4: Hàm tùy chỉnh (UDF) luôn trả về #NAME?
Mô tả: Hàm =MyCustomFunc(A1) trả về #NAME? trên một máy tính khác.
Kiểm tra:
– Macro đã được bật?
– Workbook có chứa mã VBA?
– Thư viện tham chiếu (Reference) đã được cài đặt?
Cách khắc phục:
1. Mở Trust Center → Macro Settings → Enable all macros.
2. Kiểm tra Tools > References trong VBA, bỏ chọn các mục “Missing”.
3. Nếu hàm nằm trong một Add‑in, cài đặt lại Add‑in trên máy mới.
7. Các công cụ hỗ trợ và tài nguyên học tập
| Công cụ | Mô tả | Link |
|---|---|---|
| Excel Analyzer (Add‑in) | Kiểm tra công thức lỗi, đề xuất tối ưu | https://excel-analyzer.com |
| Power Query | Xử lý và làm sạch dữ liệu trước khi đưa vào công thức | tích hợp trong Excel 2026+ |
| FormulaBot (AI) | Tự động đề xuất công thức dựa trên mô tả ngôn ngữ tự nhiên | https://formulabot.ai |
| Microsoft Support – Excel | Cơ sở kiến thức chính thức, cập nhật lỗi mới | https://support.microsoft.com/excel |
| Chuyên trang Exceljet | Hướng dẫn nhanh các hàm, ví dụ thực tế | https://exceljet.net |
| Stack Overflow / Reddit r/excel | Cộng đồng hỏi đáp, giải quyết vấn đề thực tế | https://stackoverflow.com/questions/tagged/excel |
8. Mẹo tối ưu hoá hiệu suất và giảm thiểu lỗi
- Giảm độ phức tạp công thức – Thay vì lồng 5 hàm trong một ô, chia thành các bước trung gian trong cột phụ.
- Sử dụng Table (Ctrl+T) – Khi dữ liệu được định dạng dưới dạng Table, công thức sẽ tự mở rộng, giảm nguy cơ lỗi tham chiếu.
- Đặt tên dải dữ liệu (Named Ranges) – Giúp công thức dễ đọc và giảm lỗi do thay đổi vị trí.
- Tránh sử dụng toàn bộ cột trong công thức (
SUM(A:A)) nếu không cần, vì Excel sẽ tính toán tới hàng 1,048,576, gây chậm. - Sử dụng
IFERRORhoặcIFNAđể xử lý lỗi một cách có kiểm soát:excel =IFERROR(VLOOKUP(...), "Không tìm thấy") - Kiểm tra tính toàn vẹn dữ liệu bằng Data Validation để ngăn người dùng nhập sai kiểu dữ liệu.
- Định kỳ chạy “Check Workbook for Errors” (File > Info > Check for Issues > Inspect Document) để phát hiện macro ẩn hoặc liên kết hỏng.
- Sử dụng “Array Formula” mới (Dynamic Arrays) trong Excel 365 để giảm việc lặp lại công thức.
9. Khi nào nên chuyển sang Power BI hoặc các công cụ khác
Mặc dù Excel mạnh mẽ, nhưng trong một số trường hợp, việc hàm không chạy là dấu hiệu cho thấy dữ liệu và tính toán đã vượt quá khả năng của Excel:
- Dữ liệu > 1 triệu bản ghi: Excel sẽ chậm, công thức mảng có thể gây lỗi
#SPILL!. - Báo cáo đa chiều, KPI thời gian thực: Power BI hoặc Tableau cung cấp mô hình dữ liệu và visualisation mạnh hơn.
- Yêu cầu tự động hoá quy trình ETL: Power Query và Power Automate tích hợp sâu hơn.
Chuyển sang Power BI không chỉ giải quyết vấn đề hiệu suất mà còn giảm thiểu lỗi công thức vì dữ liệu được xử lý trong môi trường M (Power Query), nơi các lỗi thường được phát hiện và xử lý ngay trong quá trình import.
10. Kết luận
“Hàm trong Excel không chạy” không phải là một hiện tượng ngẫu nhiên mà thường xuất phát từ cú pháp, kiểu dữ liệu, cài đặt môi trường, hoặc giới hạn kỹ thuật. Bằng cách nắm vững các mã lỗi, thực hiện quy trình chuẩn đoán (kiểm tra chế độ tính toán, sử dụng Evaluate Formula, xem xét dữ liệu gốc), và áp dụng các biện pháp khắc phục cụ thể (sửa cú pháp, chuẩn hoá dữ liệu, bật macro, thay thế hàm mới bằng hàm cũ), người dùng có thể nhanh chóng đưa workbook trở lại trạng thái hoạt động ổn định.
Ngoài ra, việc tối ưu hoá công thức, sử dụng Table, đặt tên dải dữ liệu, và dịch chuyển sang các công cụ mạnh hơn khi cần thiết sẽ giúp giảm thiểu rủi ro gặp lỗi trong tương lai, đồng thời nâng cao hiệu suất làm việc và độ tin cậy của các báo cáo tài chính, kinh doanh.
Hy vọng bài viết đã cung cấp cho bạn một bộ công cụ đầy đủ – từ khía cạnh lý thuyết đến thực tiễn – để giải quyết mọi vấn đề liên quan tới hàm trong Excel không chạy. Chúc bạn làm việc hiệu quả và luôn có những bảng tính “siêu sạch”!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
