IF - Hàm kiểm tra Điều kiện dạng Nếu… Thì…

Một vấn đề được đặt ra có nhiều hướng giải quyết và mỗi hướng giải quyết thì sẽ dẫn đến những kết quả khác nhau. Trong công việc hằng ngày bạn sẽ gặp nhiều tính huống với mệnh đề “Nếu xảy ra thì sao” và ngược lại không xảy ra thì sao? Các kết quả khác nhau với từng điều kiện kiểm tra là điều tôi muốn nói đến ở đây và với Excel hàm If bạn cần phải rất quan tâm đến nó, vì sức mạnh không thể khước từ trong quá trình ứng dụng vào thực tế của nó. Chúng ta cùng tìm hiểu!

1. Để làm gì?

  • Kiểm tra các điều kiện theo đề bài Đúng hay Sai, Nếu đúng Thì thực hiện Công việc 1, còn nếu sai thì thực hiện Công việc 2

2. Dùng như thế nào?

Ví dụ minh họa?

Ví dụ 1: Điền Đạt hay Không đạt vào cột Kết quả sau?

Đề bài:

Dữ liệu: Bảng Kích thước hình học

Yêu cầu: Kiểm tra sai số cao độ tại các lý trình dưới đây Đạt hay Không đạt? Biết sai số cho phép nằm trong phạm vi (- 0,05m ÷ 0,05m)

if-1
 

Hướng dẫn:

Phân tích yêu cầu

  • Kiểm tra sai số Cao độ tại các Lý trình – Vùng dữ liệu F7:F11
  • Sai số phải thỏa mãn các điều kiện

Điều kiện 1: ≥-0,05m

Điều kiện 2: ≤0,05m

  • Nếu thỏa mãn tất cả các điều kiện thì xuất kết quả Đạt và ngược lại nếu một trong các điều kiện không thỏa mãn thì xuất kết quả là Không đạt.

Giải quyết yêu cầu

  • Theo đề bài biết được sai số cao độ nằm trong khoảng từ -0,05m đến 0,05mĐạt, nhìn vào cột F ta thấy rằng có hai giá trị lớn hơn 0,05m (0,08m và 0,10m). Vậy ta có thể điền thủ công vào cột HKết quả, nhưng còn một cách khác là dùng hàm If.
  • Tại ô H7 gõ công thức =IF(AND(F7<=0,05;F7>=-0,05);J6;K6)

if-2
 

  • Sau khi khóa cố định ô, hàng, cột và copy công thức xuống các ô tiếp theo, ta được kết quả theo yêu cầu:

if-3
 

Cấu trúc

Cấu trúc tiếng Anh

if-4
 

Cấu trúc tiếng Việt

if-5
 

1

Logical_test

Điều kiện kiểm tra

 

 

  • Là biểu thức logic.
  • Kiểm tra giá trị cần so sánh có thỏa mãn điều kiện cho trước hay không.
  • Kiểm tra một hoặc nhiều điều kiện.
  • Ví dụ: Ở ví dụ trên, điều kiện kiểm tra là -0,05 ≤ F7 ≤0,05 nhưng trong cấu trúc hàm để thể hiện điều này thì ta dùng hàm AND(F7<=0,05;F7>= - 0,05).

2

Value_if_true

Giá trị trả về nếu điều kiện kiểm tra Đúng

 

 

  • Giá trị trả về là có thể là: ký tự, văn bản hay nội dung trong địa chỉ ô mà bạn muốn.
  • Ví dụ: Địa chỉ ô I6 chứa dữ liệu Đạt.

3

Value_if_false

Giá trị trả về nếu điều kiện kiểm tra Sai

 

 

  • Giá trị trả về là có thể là: ký tự, văn bản hay nội dung trong địa chỉ ô mà bạn muốn.
  • Ví dụ: Địa chỉ ô J6 chứa dữ liệu Không đạt.

Nhìn vào cấu trúc thì thấy khó hiểu vậy thôi, nhưng khi áp dụng thì rất dễ. Khi đã hiểu bản chất vấn đề cần xử lý thì việc áp dụng hàm thế nào lại là chuyện nhỏ.

Khái niệm

  • NếuThì… à Là hàm kiểm tra một giá trị với điều kiện cho trước, nếu thỏa mãn điều kiện (True) thì hàm sẽ trả về một kết quả và ngược lại nếu không thảo mãn điều kiện (False) thì sẽ trả về một kết quả khác.

3. Cần lưu ý gì không

  • Các điều kiện kiểm tra là các biểu thức logic có một vài lưu ý đã được trình bày trong phần hàm AndOr.
  • Kết quả trả về:

Số học: Xử lý bình thường, điền trực tiếp vào công thức hoặc qua địa chỉ ô

Văn bản – Ngày tháng và Các ký tự khác: Khi điền vào công thức phải được để trong dấu ngoặc kép (“ “).

