Mục lục
Hướng dẫn giải thích cách sử dụng nhiều IF trong Excel và cung cấp một vài ví dụ về công thức If lồng nhau cho hầu hết các tác vụ phổ biến.
Nếu ai đó hỏi bạn thường sử dụng hàm Excel nào nhất, câu trả lời của bạn sẽ là gì? Trong hầu hết các trường hợp, đó là hàm IF của Excel. Một công thức If thông thường kiểm tra một điều kiện rất đơn giản và dễ viết. Nhưng nếu dữ liệu của bạn yêu cầu các bài kiểm tra logic phức tạp hơn với nhiều điều kiện thì sao? Trong trường hợp này, bạn có thể bao gồm một số hàm IF trong một công thức và nhiều câu lệnh If này được gọi là NẾU Lồng Trong Excel . Ưu điểm lớn nhất của câu lệnh If lồng nhau là nó cho phép bạn kiểm tra nhiều điều kiện và trả về các giá trị khác nhau tùy thuộc vào kết quả của những kiểm tra đó, tất cả trong một công thức duy nhất.
Microsoft Excel có giới hạn đối với các mức IF lồng nhau . Trong Excel 2003 trở xuống, cho phép tối đa 7 cấp độ. Trong Excel 2007 trở lên, bạn có thể lồng tối đa 64 hàm IF trong một công thức.
Hơn nữa trong hướng dẫn này, bạn sẽ tìm thấy một vài ví dụ Excel lồng nhau cùng với giải thích chi tiết về cú pháp và logic của chúng .
Ví dụ 1. Công thức IF lồng nhau cổ điển
Đây là một ví dụ điển hình về hàm If trong Excel với nhiều điều kiện. Giả sử bạn có danh sách học sinh ở cột A và điểm bài kiểm tra của họ ở cột B, và bạn muốn phân loại điểm theo các điểm sauđiều kiện:
- Xuất sắc: Trên 249
- Tốt: từ 249 đến 200, toàn diện
- Đạt yêu cầu: từ 199 đến 150, toàn diện
- Kém : Dưới 150
Và bây giờ, hãy viết một hàm IF lồng nhau dựa trên các tiêu chí trên. Đó được coi là một cách thực hành tốt để bắt đầu với điều kiện quan trọng nhất và giữ cho các chức năng của bạn càng đơn giản càng tốt. Công thức IF lồng nhau trong Excel của chúng tôi như sau:
=IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))
Và hoạt động chính xác như bình thường:
Hiểu logic IF lồng nhau của Excel
Tôi nghe một số người nói rằng hệ số If trong Excel đang khiến họ phát điên :) Hãy thử nhìn vấn đề ở một góc độ khác:
Thực chất công thức là gì yêu cầu Excel thực hiện là đánh giá logic_test của hàm IF đầu tiên và nếu điều kiện được đáp ứng, hãy trả về giá trị được cung cấp trong đối số value_if_true . Nếu điều kiện của hàm If thứ nhất không được đáp ứng, thì hãy kiểm tra câu lệnh If thứ 2, v.v.
IF( check ifB2>=249, if true - return"Xuất sắc", hoặc ngược lạiIF( kiểm tra nếu B2>=200, nếu đúng - trả về "Tốt", hoặc ngược lại
IF( kiểm tra nếu B2>150, nếu đúng - trả về "Đạt yêu cầu", nếu sai -
trả về "Kém")))
Ví dụ 2. Nhiều Nếu với các phép tính số học
Đây là một nhiệm vụ điển hình khác: đơn giá thay đổi tùy thuộc vào số lượng được chỉ định và mục tiêu của bạn là viết một công thứctính toán tổng giá cho bất kỳ số lượng mặt hàng nào được nhập vào một ô cụ thể. Nói cách khác, công thức của bạn cần kiểm tra nhiều điều kiện và thực hiện các phép tính khác nhau tùy thuộc vào phạm vi số lượng mà số lượng được chỉ định rơi vào:
Số lượng đơn vị | Giá mỗi đơn vị |
1 đến 10 | $20 |
1 đến 19 | $18 |
20 đến 49 | $16 |
50 đến 100 | $13 |
Hơn 101 | $12 |
Nhiệm vụ này cũng có thể được thực hiện bằng cách sử dụng nhiều hàm IF. Logic giống như trong ví dụ trên, điểm khác biệt duy nhất là bạn nhân số lượng đã chỉ định với giá trị được trả về bởi các IF lồng nhau (tức là giá tương ứng cho mỗi đơn vị).
Giả sử người dùng nhập số lượng vào ô B8, công thức như sau:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Và kết quả sẽ giống như thế này:
Như bạn hiểu , ví dụ này chỉ minh họa cách tiếp cận chung và bạn có thể dễ dàng tùy chỉnh hàm If lồng nhau này tùy thuộc vào nhiệm vụ cụ thể của mình.
Ví dụ: thay vì "mã hóa cứng" giá trong công thức, bạn có thể tham khảo các ô chứa các giá trị đó (các ô từ B2 đến B6). Điều này sẽ cho phép người dùng của bạn chỉnh sửa dữ liệu nguồn mà không cần phải cập nhật công thức:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Hoặc, bạn có thể thêm một hàm IF bổ sung (s) sửa phần trên,giới hạn dưới hoặc cả hai giới hạn của phạm vi số tiền. Khi số lượng nằm ngoài phạm vi, công thức sẽ hiển thị thông báo "ngoài phạm vi". Ví dụ:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Các công thức IF lồng nhau được mô tả ở trên hoạt động trong tất cả các phiên bản Excel. Trong Excel 365 và Excel 2021, bạn cũng có thể sử dụng hàm IFS cho mục đích tương tự.
Người dùng Excel nâng cao đã quen thuộc với công thức mảng, có thể sử dụng công thức này về cơ bản hoạt động giống như hàm IF lồng nhau Thảo luận ở trên. Mặc dù công thức mảng khó hiểu hơn nhiều, nhưng hãy để viết, nhưng nó có một lợi thế không thể chối cãi - bạn chỉ định phạm vi ô chứa các điều kiện của mình thay vì tham chiếu từng điều kiện riêng lẻ. Điều này làm cho công thức trở nên linh hoạt hơn và nếu người dùng của bạn tình cờ thay đổi bất kỳ điều kiện hiện có nào hoặc thêm một điều kiện mới, thì bạn sẽ chỉ phải cập nhật một tham chiếu phạm vi duy nhất trong công thức.
Mẹo IF lồng nhau trong Excel và thủ thuật
Như bạn vừa thấy, không có khoa học tên lửa nào trong việc sử dụng nhiều IF trong Excel. Các mẹo sau đây sẽ giúp bạn cải thiện các công thức IF lồng nhau và ngăn ngừa các lỗi thường gặp.
Giới hạn IF lồng nhau
Trong Excel 2007 - Excel 365, bạn có thể lồng tối đa 64 hàm IF. Trong các phiên bản cũ hơn của Excel 2003 trở xuống, có thể sử dụng tối đa 7 hàm IF lồng nhau. Tuy nhiên, thực tế là bạn có thể lồng nhiều IF vào một công thức không có nghĩa là bạn nên làm như vậy.Xin lưu ý rằng mỗi cấp độ bổ sung làm cho công thức của bạn trở nên khó hiểu và khó khắc phục sự cố hơn. Nếu công thức của bạn có quá nhiều mức lồng nhau, thì bạn có thể muốn tối ưu hóa nó bằng cách sử dụng một trong những lựa chọn thay thế này.
Thứ tự của các hàm IF lồng nhau rất quan trọng
Hàm IF lồng nhau trong Excel đánh giá các bài kiểm tra logic theo thứ tự chúng xuất hiện trong công thức và ngay sau khi một trong các điều kiện được đánh giá là TRUE, các điều kiện tiếp theo sẽ không được kiểm tra. Nói cách khác, công thức dừng sau kết quả TRUE đầu tiên.
Hãy xem cách nó hoạt động trong thực tế. Với B2 bằng 274, công thức IF lồng nhau bên dưới sẽ đánh giá bài kiểm tra logic đầu tiên (B2>249) và trả về "Xuất sắc" vì bài kiểm tra logic này là ĐÚNG:
=IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))
Bây giờ, hãy đảo ngược thứ tự của các hàm IF:
=IF(B2>150, "Satisfactory", IF(B2>200, "Good", IF(B2>249, "Excellent", "Poor")))
Công thức kiểm tra điều kiện đầu tiên và vì 274 lớn hơn 150 nên kết quả của kiểm tra logic này cũng là TRUE. Do đó, công thức trả về "Thỏa mãn" mà không cần kiểm tra các điều kiện khác.
Bạn thấy đấy, việc thay đổi thứ tự của các hàm IF sẽ thay đổi kết quả:
Đánh giá công thức logic
Để xem từng bước luồng logic của công thức IF lồng nhau của bạn, hãy sử dụng tính năng Đánh giá công thức nằm trên tab Công thức , trong Kiểm tra công thức tập đoàn. Biểu thức được gạch chân là phần hiện đang được đánh giá và nhấp vào nút Đánh giá sẽ hiển thị cho bạn tất cả các bước trong quy trình đánh giá.
Ví dụ: quá trình đánh giá thử nghiệm logic đầu tiên của công thức IF lồng nhau được hiển thị trong ảnh chụp màn hình bên dưới sẽ diễn ra như sau: B2>249; 274>249; THẬT; Tuyệt vời.
Cân bằng dấu ngoặc đơn của các hàm IF lồng nhau
Một trong những thách thức chính với IF lồng nhau trong Excel là khớp các cặp dấu ngoặc đơn. Nếu dấu ngoặc đơn không khớp, công thức của bạn sẽ không hoạt động. May mắn thay, Microsoft Excel cung cấp một số tính năng có thể giúp bạn cân bằng các dấu ngoặc đơn khi chỉnh sửa công thức:
- Nếu bạn có nhiều hơn một bộ dấu ngoặc đơn, các cặp dấu ngoặc đơn sẽ được tô bóng bằng các màu khác nhau. rằng dấu ngoặc đơn mở khớp với dấu ngoặc đơn đóng.
- Khi bạn đóng dấu ngoặc đơn, Excel sẽ tô sáng nhanh cặp trùng khớp. Hiệu ứng in đậm hoặc "nhấp nháy" tương tự được tạo ra khi bạn di chuyển qua công thức bằng cách sử dụng các phím mũi tên.
Để biết thêm thông tin, vui lòng xem Khớp dấu ngoặc đơn trong các công thức Excel.
Xử lý văn bản và số khác nhau
Khi xây dựng các bài kiểm tra logic cho các công thức IF lồng nhau của bạn, hãy nhớ rằng văn bản và số phải được xử lý khác nhau - luôn đặt các giá trị văn bản trong dấu ngoặc kép, nhưng đừng bao giờ đặt dấu ngoặc kép xung quanh các con số:
Đúng: =IF(B2>249, "Excellent",…)
Sai: =IF(B2> “249”, “Xuất sắc”,…)
Bài kiểm tra logic củacông thức thứ hai sẽ trả về SAI ngay cả khi giá trị trong B2 lớn hơn 249. Tại sao? Bởi vì 249 là một số và "249" là một chuỗi số, đây là hai giá trị khác nhau.
Thêm dấu cách hoặc ngắt dòng để làm cho các IF lồng nhau dễ đọc hơn
Khi xây dựng một công thức có nhiều các mức IF lồng nhau, bạn có thể làm cho logic của công thức rõ ràng hơn bằng cách tách các hàm IF khác nhau bằng dấu cách hoặc ngắt dòng. Excel không quan tâm đến khoảng cách thừa trong công thức, vì vậy bạn có thể không lo lắng về việc xáo trộn nó.
Để di chuyển một phần nhất định của công thức sang dòng tiếp theo, chỉ cần nhấp vào nơi bạn muốn chèn dấu ngắt dòng , rồi nhấn Alt + Enter . Sau đó, hãy mở rộng thanh công thức nếu cần và bạn sẽ thấy rằng công thức IF lồng nhau của mình đã trở nên dễ hiểu hơn nhiều.
Các lựa chọn thay thế cho IF lồng nhau trong Excel
Để vượt qua giới hạn bảy hàm IF lồng nhau trong Excel 2003 và các phiên bản cũ hơn, đồng thời để làm cho công thức của bạn gọn và nhanh hơn, hãy cân nhắc sử dụng các lựa chọn thay thế sau cho các hàm Excel IF lồng nhau.
- Để kiểm tra nhiều điều kiện và trả về các giá trị khác nhau dựa trên kết quả của những kiểm tra đó, bạn có thể sử dụng hàm CHOOSE thay vì các IF lồng nhau.
- Tạo bảng tham chiếu và sử dụng VLOOKUP với đối sánh gần đúng như minh họa trong ví dụ sau: VLOOKUP thay vì IF lồng nhau trong Excel.
- Sử dụng IF với các hàm logic OR / AND, như minh họa trong cácví dụ.
- Sử dụng công thức mảng như trong ví dụ này.
- Kết hợp nhiều câu lệnh IF bằng cách sử dụng hàm CONCATENATE hoặc toán tử nối (&). Bạn có thể tìm thấy ví dụ về công thức tại đây.
- Đối với người dùng Excel có kinh nghiệm, giải pháp thay thế tốt nhất cho việc sử dụng nhiều hàm IF lồng nhau có thể là tạo một hàm trang tính tùy chỉnh bằng VBA.
Đây là cách thực hiện bạn sử dụng công thức If trong Excel với nhiều điều kiện. Tôi cảm ơn bạn đã đọc và hy vọng sẽ gặp bạn trên blog của chúng tôi vào tuần tới.
Sách bài tập thực hành để tải xuống
Các câu lệnh Excel lồng nhau (tệp .xlsx)