IF
Hàm IF trả về một trong hai giá trị, tùy thuộc vào một biểu thức được chỉ định ước tính thành một giá trị lô-gic TRUE hay FALSE.
IF(biểu thức giả định; nếu đúng; nếu sai)
biểu thức giả định: Biểu thức lô-gic. biểu thức giả định có thể chứa bất kỳ giá trị nào miễn là biểu thức có thể được ước tính dưới dạng một giá trị lô-gic. Nếu biểu thức ước tính cho một số, 0 sẽ được coi là FALSE, và bất kỳ số nào khác sẽ được coi là TRUE.
nếu đúng: Giá trị được trả về nếu biểu thức giả định là TRUE. nếu đúng có thể chứa bất kỳ giá trị nào. Nếu bỏ qua nếu đúng (có dấu chấm phẩy, nhưng không có giá trị) và biểu thức giả định ước tính thành TRUE, IF trả về 0.
nếu sai: Một đối số tùy chọn chỉ định giá trị được trả lại nếu biểu thức giả định là FALSE. nếu sai có thể chứa bất kỳ giá trị nào. Nếu bỏ qua nếu sai (có dấu chấm phẩy, nhưng không có giá trị) và biểu thức giả định ước tính thành FALSE, IF trả về 0. Nếu hoàn toàn bỏ qua nếu sai (không có dấu chấm phẩy sau nếu đúng) và biểu thức giả định ước tính thành FALSE, IF trả về FALSE.
Ghi chú
Một trong hai hoặc cả nếu đúng và nếu sai đều có thể chứa các hàm IF bổ sung (thường được gọi là hàm IF được lồng).
Sử dụng IF để thực hiện các phép so sánh đơn giản |
---|
Bảng bên dưới hiển thị cách đơn giản để theo dõi điểm của sinh viên. |
A | B | C | D | E | F | |
---|---|---|---|---|---|---|
1 | Sinh viên | Điểm kiểm tra 1 | Điểm kiểm tra 2 | Điểm cuối cùng | Cấp chữ cái | Kết quả cuối cùng |
2 | 1 | 56 | 59 | 59 | F | Trượt |
3 | 2 | 75 | 84 | 84 | B | Đỗ |
4 | 3 | 100 | 93 | 100 | A | Đỗ |
Bạn có thể thực hiện phép so sánh IF đơn giản bằng dữ liệu này. Dưới đây là một số cách sử dụng hàm IF: |
Trả về giá trị văn bản dựa trên tiêu chí: Trong công thức này, các đối số sau đây được sử dụng:
Công thức này chỉ định kết quả "Đỗ" nếu điểm kiểm tra của Sinh viên 1 từ 60 trở lên; nếu không sẽ trả về "Trượt". |
Trả về giá trị số dựa trên tiêu chí: Trong công thức này, các đối số sau đây được sử dụng:
Công thức này tính điểm cuối cùng dưới dạng điểm cao hơn của hai điểm kiểm tra và có thể sửa đổi dễ dàng cho bất kỳ sinh viên nào khác trong bảng phía trên bằng cách thay đổi các tham chiếu ô để khớp với các điểm số của sinh viên chính xác. |
Sử dụng hàm IF được lồng để kiểm tra các điều kiện khác: Công thức phía trên chỉ định kết quả "Đỗ" nếu ít nhất một trong số các điểm kiểm tra của sinh viên từ 60 trở lên. Công thức phía trên chỉ định cấp chữ cái dựa trên điểm cuối cùng của sinh viên. Ghi chú: Với các hàm IF được lồng, thứ tự so sánh có ý nghĩa quan trọng do công thức dừng sau câu lệnh đúng đầu tiên. Ví dụ: nếu bạn đã muốn thêm điều kiện mới vào công thức cấp chữ cái "không cố gắng" nếu sinh viên có điểm số là 0 thì bạn cần thêm điều kiện đó làm điều kiện đầu tiên. Việc thêm điều kiện đó ở cuối trả về "F" ngay cả khi điểm số là 0, do điều kiện đó sẽ được đánh giá là nhỏ hơn 60. Đó cũng là lý do không cần biểu thức giả định cho cấp chữ cái "A;" nếu điểm số của sinh viên không phải là "B," sau đó điểm số đó cũng không là bất kỳ cấp chữ cái nào khác và phải là "A". |
Hãy dùng thử |
---|
Để xem hàm IF được sử dụng trong bảng tính Numbers, hãy tạo bảng tính mới với mẫu "Sổ điểm". Xóa tên trong bảng Tổng quan về lớp và xem cách việc đó sẽ thay đổi giá trị trong cột "Điểm cuối cùng". Khám phá hàm được sử dụng trong cột "Điểm cuối cùng". |
Sử dụng IF với các hàm khác |
---|
Công thức sau đây hoạt động với ISBLANK để xác định xem ô có bị trống không. Trong công thức này, các đối số sau đây được sử dụng:
Đối với các kiểm tra phức tạp hơn, bạn cũng có thể kết hợp IF với AND, OR và NOT. |
Thực hiện nhiều việc hơn với IFS |
---|
Hàm IFS có thể được sử dụng để đánh giá một loạt các biểu thức và trả về giá trị dựa vào điều kiện đầu tiên là đúng, thay thế nhiều câu lệnh IF được lồng. |
Các ví dụ khác |
---|
=IF(A5>=0; "Nonnegative"; "Negative") trả về chữ "Nonnegative" nếu ô A5 chứa một số lớn hơn hoặc bằng 0 hoặc một giá trị không phải là số. Nếu ô A5 chứa một giá trị nhỏ hơn 0 thì hàm sẽ trả về giá trị "Negative". =IF(A5<>0, "Nonzero", "Zero") trả về chữ "Nonzero" nếu ô A5 chứa một số không phải là số 0. Nếu ô A5 chứa số 0 thì hàm sẽ trả về giá trị "Zero". =IF(IFERROR(OR(ISEVEN(B4+B5); ISODD(B4+B5)); FALSE); "All numbers"; "Not all numbers") trả về chữ "All numbers" nếu cả ô B4 và B5 đều chứa các số; nếu không sẽ trả về chữ "Not all numbers". Việc này được thực hiện bằng cách kiểm tra để xem tổng hai ô là chẵn hay lẻ. Nếu ô không phải là một số thì các hàm EVEN và ODD trả về lỗi và hàm IFERROR trả về FALSE; nếu không hàm trả về TRUE bởi vì EVEN hoặc ODD là TRUE. Vì vậy nếu ô B4 hoặc B5 không phải là giá trị số hoặc lô-gic thì câu lệnh IF trả về biểu thức nếu sai "Not all numbers"; nếu không trả về biểu thức nếu đúng "All numbers". |
Ví dụ – Tránh lỗi khi chia cho 0 |
---|
Thỉnh thoảng, bạn không thể xây dựng một bảng theo cách có thể tránh việc chia cho 0. Tuy nhiên, nếu xảy ra việc chia cho 0, kết quả là giá trị lỗi trong ô, thường không phải là kết quả mong muốn. Ví dụ này minh họa ba phương pháp ngăn ngừa lỗi này. Giả sử ô D2 và E2, mỗi ô chứa một số. E2 có thể chứa 0. Bạn muốn chia D2 cho E2, nhưng tránh lỗi chia cho 0. Mỗi phương pháp trong ba phương pháp sau trả về 0 nếu ô E2 bằng 0; ngược lại, mỗi phương pháp trả về giá trị của D2/E2. =IF(E2=0; 0; D2/E2) hoạt động bằng cách kiểm tra trực tiếp ô E2 để xem có bằng 0 không. =IFERROR(D2/E2; 0) hoạt động bằng cách trả về 0 nếu xảy ra lỗi. Chia cho 0 là một lỗi. =IF(ISERROR(D2/E2); 0; D2/E2) hoạt động bằng cách thực hiện kiểm tra lô-gic để xem D2/E2 là TRUE hay không. |
Ví dụ sử dụng REGEX |
---|
Giả sử A1 chứa "marina@example.com" =IF(A1 = REGEX("([A-Z0-9a-z._%+-]+)@([A-Za-z0-9.-]+\.[A-Za-z]{2,4})"); "Contains e-mail"; "No e-mail") trả về "Contains e-mail". |