Chia sẻ
"OR trả về TRUE khi có ít nhất một điều kiện đúng — dùng để gắn cờ ngoại lệ hoặc gộp nhiều trường hợp chấp nhận được vào một công thức duy nhất, thay vì lồng nhiều lớp IF lặp lại."
Bài trước, AND đòi hỏi tất cả điều kiện đều đúng. OR nới lỏng yêu cầu đó xuống mức thấp nhất: chỉ cần một điều kiện đúng là đủ.
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
=OR(dieu_kien1, dieu_kien2, ...)
Trả về TRUE nếu ít nhất một điều kiện đúng, FALSE chỉ khi tất cả điều kiện đều sai.
Ứng dụng: gắn cờ ngoại lệ khi bất kỳ dấu hiệu bất thường nào xuất hiện
=IF(OR(TonKho<0,GiaBan<0),"Cần kiểm tra dữ liệu","Bình thường")
Chỉ cần một trong hai — tồn kho âm hoặc giá bán âm — đã đủ để gắn cờ cần kiểm tra lại dữ liệu, không cần cả hai điều kiện cùng xảy ra mới báo động.
Ứng dụng: gộp nhiều trường hợp chấp nhận được vào một công thức
=IF(OR(NgayLam="Thứ Bảy",NgayLam="Chủ Nhật"),"Cuối tuần","Ngày thường")
Thay vì viết hai lớp IF riêng cho Thứ Bảy và Chủ Nhật rồi mới gộp lại, OR gom cả hai điều kiện "chấp nhận được" vào cùng một chỗ, đọc công thức cũng rõ ràng hơn: "nếu là Thứ Bảy hoặc Chủ Nhật".
Cùng vấn đề với AND: OR cũng không ngắn mạch
Giống hệt AND đã nói ở bài trước, OR cũng tính toán toàn bộ các đối số trước khi kết luận, dù về mặt logic có thể đã biết kết quả sớm hơn:
=OR(B2=0,C2/B2>10)
Nếu B2 khác 0 và điều kiện đầu B2=0 đã là FALSE, đáng lẽ vẫn cần tính điều kiện thứ hai để biết OR — điểm khác ở đây không phải lỗi logic, mà là trường hợp B2=0 đúng: dù điều kiện đầu đã đủ để kết luận OR là TRUE ngay, Excel vẫn tính C2/B2 phía sau, và phép chia cho 0 đó báo lỗi #DIV/0! lan ra cả công thức — bất kể điều kiện đầu đã cho biết chắc chắn kết quả là TRUE.
Kết hợp AND và OR trong cùng một công thức
=IF(AND(DiemThi>=50,OR(ThamGia="Đủ",MienThi="Có")),"Đạt","Không đạt")
Hai hàm có thể lồng vào nhau để diễn đạt logic phức tạp hơn: đạt yêu cầu khi điểm thi từ 50 trở lên và (đã tham gia đủ hoặc được miễn thi) — đúng cấu trúc "một điều kiện bắt buộc, cộng thêm một trong hai điều kiện tuỳ chọn".
Tổng kết
OR trả về TRUE khi có ít nhất một điều kiện đúng, dùng phổ biến để gắn cờ ngoại lệ hoặc gộp nhiều trường hợp chấp nhận được. Cùng lưu ý với AND: Excel tính hết toàn bộ đối số, không ngắn mạch, nên một đối số có nguy cơ lỗi vẫn có thể làm lỗi lan ra cả công thức dù kết quả cuối đã được quyết định từ điều kiện trước đó.
Đọc tiếp trong cùng cụm bài: NOT — đảo ngược một giá trị luận lý, đôi khi diễn đạt rõ ý hơn viết điều kiện thuận.
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ủ đề
NOT: đảo ngược một giá trị luận lý, đôi khi diễn đạt rõ ý hơn viết điều kiện thuận
NOT đảo ngược TRUE thành FALSE và ngược lại. Đơn giản nhưng đôi khi giúp công thức đọc rõ ý hơn hẳn — nhất là khi ghép với các hàm ISBLANK, ISERROR vốn đã mang sẵn ý phủ định trong tên gọi.
AND: kiểm tra tất cả điều kiện cùng đúng, và một quy tắc tính toán dễ bị bỏ qua
AND trả về TRUE khi tất cả điều kiện đưa vào đều đúng — một trong những hàm được dùng nhiều nhất bên trong IF. Excel không tính AND theo kiểu ngắn mạch như nhiều ngôn ngữ lập trình, nên mọi đối số đều được tính hết, kể cả khi không cần thiết.
TRUE, FALSE: hai hàm không đối số, và vì sao gõ trong ngoặc kép lại thành một thứ khác hẳn
TRUE() và FALSE() là hai hàm ngắn nhất Excel có — không nhận đối số nào, chỉ trả về đúng một giá trị luận lý cố định. Bài này cũng giải thích vì sao gõ \"TRUE\" trong dấu ngoặc kép lại tạo ra một thứ hoàn toàn khác, dùng ISLOGICAL để phân biệt.
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.