ISFORMULA và FORMULATEXT: tìm ra ô nào chứa công thức, và hiển thị công thức đó
Chia sẻ
"ISFORMULA kiểm tra một ô có đang chứa công thức hay đã bị gõ đè bằng số cứng. FORMULATEXT hiển thị nguyên văn công thức dưới dạng chữ, dùng để rà soát cả một bảng tính lớn."
Một trong những lỗi âm thầm nguy hiểm nhất trong bảng tính: một ô từng chứa công thức, nhưng ai đó gõ đè một con số cứng vào — có thể vô tình, có thể để "chốt tạm" một giá trị rồi quên đổi lại. Ô đó vẫn hiển thị số, không báo lỗi gì, nhưng từ giờ không còn tự động cập nhật theo dữ liệu gốc nữa. ISFORMULA và FORMULATEXT là hai công cụ cơ bản nhất để rà soát và phát hiện đúng loại lỗi này.
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.
ISFORMULA — ô này có đang chứa công thức không
=ISFORMULA(reference)
=ISFORMULA(B2)
Trả về TRUE nếu ô đang chứa công thức, FALSE nếu ô chỉ chứa một giá trị tĩnh — dù giá trị đó là số, chữ, hay bất kỳ kiểu gì. Một ô hiển thị đúng con số cần thiết vẫn có thể FALSE, nếu con số đó được gõ tay thay vì tính ra từ công thức.
Ứng dụng: quét cả một cột để tìm ô đã bị gõ đè công thức
Đây là ứng dụng thực tế quan trọng nhất. Giả sử một cột chứa công thức tính thành tiền (=Số lượng × Đơn giá), rà soát xem có dòng nào đã bị gõ đè bằng số cứng hay không:

=IF(ISFORMULA(D2), "OK — vẫn là công thức", "CẢNH BÁO — đã bị gõ số cứng")
Kéo công thức này xuống toàn bộ cột, mọi dòng bị gõ đè công thức bằng số cứng sẽ hiện ra ngay — một cách rà soát nhanh hơn nhiều so với việc bấm vào từng ô để kiểm tra bằng mắt.
FORMULATEXT — hiển thị nguyên văn công thức dưới dạng chữ
=FORMULATEXT(reference)=FORMULATEXT(D2)
Trả về đúng chuỗi công thức đang nằm trong ô đó — ví dụ "=B2*C2" — hiển thị dưới dạng văn bản ở một ô khác. Hữu ích để xây một cột "kiểm tra công thức" cạnh bảng dữ liệu chính, giúp người đọc hoặc người kiểm toán nhìn thấy ngay logic tính toán mà không phải bấm vào từng ô một.
Kết hợp cả hai: tránh lỗi #N/A khi ô không có công thức
FORMULATEXT báo lỗi #N/A nếu ô tham chiếu không chứa công thức — đây chính là lý do nên kết hợp với ISFORMULA trước khi gọi FORMULATEXT:
=IF(ISFORMULA(D2), FORMULATEXT(D2), "(không có công thức — số cứng)")
Công thức này vừa tránh được lỗi #N/A, vừa cho biết rõ nguyên nhân: ô không hiện công thức vì nó không có công thức nào cả, không phải vì FORMULATEXT bị lỗi.
Ứng dụng: tài liệu hoá một mẫu báo cáo phức tạp
Với các file mẫu dùng đi dùng lại nhiều lần — báo cáo tài chính, bảng tính lương, mô hình dự báo — dựng sẵn một cột FORMULATEXT song song với cột công thức thật giúp người dùng sau này hiểu ngay logic tính toán mà không cần bấm vào từng ô, đặc biệt hữu ích khi bàn giao file cho đồng nghiệp hoặc lưu trữ làm tài liệu tham khảo lâu dài.

Tổng kết
ISFORMULA trả lời câu hỏi có/không: ô này có đang chứa công thức hay đã bị thay bằng số cứng. FORMULATEXT đi xa hơn, hiển thị nguyên văn nội dung công thức dưới dạng chữ để đọc và kiểm tra mà không cần bấm vào từng ô. Kết hợp cả hai để rà soát một bảng tính lớn, phát hiện những chỗ công thức đã âm thầm bị gõ đè — một trong những lỗi khó phát hiện nhất bằng mắt thường.
Đọc tiếp trong cùng cụm bài: 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ị.
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ủ đề
Evaluate Formula: xem Excel tính một công thức lồng nhau từng bước một
Một công thức lồng năm sáu hàm ra kết quả sai, nhưng không biết sai ở khâu nào. Evaluate Formula tách công thức đó ra thành từng bước tính nhỏ, cho xem chính xác giá trị trung gian ở mỗi bước — không cần tự bấm máy tính tay để dò.
Watch Window: theo dõi giá trị một ô ở xa mà không cần cuộn qua lại
Watch Window ghim một danh sách ô cần theo dõi vào một cửa sổ nổi riêng, hiện luôn giá trị và công thức của chúng dù bạn đang cuộn ở bất kỳ đâu trong file — kể cả ở một sheet khác. Không cần chia màn hình, không cần lo cuộn nhầm mất dấu.
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.
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.