4. Ví dụ áp dụng

Ví dụ 1: Hàm If với số học

Đề bài:

  • Dữ liệu: Bảng báo cáo sản lượng thi công
  • Yêu cầu: Kiểm tra sản lượng các dự án ở từng quý, nếu dự án nào có sản lượng ở một trong ba quý >100 tỷ thì Thưởng còn không đạt thì Không thưởng.

if-6
 

Hướng dẫn:

Phân tích yêu cầu:

  • Kiểm tra dự án có sản lượng một trong ba quý >100 tỷ. Tức là phải kiểm tra giá trị sản lượng lớn nhất cửa từng dự án ở các quý sau đó so sánh chúng với 100 tỷ.
  • Nếu Đạt thì Thưởng, ngược lại Không đạt thì Không thưởng.

Giải quyết yêu cầu

  • Đầu tiên, xác định sản lượng lớn nhất trong ba quý của từng dự án bằng hàm Max.
  • So sánh giá trị lớn nhất với 100 tỷ, nếu lớn hơn 100 tỷ điền kết quả Thưởng vào phần Kết quả tương ứng của từng dự án.
  • Tại ô H7 gõ công thức =IF(MAX(D7:F7)>100000000000;"Thưởng";"Không thưởng")

if-7
 

Trong đó:

Thành phần hàm

Theo cấu trúc

Ý nghĩa

MAX(D7:F7)>100000000000

Logical_test (Điều kiện)

So sánh giá trị lớn nhất trong vùng được chọn với 100 tỷ

"Thưởng"

Value_if_true (Giá trị trả về khi điều kiện đúng)

Đúng thì trả về kết quả Thưởng

"Không thưởng"

Value_if_false (Giá trị trả về khi điều kiện sai)

Không đúng thì trả về kết quả Không thưởng

  • Kéo công thức xuống hết cột trong bảng được kết quả:

if-8
 

Chú ý: Các toán tử so sánh bạn nên nhớ:

STT

Điều kiện

Toán tử

Ví dụ

Mô tả

1

Lớn hơn

>

=IF(K10>100;"Thưởng";"Không thưởng")

Nếu giá trị trong ô K10 lớn hơn 100 (tỷ) thì trả về kết quả là “Thưởng”, ngược lại thì trả về kết quả “Không thưởng”

2

Nhỏ hơn

<

=IF(K10<0;"-";"Dương")

Nếu giá trị trong ô K10 nhỏ hơn 0 thì trả về kết quả là dấu gạch ngang “-”, ngược lại thì trả về kết quả là số “Dương”

3

Bằng

=

=IF(K10=0;"-";"Khác")

Nếu giá trị trong ô K10 bằng 0 thì trả về kết quả là dấu gạch ngang “-”, ngược lại thì trả về kết quả là “Khác”

4

Khác

<>

=IF(K10<>100;"Ok";"Not ok")

Nếu giá trị trong ô K10 khác 100 thì trả về kết quả là “Ok”, ngược lại thì trả về kết quả là “Not ok”

5

Lớn hơn hoặc bằng

>=

=IF(K10>=100;"Đạt";"Chậm")

Nếu giá trị trong ô K10 lớn hơn hoặc bằng 100 (tỷ) thì trả về kết quả là “Đạt”, ngược lại thì trả về kết quả là “Chậm”

6

Nhỏ hơn hoặc bằng

<=

=IF(K10<=100;"Chậm";"Thưởng")

Nếu giá trị trong ô K10 nhỏ hơn hoặc bằng 100 (tỷ) thì trả về kết quả là “Chậm”, ngược lại thì trả về kết quả là “Thưởng”

Ví dụ 2: Hàm If với ngày tháng

Đề bài:

  • Dữ liệu: Bảng tiến độ thi công dự kiến.
  • Yêu cầu: Kiểm tra thời gian kết thúc theo tiến độ dự kiến và theo thực tế thi công của từng hạng mục. Nếu hạng mục nào Đạt tiến độ thì điền kết quả Đạt, ngược lại nếu Không đạt thì điền kết quả Trượt.

if-9
 

Hướng dẫn:

Phân tích yêu cầu

  • Điều kiện kiểm tra là thời gian hoàn thành theo dự kiến (E7:E9) và theo thực tế (I7:I9) thi công.
  • Nếu Đạt thì điền kết quả Đạt vào ô tương ứng với hạng mục đang kiểm tra, ngược lại nếu Không đạt thì điền kết quả Trượt.

Giải quyết yêu cầu

Trường hợp 1: Điền ngày tháng vào địa chỉ ô để đưa vào biểu thức logic của hàm If

Với điều kiện kiểm tra dạng ngày tháng nằm trong địa chỉ ô thì việc sử dụng hàm If khá đơn giản.

  • Tại ô G7 bạn gõ công thức =IF(E7<=I7;"Đạt";"Trượt")

