Hàm FIXED là một trong những hàm làm tròn phổ biến nhất trong Excel, nhưng cũng là hàm bị dùng sai nhiều nhất. Tôi thường thấy người dùng áp dụng FIXED vào giữa các công thức phức tạp, rồi ngạc nhiên khi nhận lỗi hoặc kết quả không đúng. Điều họ không biết là FIXED chuyển đổi số thành văn bản, khiến mọi phép tính tiếp theo trở nên vô nghĩa.

FIXED không phải ROUND
Sự khác biệt giữa FIXED và ROUND nằm ở kiểu dữ liệu kết quả. Hàm ROUND làm tròn số và giữ nguyên định dạng số, có nghĩa là bạn vẫn có thể sử dụng kết quả để cộng, trừ, nhân, chia hoặc áp dụng vào các hàm khác. FIXED làm tròn số nhưng trả về văn bản, biến kết quả thành chuỗi ký tự không thể tham gia vào phép tính.
Cú pháp của FIXED là =FIXED(number, [decimals], [no_commas]). Tham số number là giá trị cần làm tròn, decimals là số chữ số thập phân muốn giữ lại (mặc định 2), và no_commas quyết định có loại bỏ dấu phẩy phân cách hàng nghìn hay không.
Ví dụ so sánh:
=ROUND(1234.5678, 2)trả về1234.57dạng số=FIXED(1234.5678, 2)trả về"1234.57"dạng văn bản=FIXED(1234.5678, 2, TRUE)trả về"1234.57"không có dấu phẩy
Bạn không thấy khác biệt trên màn hình vì Excel hiển thị cả hai giống nhau. Nhưng khi dùng kết quả trong công thức khác, FIXED sẽ gây lỗi.
Sai lầm tốn kém nhất
Tình huống phổ biến nhất tôi gặp là dùng FIXED trong công thức trung gian. Người dùng muốn làm tròn kết quả để nhìn đẹp hơn, nhưng vẫn cần số đó cho các phép tính tiếp theo. Điều này dẫn đến lỗi #VALUE! hoặc kết quả sai hoàn toàn.
Ví dụ sai:
=FIXED(A1*B1, 2) + C1
Giả sử A1 là 10.5, B1 là 3.2, C1 là 5. Công thức trên trả về lỗi #VALUE! vì FIXED(33.6, 2) cho ra "33.60" dạng text, và Excel không thể cộng text với số.
Cách đúng:
=ROUND(A1*B1, 2) + C1
Với ROUND, kết quả là 33.6 + 5 = 38.6 hoàn toàn chính xác.
Sai lầm này càng nghiêm trọng khi nằm trong các công thức lớn. File báo cáo quý của một khách hàng tôi từng hỗ trợ có 47 chỗ dùng FIXED sai vị trí, khiến 12 bảng tổng hợp hiển thị lỗi. Mất 3 giờ để tìm và sửa tất cả, trong khi chỉ cần thay FIXED bằng ROUND từ đầu.
Khi nào thực sự cần FIXED
FIXED hữu ích khi bạn đã hoàn tất tất cả phép tính và chỉ cần định dạng số để hiển thị hoặc export. Các trường hợp phù hợp bao gồm báo cáo cuối cùng, biểu đồ không cần tính toán thêm, hoặc xuất dữ liệu sang hệ thống khác yêu cầu định dạng text cố định.
Use case 1: Loại bỏ dấu phẩy trong export
Khi xuất dữ liệu sang CSV hoặc text file, dấu phẩy phân cách hàng nghìn có thể gây xung đột với dấu phẩy phân cách cột. FIXED với tham số no_commas = TRUE giải quyết vấn đề này:
=FIXED(A1, 2, TRUE)
Nếu A1 là 12345.6789, công thức trả về "12345.68" không có dấu phẩy, an toàn cho CSV.
Use case 2: Báo cáo tài chính cuối kỳ
Các báo cáo in ra giấy hoặc gửi email dạng PDF không cần giữ tính năng tính toán. FIXED đảm bảo số hiển thị chính xác số chữ số thập phân bạn muốn, không bị ảnh hưởng bởi cài đặt định dạng ô:
=FIXED(SUM(A1:A10), 0)
Công thức này làm tròn tổng thành số nguyên và trả về dạng text, phù hợp cho tiêu đề hoặc kết luận báo cáo.
Use case 3: Ghép số vào văn bản
Khi cần tạo câu chứa số, FIXED kiểm soát định dạng tốt hơn concatenation thông thường:
="Tổng doanh thu: " & FIXED(A1, 0) & " VNĐ"
Nếu A1 là 1234567.89, kết quả là "Tổng doanh thu: 1,234,568 VNĐ" với dấu phẩy phân cách rõ ràng.
ROUND cho mọi phép tính trung gian
Bất cứ khi nào kết quả làm tròn cần tham gia vào công thức khác, dùng ROUND thay vì FIXED. ROUND có cú pháp tương tự: =ROUND(number, num_digits), trong đó num_digits là số chữ số thập phân.
Ví dụ thực tế:
Bảng tính tính lương có công thức:
=ROUND(giờ_làm * lương_giờ, 0) * (1 + ROUND(phụ_cấp%, 2))
Tất cả các ROUND giữ kết quả dạng số, cho phép nhân và cộng bình thường. Nếu thay bằng FIXED, công thức sẽ lỗi ngay.
Trong công thức phức tạp, ROUND có thể lồng nhiều tầng:
=ROUND(ROUND(A1, 2) * ROUND(B1, 1), 0)
Mỗi ROUND làm tròn ở các bước khác nhau nhưng vẫn giữ tính toán chính xác.
Cách fix nếu đã dùng FIXED sai
Nếu file Excel đã có FIXED ở nhiều nơi và gây lỗi, có hai giải pháp nhanh.
Giải pháp 1: Thay FIXED bằng ROUND
Dùng Find & Replace (Ctrl + H) để tìm =FIXED( và thay bằng =ROUND(. Sau đó xóa tham số no_commas vì ROUND không có tham số này. Ví dụ:
Từ: =FIXED(A1, 2, TRUE)
Thành: =ROUND(A1, 2)
Giải pháp này yêu cầu kiểm tra thủ công từng công thức vì cú pháp khác nhau.
Giải pháp 2: Wrap FIXED với VALUE
Nếu không thể thay thế hàm, dùng VALUE() để chuyển text về số:
=VALUE(FIXED(A1, 2)) + C1
VALUE() chuyển đổi "33.60" thành 33.6 dạng số, cho phép cộng bình thường. Nhưng cách này không tối ưu vì thêm một hàm không cần thiết.
Lưu ý: VALUE() sẽ lỗi nếu text chứa dấu phẩy. Với =FIXED(A1, 2, FALSE) tạo ra "1,234.56", VALUE() không thể convert. Phải dùng SUBSTITUTE để loại dấu phẩy trước:
=VALUE(SUBSTITUTE(FIXED(A1, 2, FALSE), ",", ""))
Công thức phức tạp như này chứng tỏ bạn đã dùng sai hàm từ đầu.
Decision guide nhanh
Dùng bảng quyết định này để chọn hàm phù hợp:
Dùng ROUND khi:
- Kết quả cần cho phép tính tiếp theo
- Làm tròn số trong công thức lớn
- Tạo giá trị trung gian
- Làm việc với hàm khác như SUM, AVERAGE, IF
Dùng FIXED khi:
- Báo cáo hoặc bảng cuối cùng
- Export sang CSV hoặc text
- Ghép số vào text
- Cần loại bỏ hoặc thêm dấu phẩy
- Hiển thị cho người đọc, không tính toán
Nguyên tắc đơn giản: Nếu còn công thức phía sau, dùng ROUND. Nếu đây là điểm dừng, dùng FIXED.
Kiểm tra lỗi trong file hiện tại
Nếu nghi ngờ file Excel có FIXED dùng sai, kiểm tra nhanh bằng Evaluate Formula. Chọn ô có công thức, vào tab Formulas > Evaluate Formula (hoặc Alt + M + V + E). Nhấn Evaluate từng bước để xem kết quả trung gian.
Nếu thấy kết quả có dấu ngoặc kép như "123.45" trong quá trình tính, đó là text từ FIXED. Ô tiếp theo dùng giá trị này sẽ gặp vấn đề.
Cách khác là bật Show Formulas (Ctrl + `). Tìm các ô có FIXED nằm giữa công thức phức tạp hoặc được tham chiếu bởi ô khác. Những vị trí này có khả năng cao gây lỗi.
Compatibility và best practices
Cả ROUND và FIXED đều hỗ trợ từ Excel 97 trở đi, bao gồm Excel 365, 2021, 2019, 2016. Không có vấn đề tương thích giữa các phiên bản.
Một số best practices khi làm việc với làm tròn:
- Làm tròn muộn nhất có thể trong chuỗi tính toán để giữ độ chính xác
- Không làm tròn input data, chỉ làm tròn output
- Document rõ vị trí dùng FIXED để người khác không tính toán tiếp trên đó
- Với báo cáo lớn, tách sheet data (dùng ROUND) và sheet display (dùng FIXED)
Nếu team nhiều người dùng chung file, thêm comment vào các ô dùng FIXED: “Text output – không dùng cho tính toán”. Điều này tránh người khác vô tình reference và gặp lỗi.
Lựa chọn đúng tiết kiệm thời gian
FIXED và ROUND phục vụ mục đích khác nhau. Hiểu rõ sự khác biệt giúp tránh lỗi #VALUE! và giảm thời gian debug. Nguyên tắc cốt lõi: ROUND cho tính toán, FIXED cho hiển thị. Theo kinh nghiệm, 90% trường hợp cần ROUND, chỉ 10% thực sự cần FIXED. Nếu không chắc, hãy dùng ROUND vì nó an toàn hơn và linh hoạt hơn.
