Mục lục
Tổng quan về lồng ghép các hàm IF với nhau
Khi có nhiều điều kiện, mỗi điều kiện đòi hỏi trả về các giá trị khác nhau thì cần phải lồng ghép nhiều hàm IF với nhau.
Ví dụ: về việc tặng quà dựa vào số lượng mua hàng
- Nếu số hàng mua dưới 100 cái thì không tặng gì hết
- Nếu số hàng mua từ 100 cái thì tặng nón kết
- Nếu số hàng mua từ 200 cái thì tặng cái áo
- Nếu số hàng mua từ 300 cái thì tặng bộ vest
- Nếu số hàng mua từ 400 cái trở lên thì tặng tivi
Như vậy ta phải dùng nhiều hàm IF lồng với nhau.
Cấu trúc sẽ là: IF(điều kiện 1, giá trị mong muốn 1, IF(điều kiện 2, giá trị mong muốn 2, giá trị mong muốn khi không thỏa cả 1 và 2))
Như vậy hàm sẽ chạy như sau:
- Xét điều kiện 1, nếu thỏa thì trả về giá trị mong muốn 1.
- Nếu không thỏa điều kiện 1 thì xét hàm IF thứ 2.
- Nếu thỏa điều kiện 2 thì trả về giá trị mong muốn 2.
- Nếu không thỏa điều kiện 2 thì trả về giá trị mong muốn khi không thỏa cả 1 và 2.
Nếu ta có thêm nhiều điều kiện nữa thì hàm sẽ tiếp tục chạy tương tự. Trong Excel cho phép có đến 64 hàm IF lồng ghép vào nhau.
Nếu thỏa bất kỳ điều kiện nào đến trước thì hàm sẽ lập tức dừng lại ngay tại đó và trả về giá trị tương ứng. Chính vì thế cần phải cẩn thận trong các điều kiện so sánh số.
Xem thêm bài viết mà trungtamtinhoc.edu.vn đã viết ở bài trước, về cách sử dụng hàm IF cơ bản, kèm các ví dụ thực tế tại đây.
Ví dụ minh họa
Ví dụ 1: hãy lập công thức cho cột quà tặng thỏa các điều kiện sau:
- Nếu số hàng mua dưới 100 cái thì không tặng gì hết
- Nếu số hàng mua từ 100 cái thì tặng nón kết
- Nếu số hàng mua từ 200 cái thì tặng cái áo
- Nếu số hàng mua từ 300 cái thì tặng bộ vest
- Nếu số hàng mua từ 400 cái trở lên thì tặng tivi
Ở bài toán này cẩn thận nhầm lẫn. Nếu ngay từ đầu ta đặt điều kiện “nếu mua hàng từ 100 cái” trước thì cho dù người đó có mua hơn 400 cái thì cũng sẽ thỏa điều kiện “mua hàng từ 100 cái” thì như vậy kết quả sẽ trả ra là tặng nón kết là sai với đề bài.
Cho nên trong trường hợp này ta cần xét điều kiện lớn trước nhỏ sau.
Ta có công thức: =IF(B2>=400,”tivi”,IF(B2>=300,”bộ vest”,IF(B2>=200,”cái áo”,IF(B2>=100,”nón kết”,””))))
Ví dụ 2: hãy xếp loại học sinh dựa vào điều kiện sau:
- Nếu điểm dưới 5 thì xếp loại trung bình.
- Nếu điểm từ 5 đến dưới 6,5 thì xếp loại trung bình.
- Nếu điểm từ 6,5 đến dưới 8 thì xếp loại khá.
- Nếu điểm từ 8 đến dưới 9 thì xếp loại giỏi.
- Nếu điểm từ 9 đến 10 thì xếp loại xuất sắc.
Như phân tích ở ví dụ 1 thì chúng ta nên xét điều kiện lớn trước nhỏ sau.
Ta có công thức: =IF(B2>=9,”xuất sắc”, IF(B2>=8,”giỏi”,IF(B2>=6.5,”khá”,IF(B2>=5,”trung bình”,”yếu”))))
Ta cũng có thể viết theo thứ tự từ điều kiện nhỏ đến lớn, tuy nhiên công thức sẽ dài và phức tạp hơn và phải dùng thêm hàm AND.
Ta có công thức: =IF(B2<5,”yếu”,IF(AND(B2>=5,B2<6.5),”trung bình”,IF(AND(B2>=6.5,B2<8),”khá”,IF(AND(B2>=8,B2<9),”giỏi”,”xuất sắc”))))
Thay thế bởi hàm IFS
Trong 2 ví dụ trên, ta có thể sử dụng hàm IFS để đơn giản hóa công thức.
Cấu trúc hàm IFS là: IFS (điều kiện 1, giá trị mong muốn khi thỏa điều kiện 1, điều kiện 2, giá trị mong muốn khi thỏa điều kiện 2,v.v…)
Làm lại các ví dụ trên bằng hàm IFS ta có công thức đơn giản như sau:
Ví dụ 1: =IFS(B2>=400,”tivi”,B2>=300,”bộ vest”,B2>=200,”cái áo”,B2>=100,”nón kết”,B2<100,””)
Ví dụ 2: =IFS(B2>=400,”tivi”,B2>=300,”bộ vest”,B2>=200,”cái áo”,B2>=100,”nón kết”,B2<100,””)
Trên đây là các ví dụ đơn giản về việc lồng ghép các hàm IF lại với nhau trong trường hợp yêu cầu nhiều điều kiện khác nhau.
Đối với yêu cầu nhiều điều kiện hơn nên cân nhắc sử dụng các hàm khác như các hàm dò tìm VLOOKUP và HLOOKUP mà trungtamtinhoc.edu.vn đã viết ở bài trước.
TTTH – Trungtamtinhoc.edu.vn