dvu58 đã viết:
Tôi có 1 bảng tính: HamIFbisaovay (post kèm theo).
T = IF(Q3>=14,5; "Đ"; IF(R3>=14,5; "đ-thêm"; " "))
Vậy mà, kết quả là hàng loạt loại "đậu thêm" thòi ra!? Lạ quá.
Nguyên nhân công thức bạn sai là vì giá trị R3 có thể là số (14,5) hoặc 1 ký tự trắng " " do công thức tại ô R3= IF(OR(ISBLANK(K3); K3=" "; K3=0); " "; IF(K3>=1; IF(Q3<=14,5; K3+Q3; " "); " ")) trả về khi K3 không có giá trị.
Do đó,nếu T3<14,5 và R3=" " thỉ công thức IF(Q3>=14,5; "Đ"; IF(R3>=14,5; "đ-thêm"; " ")) sẽ cho kết quả "đ-thêm".
Nguyên nhân là công thức trên hoạt động theo trình tự sau:
1. Hàm IF đầu tiên xét thấy Q3<14,5 (sai) nên chuyển tiếp sang cho hàm IF thứ hai.
2. Hàm IF thứ hai xét R3>14,5 (đúng) nên cho kết quả là "đ-thêm" như bài Excel của bạn. Nguyên nhân bạn nhầm là vì R3 có giá trị là " " thì lớn hơn 14,5 (theo bạn thì " " <14.5 là sai!).
Theo thứ tự sắp xếp của Excel; dãy "z", 1, 15, " ", "c" thì sắp xếp theo tứ tự tự nhỏ đến lớn là 1 < 15 < " " < "c" < "z" (số < khoảng trắng < chữ cái).
Để khắc phục, tôi đề nghị công thức chỉnh lại như sau:
IF(Q3>=14.5, "Đ",
IF(R3=" ", " ", IF(R3>=14.5, "đ-thêm", " ")))
Bạn cần kiểm tra R3=" " trước, sau đó mới kiểm tra điều kiện đỗ thêm.