Welcome to Weblog Samouay Portal
F

[Excel ,Hàm luận lý] Hàm IF

Hàm đầu tiên tôi muốn bàn tới là hàm IF(). Có lẽ đây là một trong những hàm được dùng nhiều nhất trong các bảng tính Excel.
Cái lập luận:
"Nếu tôi tôi đúng thì làm cho tôi cái này, nếu tôi sai thì làm cho tôi cái kia".. Có lẽ trong chúng ta ai cũng hiểu.
Vậy tôi sẽ không giải nghĩa nhiều về hàm này, mà sẽ dùng các ví dụ để minh họa.

Một tình huống đơn giản nhất
Cú pháp: IF(logical_test, value_is_true)
_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)
_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)

Ví dụ:
=IF(A1 >= 1000, "It’s big!")
Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là FALSE.

Một ví dụ khác, giả sử bạn có một bảng đánh giá mức độ bán ra, mua vào của một danh mục hàng hóa dài, và bạn muốn theo dõi những mặt hàng có doanh số bán ra không đạt yêu cầu để điều chỉnh chiến lược kinh doanh của mình, bằng cách gán những dấu
"<" bên cạnh nó, hễ phần trăm doanh số càng thấp thì những dấu hiệu "<" càng nhiều...

Bạn có thể dùng hàm IF(), theo mẫu:
=IF(cell<0, flag)

Với cell là giá trị doanh số mà bạn muốn theo dõi, và flag là dấu hiệu để mô tả, ví dụ, cell chứa giá trị doanh số là B2:
=IF(B2<0, "<<<<<")

Để những dấu "<" tỷ lệ thuận với mức sụt giảm doanh số bán hàng, bạn có thể dùng hàm REPT(), với công thức:
REPT("<" , B2 * -100)

Ở đây, phải nhân giá trị của B2 với -100, bởi vì chúng ta chỉ xét những trường hợp B2<0

Và công thức hoàn chỉnh để thể hiện mức độ sụt giảm doanh số của từng mặt hàng sẽ là:
=IF(B2<0, REPT("<" , B2 * -100))
  

Hình sau đây minh họa cho ví dụ vừa rồi:


Xử lý trường hợp xảy ra khi biểu thức sai (FALSE)

Xem hình trên, có lẽ bạn sẽ không thích thấy những chữ FALSE hiện ra khi giá trị trong cột B lớn hơn không.
Tuy rằng cứ để vậy thì công thức của chúng ta vẫn đúng, tuy nhiên "không đẹp", nên chăng ta thay các chữ
FALSE đó bằng những ký tự rỗng, những ký tự trắng ?

Chúng ta sẽ dùng hàm IF() với cấu trúc sau:

Cú pháp:
IF(logical_test, value_is_true, value_is_false)
_____logical_test: Một biểu thức sẽ được xét xem đúng (TRUE) hay sai (FALSE)
_____value_is_true: giá trị trả về khi biểu thức logical_test được kiểm tra là đúng (TRUE)
_____
value_is_false: giá trị trả về khi biểu thức logical_test được kiểm tra là không đúng (FALSE)

Ví dụ:
=IF(A1 >= 1000, "It’s big!", "It’s not big!")

Nghĩa là, nếu giá trị ở A1 lớn hơn hoặc bằng 1000, thì kết quả nhận được sẽ là "It's big!", còn không, nếu A1 nhỏ hơn 1000, kết quả sẽ là "It's not big!"

Trở lại ví dụ về theo dõi mức sụt giảm doanh số bán ra ở trên, để không còn thấy những chữ
FALSE, chúng ta sẽ sửa lại công thức:
=IF(B2<0, REPT("<" , B2 * -100), "")

Kết quả có được là hình sau:


Xử lý trường hợp chia cho 0

Đôi khi, do không để ý, trong bảng tính của chúng ta sẽ gặp phải những trường hợp chia cho số 0. Những khi đó, Excel sẽ báo lỗi là #DIV/0!

Để tránh xảy ra trường hợp này, có thể dùng hàm IF().
 
Ví dụ: Với A= doanh số bán ra, B= chi phí, thì lỷ lệ lợi nhuận có thể tính như sau
=IF(A <> 0 , (A-B)/A, "Doanh số bán = 0!")

No comments:

Post a Comment