Bài 1 · Chương 7: Hàm logic
Hàm IF: chọn một trong hai kết quả
Viết biểu thức so sánh với =, <>, >, <, >=, <= cho kết quả TRUE hoặc FALSE, dùng IF để trả về chữ hoặc số theo điều kiện như Đạt hoặc Không đạt, đặt chữ trong dấu nháy kép và để ngưỡng ở một ô riêng.
Mục lục bài
Ôn lại trước khi học
Thử nhớ lại trước, rồi mới xem đáp án.
Bạn lọc danh sách theo phòng KD và các nhân viên phòng khác biến mất. Họ có bị xóa không, và làm sao hiện lại tất cả?
Xem đáp án
Họ chỉ bị ẩn, không bị xóa. Chọn Clear Filter ở cột đang lọc để hiện lại toàn bộ dữ liệu.Viết công thức cộng hai vùng B2:B6 và D2:D6 bằng một hàm SUM.
Xem đáp án
Công thức là=SUM(B2:B6,D2:D6). Mỗi vùng là một đối số, ngăn cách bằng dấu phân cách đối số.Ô ngưỡng nằm ở G1. Khi sao chép công thức xuống các hàng dưới, bạn viết ô G1 thế nào để nó đứng yên, và phím nào thêm dấu
$nhanh?Xem đáp án
Viết$G$1, địa chỉ có dấu$giữ nguyên khi sao chép. Chọn địa chỉ trong thanh công thức rồi nhấn F4 để đổi kiểu địa chỉ.
Mục tiêu
Sau bài này bạn có thể:
- Viết biểu thức so sánh với
=,<>,>,<,>=,<=cho kết quả TRUE hoặc FALSE. - Dùng
IFtrả về chữ hoặc số theo điều kiện, ví dụ Đạt hoặc Không đạt. - Đặt chữ trong dấu nháy kép và để ngưỡng ở ô riêng để dễ thay đổi.
Ví dụ có lời giải
Giáo viên cần điền cột Kết quả: học sinh có Điểm TB từ 5 trở lên là Đạt, còn lại là Không đạt. Hàm IF chọn một trong hai kết quả theo một điều kiện, nên với ô C2 bạn viết =IF(C2>=5,"Đạt","Không đạt").
Trước hết, điều kiện là một phép so sánh. Khi so sánh hai giá trị, kết quả là TRUE hoặc FALSE.
Bảng dưới đây dùng khi ô C2 chứa số 5.
| Dấu so sánh | Nghĩa | Ví dụ khi C2 là 5 | Kết quả |
|---|---|---|---|
= | Bằng | C2=5 | TRUE |
> | Lớn hơn | C2>5 | FALSE |
< | Nhỏ hơn | C2<5 | FALSE |
>= | Lớn hơn hoặc bằng | C2>=5 | TRUE |
<= | Nhỏ hơn hoặc bằng | C2<=5 | TRUE |
<> | Khác (không bằng) | C2<>5 | FALSE |
- logical_testđiều kiện cần kiểm tra
Bắt buộc. Một phép so sánh, như C2>=5.
- value_if_truekết quả nếu điều kiện đúng
Bắt buộc. Giá trị hàm trả về khi kết quả của logical_test là TRUE.
- value_if_falsekết quả nếu điều kiện saiTùy chọn
Tùy chọn. Giá trị hàm trả về khi kết quả của logical_test là FALSE.
Bảng điểm của lớp có sáu học sinh. Cột Kết quả đang trống.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | STT | Họ và tên | Điểm TB | Kết quả |
| 2 | 1 | Nguyễn Văn An | 8.5 | |
| 3 | 2 | Trần Thị Bình | 4.5 | |
| 4 | 3 | Lê Quang Chi | 5.0 | |
| 5 | 4 | Phạm Hồng Dung | 7.0 | |
| 6 | 5 | Võ Minh Đức | 3.5 | |
| 7 | 6 | Đỗ Thu Hà | 6.0 |
Điền cột Kết quả: Đạt hoặc Không đạt
Làm gì: Bấm ô D2, rồi gõ
=IF(.Vì sao: IF cần ba phần: điều kiện, kết quả khi đúng và kết quả khi sai. Ba phần này cách nhau bằng dấu phân cách đối số.
- Chỗ hay sai
Làm gì: Gõ điều kiện
C2>=5, rồi dấu phân cách.Vì sao: Dấu
>=nghĩa là lớn hơn hoặc bằng, nên học sinh đúng 5 điểm vẫn đạt. Nếu bạn gõ>, học sinh 5.0 điểm sẽ bị Không đạt. - Chỗ hay sai
Làm gì: Gõ
"Đạt", một dấu phân cách,"Không đạt"và ngoặc đóng. Nhấn Enter.Vì sao: Chữ phải nằm trong dấu nháy kép. Thiếu nháy kép thì Excel hiểu chữ đó là một tên chưa có và báo #NAME?. Số thì không cần nháy kép.
Làm gì: Sao chép D2 xuống D7. Các ô hiện: Đạt, Không đạt, Đạt, Đạt, Không đạt, Đạt.
Vì sao: Học sinh có 8.5, 5.0, 7.0 và 6.0 điểm đạt. Học sinh 4.5 và 3.5 điểm thì không. Công thức ở mỗi hàng đọc điểm của chính hàng đó.
Làm gì: Đưa ngưỡng ra ô riêng: gõ
5vào ô G1 (ghi nhãnNgưỡng đạtở F1), rồi đổi công thức ở D2 thành=IF(C2>=$G$1,"Đạt","Không đạt")và sao chép xuống.Vì sao: Công thức đọc ngưỡng từ ô G1, nên muốn đổi ngưỡng bạn chỉ sửa một ô. Dấu $ giữ ô G1 đứng yên khi sao chép xuống các hàng dưới.
Tự hỏi mình
- Vì sao học sinh có 5.0 điểm đạt khi dùng >= nhưng không đạt khi dùng >?
- Nếu nhà trường đổi ngưỡng đạt thành 5.5, bạn phải sửa bao nhiêu ô nếu ngưỡng nằm ở G1?
Điền tiếp công thức
Mỗi câu bỏ trống nhiều hơn câu trước. Chữ viết trong dấu nháy kép.
Câu 1. Bảng chuyên cần có Ngày công ở F2. Từ 22 ngày công trở lên ghi Đủ, còn lại ghi Thiếu.
Câu 2. Doanh số ở E2, chỉ tiêu ở H1. Đạt chỉ tiêu (doanh số lớn hơn hoặc bằng chỉ tiêu) thì ghi Đạt, chưa đạt thì ghi Chưa đạt.
Câu 3. Tồn kho ở B2. Bằng 0 thì ghi Hết hàng, còn lại ghi Còn hàng.
Tìm chỗ sai
Một công thức Kết quả báo #NAME?. Bấm vào phần bạn nghĩ là sai.
Tìm chỗ sai
Công thức này có một chỗ sai. Bấm vào phần bạn nghĩ là sai.
Sau đây là phần luyện tập, gồm hai bài: xếp loại Đạt hoặc Không đạt trên bảng điểm, và tính thưởng chuyên cần theo ngưỡng ở một ô riêng.
Đọc xong, giờ thử
Luyện tập ngay (2 bài tập)
Làm trực tiếp trên lưới trong trình duyệt. Mỗi lần bấm chấm bài, DeskLab kiểm tra kết quả và gợi ý nếu bạn chưa làm đúng.
Bắt đầu luyện tậpChấm tự động ngay trên máy bạn. Không cần đăng nhập. Tiến độ lưu trên trình duyệt này.
Kiểm tra nhanh
Công thức nào cho học sinh đúng 5 điểm kết quả Đạt?
Công thức nào viết chữ trong IF đúng cách?
Khi ô C2 chứa số 5, biểu thức C2<>5 cho kết quả gì?
Lỗi hay gặp
Kết quả báo
#NAME?khi trả về chữ.- Nguyên nhân
- Chữ trong công thức không được đặt trong dấu nháy kép, nên Excel hiểu đó là một tên.
- Cách sửa
- Đặt chữ trong dấu nháy kép:
=IF(C2>=5,"Đạt","Không đạt"). Số và TRUE, FALSE thì không cần nháy kép.
Viết
=>hoặc=<thay vì>=và<=.- Nguyên nhân
- Các dấu so sánh của Excel là
>=và<=, với dấu lớn hơn hoặc nhỏ hơn đứng trước dấu bằng. - Cách sửa
- Viết
>=cho lớn hơn hoặc bằng và<=cho nhỏ hơn hoặc bằng.
Học sinh đúng 5 điểm bị Không đạt.
- Nguyên nhân
- Bạn dùng
>thay vì>=, nên mức đúng bằng ngưỡng bị loại. - Cách sửa
- Dùng
>=khi mức bằng ngưỡng cũng đạt:=IF(C2>=5,"Đạt","Không đạt").
Kết quả không đúng với những ô gõ số kèm chữ như
12 cái.- Nguyên nhân
- Ô đó chứa chữ chứ không phải số.
- Cách sửa
- Sửa ô thành số thật rồi để công thức tính lại.
Trên Excel thật
- Số tiền trong công thức: Lưới hiện số tiền theo kiểu
500,000, nhưng khi viết số trong công thức, hãy gõ liền như500000. Dấu phẩy hoặc chấm phẩy trong công thức là dấu ngăn cách đối số, nên không dùng nó để chia hàng nghìn.