N và T: ép giá trị về số hoặc văn bản một cách im lặng, không báo lỗi
Chia sẻ
"N và T là hai hàm ép kiểu dữ liệu 'hiền' nhất trong Excel: không báo lỗi khi không ép được, chỉ lặng lẽ trả về 0 hoặc chuỗi rỗng — khác hẳn VALUE báo lỗi #VALUE! khi thất bại."
Bài về VALUE và TEXT đã nói VALUE ép văn bản thành số, nhưng báo lỗi #VALUE! ngay khi chuỗi không có hình dạng giống số. N và T làm việc tương tự nhưng theo cách "hiền" hơn hẳn: khi không ép được, chúng không báo lỗi gì — chỉ lặng lẽ trả về 0 hoặc chuỗi rỗng.
Đây là hai hàm ít dùng trực tiếp, nhưng hiểu được cách chúng hoạt động giúp đọc hiểu một số công thức mảng cũ hay gặp trong các file kế thừa từ nhiều năm trước.
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.
N — ép về số, không được thì trả về 0
=N(value)
Với ô đã chứa sẵn một số, N chỉ đơn giản trả về đúng số đó. Nhưng khác biệt lộ ra khi value không phải số:
=N("Excel")
Kết quả trả về 0 — không báo lỗi #VALUE! như VALUE("Excel") sẽ làm. N chấp nhận mọi loại giá trị đưa vào, chưa từng báo lỗi: số giữ nguyên, văn bản không ép được thì thành 0, TRUE thành 1, FALSE thành 0, ngày tháng thành số serial của ngày đó.
T — ép về văn bản, không được thì trả về chuỗi rỗng
=T(value)
Với ô chứa văn bản, T trả về đúng văn bản đó. Với ô chứa số:
=T(1024)
Kết quả trả về chuỗi rỗng "" — không báo lỗi, không cố ép số thành chữ như TEXT sẽ làm. T chỉ giữ lại giá trị nếu nó đã là văn bản sẵn; mọi kiểu khác đều thành chuỗi rỗng.
Vì sao hai hàm này tồn tại: tương thích công thức mảng cũ
N và T xuất hiện từ những phiên bản Excel rất sớm, trước khi các hàm mảng động và IFERROR ra đời. Mục đích ban đầu: cho phép một công thức mảng xử lý được cả vùng dữ liệu hỗn hợp số và chữ mà không bị gãy giữa chừng vì lỗi kiểu dữ liệu — điều mà phép cộng hay phép nối chuỗi trực tiếp không làm được an toàn.

=SUM(N(B2:B6))Đây là công thức mảng (cần Ctrl + Shift + Enter trên bản Excel cũ). N áp dụng cho từng ô trong vùng: ô nào là số giữ nguyên, ô nào là chữ hay trống biến thành 0, sau đó SUM cộng tất cả — an toàn hơn SUM(B2:B6) trực tiếp trong một số tình huống công thức mảng phức tạp hơn, dù với phép SUM bình thường một cột hỗn hợp thì bản thân SUM cũng đã tự bỏ qua ô chữ mà không cần N.
So sánh với cách làm hiện đại
Với các hàm hiện có sẵn như ISNUMBER kết hợp IF, hay IFERROR bọc quanh VALUE, phần lớn nhu cầu thực tế ngày nay có cách viết rõ ràng hơn N/T:
=IF(ISNUMBER(B2), B2, 0) ' Tương đương N(B2), nhưng dễ đọc hơn
Nên biết N và T tồn tại để đọc hiểu được công thức cũ khi gặp trong các file kế thừa, nhưng khi viết công thức mới, cách viết tường minh bằng ISNUMBER/ISTEXT kết hợp IF thường dễ hiểu hơn cho người đọc sau này — không phải ai cũng nhớ ngay N và T làm gì chỉ nhìn tên hàm, vì tên quá ngắn và không gợi ý rõ chức năng.
Tổng kết
N ép giá trị về số, T ép giá trị về văn bản — cả hai đều "hiền": không ép được thì lặng lẽ trả về 0 hoặc chuỗi rỗng, không báo lỗi như VALUE hay cố định dạng lại như TEXT. Ứng dụng chính là trong các công thức mảng cũ, giúp xử lý an toàn dữ liệu hỗn hợp — với công thức mới, ISNUMBER/ISTEXT kết hợp IF thường là cách viết dễ đọc hơn.
Đọc tiếp trong cùng cụm bài: TYPE — trả về mã số kiểu dữ liệu của một ô.
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ủ đề
ROW và COLUMN: lấy số thứ tự hàng/cột, đánh số tự động không lệ thuộc dòng thật
ROW và COLUMN trả về số thứ tự hàng/cột của một ô, dùng để đánh số thứ tự tự động không bị lệch khi chèn hoặc xoá dòng — việc kéo số tay không làm được.
NA: tạo lỗi #N/A có chủ đích, khiến biểu đồ bỏ qua thay vì vẽ sai
Hàm NA() cố tình tạo ra lỗi #N/A — nghe ngược đời, nhưng đây chính là cách đúng để biểu đồ đường bỏ qua một điểm dữ liệu chưa có, thay vì vẽ nhầm nó thành số 0.
ISREF: kiểm tra một tên có đang trỏ tới tham chiếu thật hay chỉ là một giá trị
ISREF phân biệt một tên đã đặt (Named Range) đang trỏ tới một vùng ô thật, hay chỉ đang lưu một con số cố định — hai thứ dễ lẫn khi quản lý nhiều tên trong một file lớ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.