
Công thức chung
= IF(AND(A1="x",B1>=100),1.5, IF(AND(A1="y",B1=100),1.3, IF(AND(A1="y",B1< 100),1.2, 1.1))))
Tóm lược
Để đánh giá một số tùy chọn với câu lệnh IF lồng nhau, một cách tiếp cận là sử dụng IF riêng biệt trên mỗi dòng để hiển thị kết quả của mỗi bộ kiểm tra logic. Bằng cách thêm dấu ngắt dòng sau mỗi hàm IF, công thức sẽ tự ghi lại. Trong ví dụ được hiển thị, công thức trong D5 là:
= IF(AND(B5="red",C5>=100),1.5, IF(AND(B5="red",C5=100),1.3, IF(AND(B5="blue",C5<100),1.2, 1.1))))
Giải trình
Công thức này dựa trên một kỹ thuật được gọi là "IF lồng nhau" để xử lý một loạt các tùy chọn và kết quả. Với các IF lồng nhau, một hàm IF được lồng vào bên trong hàm IF khác, một quá trình được giải thích chi tiết ở đây.
Công thức trong ví dụ này có chủ đích dài dòng hơn cần thiết để "hiển thị" tất cả các tùy chọn và kết quả có thể có theo cách dễ hiểu và dễ duy trì hơn. Bí quyết là cấu trúc công thức với các dấu ngắt dòng để hiển thị mỗi IF trên một dòng riêng biệt cùng với "kết quả đúng" cho IF đó. "Kết quả sai" là câu lệnh IF sau. Thông báo kết quả sai cuối cùng sẽ "bắt" bất kỳ trường hợp nào không đạt tất cả các lần kiểm tra trước đó.
Về cơ bản, chúng tôi đang sử dụng ngắt dòng để xây dựng một "bảng" mà mắt người có thể dễ dàng đọc được. Để giới hạn các hàm IF, chúng tôi đang sử dụng hàm AND để chạy nhiều hơn một kiểm tra logic tại một thời điểm. Hàm AND bên trong mỗi hàm IF kiểm tra cả màu sắc và giá trị.
Lưu ý có thể sử dụng Alt + Enter để enter để nhập dòng mới trên thanh công thức. Bạn sẽ cần mở rộng thanh công thức theo chiều dọc để xem nhiều dòng cùng một lúc.
Thêm điều kiện
Cách tiếp cận công thức này có thể được mở rộng để đánh giá nhiều lựa chọn hơn. Hàm AND có thể xử lý các bài kiểm tra logic hơn và bạn có thể kết hợp hàm AND với hàm OR nếu cần. Bạn cũng có thể thay thế AND và OR bằng logic boolean. Cuối cùng, bạn cũng có thể sử dụng hàm IFS trong các phiên bản Excel mới hơn để giảm việc lồng vào nhau.
Kết quả như tính toán
Mặc dù ví dụ trên hiển thị kết quả số cho mỗi tập hợp tùy chọn, công thức có thể được tùy chỉnh để chạy phép tính thay thế bằng cách thay thế các giá trị mã cứng bằng bất kỳ biểu thức công thức chuẩn nào.