SQRT: căn bậc hai, và vì sao số âm luôn báo lỗi thay vì ra số ảo
Chia sẻ
"SQRT tính căn bậc hai của một số — đơn giản với số dương, nhưng luôn báo lỗi #NUM! với số âm thay vì trả về số ảo như một số máy tính khoa học. Ứng dụng thực tế phổ biến nhất là tính khoảng cách giữa hai điểm toạ độ."
Bài trước, SIGN hỏi một số dương hay âm. SQRT làm một việc khác hẳn — tính căn bậc hai — nhưng cũng có một quy tắc về dấu đáng chú ý không kém.
Công thức trong bài dùng dấu phẩy (,); đổi sang dấu chấm phẩy (;) nếu Excel của bạn cấu hình theo vùng miền khác.
Cú pháp
=SQRT(so)
SQRT(16) trả về 4, vì 4×4=16. Đơn giản với mọi số không âm.
Ứng dụng: tính khoảng cách giữa hai điểm toạ độ
Công thức Pythagoras — khoảng cách giữa hai điểm (x1,y1) và (x2,y2) — cần đúng một lần SQRT ở bước cuối:
=SQRT((X2-X1)^2+(Y2-Y1)^2)
Công thức này dùng trong các bài toán đo khoảng cách thực tế trên bản đồ toạ độ (kinh độ/vĩ độ quy đổi tương đối) hay bố trí mặt bằng, sơ đồ kỹ thuật đơn giản trong Excel.
Điểm cần nhớ: số âm luôn báo lỗi, không trả về số ảo
=SQRT(-16)
Kết quả là #NUM!. Về mặt toán học, căn bậc hai của số âm là một số ảo (4i) — nhưng Excel không có kiểu dữ liệu số phức trong các hàm tính toán thông thường, nên thay vì cố tính ra kết quả không biểu diễn được, Excel báo lỗi ngay. Đây là điểm khác với một số máy tính khoa học hay ngôn ngữ lập trình có hỗ trợ số phức.
Cách xử lý khi biết chắc chỉ cần độ lớn
Nếu phép tính có thể vô tình cho ra số âm bên trong (ví dụ do sai số làm tròn khiến một hiệu số lẽ ra bằng 0 lại thành -0,0000001), bọc thêm ABS trước khi tính căn:
=SQRT(ABS(so))
Cần cẩn thận: cách này chỉ hợp lý khi biết chắc số âm chỉ là do sai số kỹ thuật cần loại bỏ, không phải một giá trị âm có ý nghĩa thật trong bài toán — nếu số âm mang ý nghĩa tính toán thực sự (ví dụ khoản lỗ), bọc ABS sẽ âm thầm đổi luôn bản chất phép tính, không còn là "khoảng cách" hay "độ lớn" nữa mà chỉ là che giấu lỗi.
Ứng dụng: tính độ lệch chuẩn thủ công từng bước
Trước khi có STDEV dựng sẵn (xem hàm thống kê), độ lệch chuẩn được tính thủ công qua bước cuối là một SQRT:
=SQRT(SUMPRODUCT((A2:A10-AVERAGE(A2:A10))^2)/(COUNT(A2:A10)-1))
Nhìn vào công thức dài này dễ thấy vì sao Excel dựng sẵn STDEV — nhưng hiểu được SQRT nằm ở đâu trong chuỗi tính toán giúp gỡ lỗi dễ hơn khi một công thức thống kê phức tạp hơn cho ra kết quả #NUM! bất ngờ.
Tổng kết
SQRT tính căn bậc hai của một số, nhưng luôn báo lỗi #NUM! với số âm thay vì trả về số ảo. Ứng dụng phổ biến nhất là tính khoảng cách theo công thức Pythagoras; khi phép tính có thể vô tình ra số âm do sai số, cân nhắc bọc ABS — nhưng chỉ khi chắc chắn số âm đó không mang ý nghĩa tính toán thật.
Đọc tiếp trong cùng cụm bài: POWER — tính luỹ thừa rõ ràng hơn dấu mũ, và một số mũ không nguyên gây lỗi bất ngờ.
Mục lục
Muốn làm chủ Excel?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
DECIMAL: chiều ngược lại, đọc một chuỗi ở hệ đếm khác về số thập phân quen thuộc
DECIMAL đọc một chuỗi biểu diễn ở một hệ đếm khác — nhị phân, thập lục phân, hay bất kỳ cơ số nào từ 2 đến 36 — và trả về đúng số thập phân quen thuộc, đúng chiều ngược lại của BASE.
BASE: chuyển một số sang hệ đếm khác như nhị phân hay thập lục phân
BASE chuyển một số thập phân thông thường sang chuỗi biểu diễn ở một hệ đếm khác — nhị phân, bát phân, thập lục phân, hoặc bất kỳ cơ số nào từ 2 đến 36 — kèm tuỳ chọn đệm số 0 phía trước cho đủ độ dài.
SUM: hàm cơ bản nhất, nhưng vẫn có vài điều đáng biết
SUM là hàm đầu tiên ai học Excel cũng biết, nhưng ít người để ý SUM tự động bỏ qua ô văn bản (khác hẳn dấu +), cộng được xuyên nhiều sheet cùng lúc, và không tự loại trừ các dòng đang bị lọc hay ẩn.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.