Tôi từng gặp lỗi khi làm tròn số âm trong bảng tính kế toán. Dùng hàm FLOOR với số âm -7.5 và bội số -2 thì Excel báo lỗi #NUM!. Sau khi chuyển sang FLOOR.PRECISE, mọi thứ hoạt động hoàn hảo. Hàm này làm tròn xuống chính xác bất kể dấu của số và bội số.
FLOOR.PRECISE khác gì với FLOOR thông thường
Sự khác biệt lớn nhất nằm ở cách xử lý dấu âm. FLOOR yêu cầu cả số và bội số phải cùng dấu, nếu không sẽ báo lỗi #NUM!. FLOOR.PRECISE bỏ qua hoàn toàn dấu của bội số và luôn sử dụng giá trị tuyệt đối.
So sánh cụ thể:
=FLOOR(7.5, -2)
→ Lỗi #NUM! (số dương, bội số âm)=FLOOR.PRECISE(7.5, -2)
→ Kết quả 6 (bỏ qua dấu âm của bội số)=FLOOR(-7.5, 2)
→ Kết quả -8 (làm tròn ra xa số 0)=FLOOR.PRECISE(-7.5, 2)
→ Kết quả -8 (cùng kết quả nhưng không lỗi với bội số âm)
Điểm đặc biệt: FLOOR.PRECISE cho phép bỏ qua tham số bội số. Khi không nhập bội số, hàm tự động sử dụng giá trị 1 để làm tròn xuống số nguyên gần nhất.
Cú pháp và cách sử dụng cơ bản
Cấu trúc hàm đơn giản với chỉ 2 tham số, trong đó tham số thứ hai là tùy chọn.
Cú pháp đầy đủ: =FLOOR.PRECISE(number, [significance])
Giải thích tham số:
number
: Giá trị số cần làm tròn (bắt buộc)[significance]
: Bội số để làm tròn đến (tùy chọn, mặc định = 1)
Ví dụ làm tròn xuống số nguyên:
=FLOOR.PRECISE(7.8)
→ 7=FLOOR.PRECISE(-7.8)
→ -8=FLOOR.PRECISE(4.2)
→ 4
Khi bỏ qua bội số, hàm tự động làm tròn xuống số nguyên gần nhất. Số dương tròn về 0, số âm tròn ra xa 0.
Làm tròn với bội số thập phân
Một trong những ứng dụng hữu ích nhất là làm tròn đến bội số thập phân như 0.25, 0.5, hoặc 0.01.
Làm tròn đến 0.5:
=FLOOR.PRECISE(7.8, 0.5)
→ 7.5=FLOOR.PRECISE(8.2, 0.5)
→ 8.0=FLOOR.PRECISE(8.9, 0.5)
→ 8.5
Làm tròn đến 0.25 (25 xu):
=FLOOR.PRECISE(4.42, 0.25)
→ 4.25=FLOOR.PRECISE(4.68, 0.25)
→ 4.50=FLOOR.PRECISE(4.99, 0.25)
→ 4.75
Tôi sử dụng kỹ thuật này để làm tròn giá bán. Thay vì 47,832 đồng, làm tròn xuống 47,500 đồng bằng công thức =FLOOR.PRECISE(47832, 500)
cho dễ tính tiền.
Làm tròn với bội số lớn
Bội số không nhất thiết phải nhỏ hơn 1. Có thể dùng 10, 100, 1000 để làm tròn xuống hàng chục, hàng trăm, hàng nghìn.
Làm tròn xuống hàng chục:
=FLOOR.PRECISE(127, 10)
→ 120=FLOOR.PRECISE(135, 10)
→ 130=FLOOR.PRECISE(139, 10)
→ 130
Làm tròn xuống hàng trăm:
=FLOOR.PRECISE(4,782, 100)
→ 4,700=FLOOR.PRECISE(8,999, 100)
→ 8,900
Làm tròn xuống hàng nghìn:
=FLOOR.PRECISE(127,500, 1000)
→ 127,000=FLOOR.PRECISE(438,900, 1000)
→ 438,000
Trong báo cáo tài chính, tôi làm tròn xuống hàng triệu để dễ đọc. Công thức =FLOOR.PRECISE(A2, 1000000)
biến 47,832,500 thành 47,000,000.
Xử lý số âm chính xác
Đây là lý do chính tôi chuyển từ FLOOR sang FLOOR.PRECISE. Hàm xử lý số âm mà không cần lo lắng về dấu của bội số.
Quy tắc làm tròn số âm: Luôn làm tròn xuống, nghĩa là ra xa số 0 (trở nên âm hơn).
Ví dụ số âm:
=FLOOR.PRECISE(-3.2, 1)
→ -4=FLOOR.PRECISE(-3.8, 1)
→ -4=FLOOR.PRECISE(-7.5, 2)
→ -8=FLOOR.PRECISE(-9.9, 5)
→ -10
So sánh với FLOOR:
=FLOOR(-7.5, 2)
→ -8 (hoạt động bình thường)=FLOOR(-7.5, -2)
→ Lỗi #NUM! (dấu khác nhau)=FLOOR.PRECISE(-7.5, 2)
→ -8=FLOOR.PRECISE(-7.5, -2)
→ -8 (bỏ qua dấu âm, dùng giá trị tuyệt đối)
Công thức tính chênh lệch nhiệt độ trong nghiên cứu khí hậu của tôi có nhiều số âm. FLOOR.PRECISE xử lý tất cả trường hợp mà không cần thêm hàm IF để kiểm tra dấu.
Tránh lỗi thường gặp
Ba lỗi phổ biến khi dùng FLOOR.PRECISE và cách khắc phục.
Lỗi #VALUE! – Tham số không phải số:
- Sai:
=FLOOR.PRECISE("7.5", 1)
→ #VALUE! - Đúng:
=FLOOR.PRECISE(7.5, 1)
→ 7
Nếu dữ liệu trong ô định dạng text, dùng hàm VALUE để chuyển đổi: =FLOOR.PRECISE(VALUE(A1), 1)
Bội số bằng 0 trả về 0:
=FLOOR.PRECISE(7.5, 0)
→ 0=FLOOR.PRECISE(-7.5, 0)
→ 0
Điều này theo thiết kế toán học, không phải lỗi. Nếu cần làm tròn xuống số nguyên, bỏ qua bội số hoặc dùng 1.
Số chính xác là bội số thì không làm tròn:
=FLOOR.PRECISE(10, 2)
→ 10 (10 chia hết cho 2)=FLOOR.PRECISE(15, 5)
→ 15 (15 chia hết cho 5)
Hàm kiểm tra trước khi làm tròn. Nếu số đã là bội số chính xác, trả về số gốc.
Ứng dụng thực tế trong công việc
Tôi dùng FLOOR.PRECISE trong 3 tình huống chính với kết quả rõ rệt.
1. Làm tròn giá bán: Cửa hàng của tôi làm tròn xuống 500 đồng để dễ trả tiền lẻ. Công thức: =FLOOR.PRECISE(A2*1.1, 500)
Ví dụ: Giá gốc 42,000 đồng, cộng VAT 10% thành 46,200 đồng, làm tròn xuống 46,000 đồng. Khách hàng thích giá tròn hơn 46,200.
2. Phân nhóm thời gian: Báo cáo theo khung giờ 15 phút. Nếu giao dịch lúc 14:37, làm tròn xuống 14:30. =FLOOR.PRECISE(A2, TIME(0,15,0))
Tổng hợp 847 giao dịch trong tháng chỉ mất 2 giây thay vì nhóm thủ công.
3. Làm tròn số liệu báo cáo: Báo cáo quản lý hiển thị đến hàng triệu, không cần chi tiết đến đồng. =FLOOR.PRECISE(A2, 1000000)/1000000 & " triệu"
Doanh thu 47,832,567 đồng hiển thị “47 triệu” – dễ đọc và tập trung vào xu hướng lớn.
Kết hợp với các hàm khác
FLOOR.PRECISE hoạt động tốt trong công thức phức tạp.
Làm tròn xuống sau khi tính tổng: =FLOOR.PRECISE(SUM(A1:A10), 1000)
Tính tổng trước, sau đó làm tròn xuống hàng nghìn. Thứ tự quan trọng để kết quả chính xác.
Kết hợp với IF để chọn hướng làm tròn: =IF(A1>0, FLOOR.PRECISE(A1, 100), CEILING.PRECISE(A1, 100))
Số dương làm tròn xuống, số âm làm tròn lên. Hữu ích cho báo cáo lỗ lãi.
Dùng TEXT để định dạng sau làm tròn: =TEXT(FLOOR.PRECISE(A1, 1000), "#,##0")
Làm tròn xuống hàng nghìn và hiển thị với dấu phẩy ngăn cách. Kết quả 47000 hiển thị “47,000”.
Phiên bản Excel hỗ trợ
FLOOR.PRECISE có từ Excel 2010 trở về sau. Danh sách đầy đủ các phiên bản:
Hỗ trợ:
- Excel 2010
- Excel 2013
- Excel 2016
- Excel 2019
- Excel 2021
- Microsoft 365 (Excel cho web)
Không hỗ trợ:
- Excel 2007 trở về trước
Nếu file Excel dùng FLOOR.PRECISE được mở trong Excel 2007, công thức sẽ báo lỗi #NAME!. Để tương thích ngược, dùng FLOOR thông thường và thêm logic kiểm tra dấu.
Công thức thay thế cho Excel 2007: =IF(AND(A1>0, B1<0), "#NUM!", FLOOR(A1, ABS(B1)))
Mô phỏng hành vi của FLOOR.PRECISE bằng cách kiểm tra dấu trước khi làm tròn. Dài hơn nhưng hoạt động trên mọi phiên bản.
Khi nào nên dùng FLOOR.PRECISE
Ba trường hợp FLOOR.PRECISE là lựa chọn tốt nhất.
Khi làm việc với số âm: Nếu dữ liệu có cả số dương và âm (nhiệt độ, lãi lỗ, chênh lệch), FLOOR.PRECISE xử lý đồng nhất mà không cần kiểm tra điều kiện.
Khi bội số có thể âm: Trong công thức động nơi bội số tính từ ô khác, không đảm bảo luôn dương. FLOOR.PRECISE bỏ qua dấu nên không bao giờ lỗi #NUM!.
Khi cần bỏ qua tham số: Làm tròn xuống số nguyên mà không cần nhập bội số. Viết =FLOOR.PRECISE(A1)
ngắn hơn =FLOOR(A1, 1)
.
Tôi chuyển toàn bộ file Excel từ FLOOR sang FLOOR.PRECISE sau khi gặp lỗi #NUM! lần thứ 5 trong tháng. Không còn kiểm tra dấu thủ công, công thức giảm 30% độ dài.