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 sẽ 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 sẽ 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 sẽ 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).
Ví dụ |
---|
=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(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 sẽ trả về lỗi và hàm IFERROR sẽ trả về FALSE; nếu không hàm sẽ 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 sẽ trả về biểu thức nếu sai "Not all numbers"; nếu không sẽ 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 sẽ 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 "john@appleseed.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". |