Hãy tưởng tượng bạn có một danh sách điểm của học sinh trong một lớp trên Excel và bạn muốn đánh dấu những học sinh nào đạt điểm 10. Nếu bạn làm việc thủ công, bạn sẽ phải kiểm tra từng học sinh có điểm là 10 để đánh dấu tên học sinh đó.
Vậy bạn có biết rằng có một cách nhanh hơn để làm điều này trên Excel không? Đó là thực hiện tự động bằng VBA với hàm IF ELSE trong Excel. Trong bài viết này, chúng ta sẽ hướng dẫn cách sử dụng hàm IF ELSE trong VBA thông qua một số ví dụ thực tế.
Hàm IF ELSE được sử dụng để thực hiện kiểm tra một điều kiện và trả về giá trị khác nhau dựa trên kết quả của điều kiện đó. Cấu trúc cơ bản của hàm IF ELSE Excel như sau:
=IF(điều_kiện, giá_trị_nếu_đúng, giá_trị_nếu_sai)
điều_kiện
là biểu thức logic mà bạn muốn kiểm tra.giá_trị_nếu_đúng
là giá trị bạn muốn trả về nếu điều kiện đúng.giá_trị_nếu_sai
là giá trị bạn muốn trả về nếu điều kiện sai.Ví dụ:
=IF(A1 > 10, "Lớn hơn 10", "Không lớn hơn 10")
Trong ví dụ này, nếu giá trị trong ô A1 lớn hơn 10, hàm sẽ trả về "Lớn hơn 10". Nếu không, nó sẽ trả về "Không lớn hơn 10".
Bạn cũng có thể sử dụng trực tiếp công thức hàm IF ELSE đối với các bảng dữ liệu ngắn, đơn giản. Nhưng nếu như bạn thường xuyên phải dùng hàm IF ELSE để kiểm tra điều kiện của bảng tính hay dữ liệu file Excel của bạn rất dài và tốn thời gian khi thao tác thủ công. Lúc này, hãy sử dụng VBA giúp bạn kiểm tra điều kiện tự động với hàm IF ELSE trong Excel.
Hàm IF trong VBA thường sử dụng để xét tính logic Đúng / Sai của 1 vấn đề. Cấu trúc bao gồm:
Cấu trúc đơn giản của IF là chỉ xét trong trường hợp mệnh đề đúng:
If điều_kiện Then
' Thực hiện hành động nếu điều kiện đúng
End If
Trong đó:
IF … Then: Nếu mệnh đề trong IF là đúng thì …
… : Câu lệnh được thực hiện
End If : Kết thúc cấu trúc
Nếu mệnh đề không đúng, sẽ không có gì xảy ra.
Lưu ý: Dạng rút gọn này thường dùng để xét các mệnh đề ngắn gọn và đơn giản, trong đó mệnh đề chỉ quan tâm đến khả năng Đúng (thỏa mãn) của mệnh đề.
Ví dụ: Hãy kiểm tra xem giá trị tại ô A1 có lớn hơn 5 hay không? Nếu > 5 thì trả kết quả về giá trị Đúng tại ô B1 (để nguyên nếu giá trị không lớn hơn 5).
Cách kiểm tra giá trị tự động với VBA:
Sub KiemTraGiaTri()
If Range("A1").Value > 5 Then
Range("B1").Value = "Đúng"
End If
End Sub
Xem thêm: HƯỚNG DẪN CÁCH VIẾT HÀM VBA TRONG EXCEL
Cấu trúc hàm IF ELSE trong Excel VBA đầy đủ bao gồm cả trường hợp mệnh đề “Đúng” và mệnh đề “Không Đúng”.
Cấu trúc này được viết như sau:
Từ khóa Else trong cấu trúc IF ELSE trong VBA này có nhiệm vụ xét trường hợp mệnh đề Không Đúng (không thỏa mãn).
Ví dụ: Hãy kiểm tra xem giá trị tại ô A1 có lớn hơn 5 hay không? Nếu > 5 thì trả kết quả về giá trị ''Đúng'' tại ô B1 và nếu không, thì trả kết quả về ''Sai'' tại ô B1.
Tương tự các bước chèn mã vào cửa sổ module của VBA trên, chúng ta dán mã này để thực hiện theo yêu cầu:
Sub KiemTraGiaTri()
If Range("A1").Value > 5 Then
Range("B1").Value = "Đúng"
Else
Range("B1").Value = "Sai"
End If
End Sub
Sau khi chạy mã VBA chứa hàm hàm IF ELSE trong Excel trên, chúng ta thu được kết quả như sau:
Với những yêu cầu phức tạp hơn, cấu trúc một lần IF không thể đáp ứng hết các điều kiện. Do vậy, cần thiết phải sử dụng hàm IF nhiều điều kiện trong VBA trong một công thức.
Công thức IF ELSE trong VBA có thể được viết như sau trong VBA:
Trong đó,
Trong công thức này, các mệnh đề IF có mối quan hệ nối tiếp nhau, và các mệnh đề sẽ được thực hiện lần lượt, chứ không cùng đồng thời thực hiện tất cả. Với quy luật sau:
Ví dụ: Dưới đây là bảng xét thưởng cho nhân viên An, hãy điền mức thưởng phù hợp với yêu cầu sau:
Dựa vào giá trị ở ô B2 để xét mệnh đề so sánh giá trị ô B2 với các mức doanh thu. Nếu thỏa mãn sẽ trả kết quả về giá trị ở ô C2 tương ứng với các mức thưởng
Mã code sử dụng hàm IF ELSE trong Excel để chèn vào VBA như sau:
Sub XetThuong()
If Range("B2").Value > 500 Then ' Xét giá trị B2 > 500 trước
Range("C2").Value = 200
ElseIf Range("B2").Value > 300 Then ' Xét giá trị B2 > 300 sau, trường hợp B2 > 500 đã xét trước đó nên trường hợp này chỉ là B2 > 300 và B2 <= 500
Range("C2").Value = 100
Else
Range("C2").Value = 0
End If
End Sub
Để học cách tự viết mã VBA giúp tối ưu hóa hiệu suất công việc, tham khảo thêm một số khóa học lập trình VBA của Gitiho ngay bên dưới nhé:
Hy vọng bài viết trên đã hướng dẫn các bạn đọc cách viết cũng như sử dụng VBA để kiểm tra điều kiện và trả về một giá trị với hàm IF ELSE trong Excel. Ngoài ra để biết thêm về những kiến thức hay như vậy với công cụ Excel hay VBA Excel thì đừng quên đón đọc những bài viết hữu ích trên blog Gitiho nhé!
Chúc bạn áp dụng thành công!
Khóa học phù hợp với bất kỳ ai đang muốn tìm hiểu lại Excel từ con số 0. Giáo án được Gitiho cùng giảng viên thiết kế phù hợp với công việc thực tế tại doanh nghiệp, bài tập thực hành xuyên suốt khóa kèm đáp án và hướng dẫn giải chi tiết. Tham khảo ngay bên dưới!