if-10
 

Trong đó:

Thành phần hàm

Theo cấu trúc

Ý nghĩa

E7<=I7

Logical_test (Điều kiện)

So sánh ngày tháng ở ô E7 (24/03/2017) với ngày tháng ở ô I7 (25/03/2017)

"Đạt"

Value_if_true (Giá trị trả về khi điều kiện đúng)

Nếu thỏa mãn thì điền kết quả Đạt

"Trượt"

Value_if_false (Giá trị trả về khi điều kiện sai)

Nếu không thỏa mãn thì điền kết quả Trượt

Tương tự cho các hạng mục dưới ta được kết quả:

if-11
 

Trường hợp 2: Đưa đều kiện ngày tháng vào biểu thức logic

  • Nếu bạn điền trực tiếp ngày tháng vào biểu thức logic thì thông thường hàm If sẽ nhận giá trị ở dạng văn bản. Nhưng điều kiện so sánh với nó tức giá trị ngày tháng nằm trong địa chỉ ô Excel bản chất là dạng số học. Vậy sự so sánh trên là không tương đồng (Văn bản – Số học) dẫn đến hàm If bị lỗi không thể hoạt động.
  • Để giải quyết bạn cần phải chuyển đồi giá trị ngày tháng trong biểu thức logic về dạng số học mà Excel hiểu là ngày tháng bằng hàm DATEVALUE.
  • Tại ô G7 gõ công thức =IF(E7<=DATEVALUE("25/03/2017");"Đạt";"Trượt")

if-12
 

Trong đó:

Thành phần hàm

Theo cấu trúc

Ý nghĩa

E7<=DATEVALUE("25/03/2017")

Logical_test (Điều kiện)

So sánh ngày tháng ở ô E7 (24/03/2017) với giá trị đã được chuyển đổi DATEVALUE("25/03/2017")

"Đạt"

Value_if_true (Giá trị trả về khi điều kiện đúng)

Nếu thỏa mãn thì điền kết quả Đạt

"Trượt"

Value_if_false (Giá trị trả về khi điều kiện sai)

Nếu không thỏa mãn thì điền kết quả Trượt

Ghi chú: Bản chất của thành phần Logical_test trong cấu trúc hàm trên là so sánh hai số 41356 (số sê-ri của ngày 24/03/2017) với 41357 (số sê-ri của ngày 25/03/2017).

  • Tương tự cho các hạng mục ở dưới ta được kết quả:

if-13
 

Ví dụ 3: Hàm If với ô không chứa dữ liệu

Đề bài:

  • Dữ liệu: Bảng báo cáo sản lượng thi công
  • Yêu cầu: Kiểm tra xem các dự án đã báo cáo sản lượng đầy đủ chưa. Nếu đã báo cáo thì điền kết quả OK và nếu chưa báo cáo thì để trống không điền gì.

if-14
 

Hướng dẫn:

Phân tích yêu cầu:

  • Yêu cầu kiểm tra xem các dự án đã báo cáo hay chưa.

Nếu đã báo cáo điền kết quả OK.

Nếu chưa báo cáo thì bỏ trống không điền.

Giải quyết yêu cầu

  • Nhìn bảng dữ liệu này nhiều người thấy khá đơn giản phải không, nhìn cái ra ngay dùng hàm tỏ ra vẻ nguy hiểm nhưng trong nhiều trường hợp với dữ liệu lớn bạn sẽ phải quan tâm tới việc dùng hàm đó.
  • Trong mục này ta thấy có phần kết quả dạng ô trống (không có nội dung), vậy trong Excel ô trống đó được xử lý như thế nào khi đưa vào hàm? Ô trống sẽ được đưa vào hàm bằng hai dấu ngoặc kép (“ ”).
  • Xử lý vấn đề này là một trong những việc phải làm để đến một cái đích lớn hơn sẽ được trình bày trong phần lồng ghép hàm.
  • Tại ô F7 ta gõ công thức =IF(D7="";"";"Ok")

if-15
 

Trong đó:

Thành phần hàm

Theo cấu trúc

Ý nghĩa

D7=""

Logical_test (Điều kiện)

Kiểm tra ô D7 có chứa ký tự hay là ô trống

""

Value_if_true (Giá trị trả về khi điều kiện đúng)

Nếu ô D7 là ô trống thì bỏ trống không điền gì

"Ok"

Value_if_false (Giá trị trả về khi điều kiện sai)

Nếu ô D7 có chứa dữ liệu tức không phải dạng ô trống thì điền kết quả “OK”

  • Tương tự kiểm tra các ô khác ta được kết quả:

if-16
 





Danh mục bài viết

Khóa học nổi bật

Bài viết xem nhiều nhất

Tìm kiếm bài viết

0868.004.003