Bạn Đang Dùng Hàm TRUE Sai Cách – Đây Là Phương Pháp Đúng

Phần lớn người dùng Excel nhập TRUE thủ công vào công thức hoặc gọi hàm TRUE() không biết rằng có cách tốt hơn. Tôi cũng từng viết công thức dài dòng kiểu =IF(A1>10, TRUE(), FALSE()) trong ba năm. Cho đến khi phát hiện Excel hiểu TRUE trực tiếp mà không cần hàm hoặc dấu ngoặc.

Vấn đề với cách dùng TRUE() phổ biến

Nhiều bài hướng dẫn gợi ý dùng =TRUE() để trả về giá trị logic đúng. Cách này hoạt động nhưng tạo công thức dài và phức tạp không cần thiết. Khi bạn viết =IF(B2>=5, TRUE(), FALSE()), Excel phải xử lý ba lệnh: kiểm tra điều kiện, gọi hàm TRUE, gọi hàm FALSE.

Microsoft tạo hàm TRUE() chủ yếu để tương thích với các phần mềm bảng tính khác. Trong Excel, bạn có thể bỏ qua hàm này hoàn toàn. Thay vì viết TRUE(), chỉ cần gõ TRUE trực tiếp. Công thức ngắn hơn, rõ ràng hơn, và tính toán nhanh hơn.

Điều tôi thấy trong các file được chia sẻ là công thức IF lồng nhau với TRUE() ở mọi nơi. File một đồng nghiệp có 47 công thức kiểu =IF(điều_kiện, TRUE(), FALSE()). Sau khi đơn giản hóa xuống còn =điều_kiện, file tính nhanh hơn và dễ kiểm tra lỗi hơn rất nhiều.

Dùng TRUE trực tiếp thay vì TRUE()

Excel tự động hiểu TRUE là giá trị logic đúng. Không cần hàm, không cần dấu ngoặc. So sánh hai cách viết dưới đây:

Cách cũ với hàm:

=IF(A1>100, TRUE(), FALSE())

Cách tối ưu:

=A1>100

Công thức thứ hai ngắn hơn 65% và cho kết quả giống hệt. Phép so sánh A1>100 tự động trả về TRUE nếu đúng, FALSE nếu sai. Không cần IF, không cần gọi hàm.

Khi nào dùng TRUE trong IF:

XEM THÊM:  Cách Sử Dụng Hàm NOT Để Đảo Ngược Điều Kiện Logic Trong Excel

Nếu cần trả về giá trị khác TRUE hoặc FALSE, thì mới kết hợp IF:

=IF(A1>100, "Đạt", "Chưa đạt")

Nhưng nếu chỉ cần TRUE/FALSE:

=A1>100

Tôi thường thấy file Excel có công thức dạng =IF(A1=B1, TRUE, FALSE). Nếu bỏ phần IF và chỉ để =A1=B1, kết quả y hệt nhưng dễ đọc và bảo trì hơn nhiều.

Kết hợp TRUE với nhiều điều kiện bằng AND và OR

Khi kiểm tra nhiều điều kiện cùng lúc, AND và OR làm việc với TRUE hiệu quả hơn IF lồng nhau. Hàm AND trả về TRUE nếu tất cả điều kiện đúng. Hàm OR trả về TRUE nếu ít nhất một điều kiện đúng.

Kiểm tra tất cả điều kiện đúng:

=AND(A2>=18, B2="Việt Nam", C2>1000000)

Công thức này trả về TRUE nếu tuổi từ 18 trở lên, quốc tịch Việt Nam, và thu nhập trên một triệu. Nếu một trong ba điều kiện sai, kết quả là FALSE.

Kiểm tra ít nhất một điều kiện đúng:

=OR(D2="Hà Nội", D2="TP.HCM", D2="Đà Nẵng")

Trả về TRUE nếu địa chỉ thuộc một trong ba thành phố. Cách này ngắn gọn hơn so với IF lồng ba lần.

Kết hợp AND và OR:

Để kiểm tra điều kiện phức tạp, lồng AND trong OR hoặc ngược lại:

=OR(AND(A2>=100000, B2="Nam"), AND(A2>=125000, B2<>"Nam"))

Công thức này kiểm tra: nếu khu vực Nam thì doanh số phải từ 100,000, các khu vực khác phải từ 125,000. Thay vì IF lồng nhiều tầng khó đọc, AND và OR làm logic rõ ràng hơn.

Tôi sử dụng cách này để kiểm tra hồ sơ ứng viên. Thay vì bảy công thức IF riêng biệt, một công thức AND với năm điều kiện cho kết quả ngay lập tức. Khi tiêu chí thay đổi, chỉ cần sửa một chỗ thay vì tìm khắp file.

TRUE trong định dạng có điều kiện

Định dạng có điều kiện dùng TRUE/FALSE để quyết định ô nào được tô màu hoặc định dạng. Khi bạn tạo quy tắc định dạng, Excel chạy công thức cho mỗi ô. Nếu kết quả TRUE, áp dụng định dạng. Nếu FALSE, bỏ qua.

XEM THÊM:  Hàm BYCOL 2024: Cách Tính Tổng Theo Cột Nhanh Gấp 10 Lần

Thiết lập định dạng có điều kiện:

  1. Chọn vùng dữ liệu cần định dạng (ví dụ A2:D10)
  2. Trang chủ > Định dạng có điều kiện > Quy tắc mới
  3. Chọn “Sử dụng công thức để xác định ô cần định dạng”
  4. Nhập công thức trả về TRUE/FALSE

Ví dụ làm nổi bật dòng:

=$B2>50000

Công thức này kiểm tra cột B. Nếu giá trị trên 50,000, toàn bộ dòng được tô màu. Dấu đô la trước B cố định cột, không có dấu đô la trước 2 để hàng tự động thay đổi.

Làm nổi bật giá trị trùng lặp:

=COUNTIF($A$2:$A$100, A2)>1

Tô màu các ô xuất hiện nhiều hơn một lần trong cột A. Khoảng $A$2:$A$100 cố định, A2 thay đổi theo từng ô.

So sánh hai cột:

=$A2<>$B2

Làm nổi bật các dòng mà giá trị cột A khác cột B. Hữu ích khi so sánh danh sách cũ và mới.

Tôi dùng kỹ thuật này để theo dõi tiến độ dự án. Công thức =$C2<TODAY() tô đỏ các task quá hạn. Khi ngày thay đổi, định dạng tự động cập nhật mà không cần sửa gì.

TRUE trong phép tính số học

Excel coi TRUE là số 1 và FALSE là số 0. Điều này cho phép dùng TRUE trong công thức tính toán. Phương pháp này tạo công thức ngắn gọn thay cho IF lồng nhau.

Đếm số dòng thỏa điều kiện:

=SUM((A2:A100>1000)*1)

Nhân với 1 chuyển TRUE/FALSE thành 1/0. SUM cộng tổng, cho biết có bao nhiêu ô lớn hơn 1000. Cách này nhanh hơn COUNTIF với dữ liệu lớn.

Tính tổng có điều kiện đơn giản:

=SUM((B2:B100="Hà Nội")*C2:C100)

Công thức này tính tổng cột C chỉ với các dòng có “Hà Nội” trong cột B. Công thức mảng không cần Ctrl+Shift+Enter trong Excel 365.

Tính trung bình bỏ qua lỗi:

=AVERAGE(IF(ISNUMBER(A2:A100), A2:A100))

Chỉ tính trung bình các ô chứa số, bỏ qua lỗi và văn bản. ISNUMBER trả về TRUE cho ô chứa số, FALSE cho ô khác.

Đếm điều kiện phức tạp:

=SUM((A2:A100>100)*(B2:B100<500)*(C2:C100="Đúng"))

Đếm số dòng thỏa ba điều kiện cùng lúc. Mỗi phần trong ngoặc trả về TRUE/FALSE, nhân với nhau chuyển thành 1/0, SUM cộng tổng.

XEM THÊM:  Nắm Vững Hàm FALSE Trong 5 Phút Với Ví Dụ Thực Tế

Trong báo cáo hàng tháng của tôi, công thức này thay thế 12 công thức COUNTIFS riêng lẻ. Khi tiêu chí thay đổi, chỉ cần sửa điều kiện trong một công thức thay vì tìm và sửa 12 chỗ.

Khi nào thực sự cần hàm TRUE()

Hàm TRUE() hữu ích khi làm việc với file từ Google Sheets hoặc LibreOffice Calc. Một số phần mềm yêu cầu TRUE() thay vì TRUE để tránh lỗi. Nếu file chỉ dùng trong Excel, bỏ qua hàm hoàn toàn.

Tương thích với phần mềm khác:

Khi chia sẻ file với người dùng Google Sheets, dùng TRUE() đảm bảo công thức hoạt động. Google Sheets chấp nhận cả TRUE và TRUE() nhưng TRUE() rõ ràng hơn cho người đọc công thức lần đầu.

Trong macro VBA:

VBA phân biệt TRUE và True (chữ hoa/thường). Dùng hàm Application.WorksheetFunction.True() trong VBA để đảm bảo nhất quán. Nhưng trong công thức worksheet thông thường, không cần thiết.

Đọc công thức từ xa:

Nếu công thức hiển thị trên màn hình nhỏ hoặc bị thu nhỏ, TRUE() dễ nhận ra hơn TRUE. Một số công ty quy định chuẩn code yêu cầu dùng hàm để công thức nhất quán. Trường hợp này theo quy định là hợp lý.

Trong 90% trường hợp, TRUE trực tiếp tốt hơn TRUE(). Công thức ngắn hơn, tính nhanh hơn, dễ đọc và bảo trì hơn. Chỉ dùng TRUE() khi có lý do cụ thể về tương thích hoặc chuẩn code của tổ chức.

Thay đổi cách viết công thức

Sau khi hiểu TRUE hoạt động như thế nào, công thức Excel của bạn sẽ đơn giản đi đáng kể. Thay vì =IF(A1>10, TRUE(), FALSE()), chỉ cần =A1>10. Thay vì IF lồng nhiều tầng, dùng AND và OR kết hợp điều kiện. Thay vì COUNTIF phức tạp, nhân TRUE/FALSE với 1 rồi SUM.

Các phương pháp này hoạt động từ Excel 2007 trở đi. Excel 365 hỗ trợ công thức mảng động tự động, không cần Ctrl+Shift+Enter. Nếu dùng Excel 2019 hoặc cũ hơn, một số công thức mảng cần nhấn Ctrl+Shift+Enter sau khi nhập.

Để chuyển đổi file cũ, tìm tất cả công thức chứa TRUE() hoặc FALSE() bằng Ctrl+F. Xem xét từng trường hợp và đơn giản hóa khi có thể. Ưu tiên các công thức được dùng nhiều hoặc tính toán chậm để cải thiện hiệu suất ngay lập tức.

Related Posts

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *