10/9/19

Hàm Tìm kiếm giá trị trong mảng khoảng a-b

Bài toán: Tìm giá trị ở ô giá trị tìm kiếm (D3), nếu nằm trong khoảng ở cột C thì trả về cột A thumbnail 1 summary
Bài toán: Tìm giá trị ở ô giá trị tìm kiếm (D3), nếu nằm trong khoảng ở cột C thì trả về cột A




Bài toán này có thể giải quyết bằng hamg lookup kết hợp roundup nhưng độ chính xác không cao.
Sau đây mình xin giới thiệu 1 hàm tự viết tên là Mycase Cú pháp như sau
Đầu tiên ta nhấn tổ hợp phím ALT +F11, click chuột phải vào Module, new module, dán code của mình vào
Function Mycase(v As Variant, C As Range, R As Range)

Dim canduoi, cantren

lastrow = C.Cells.Rows.Count
For k = 1 To lastrow
s = C.Cells(k, 1).Value

If InStr(s, "<") > 0 Then
canduoi = 0
cantren = Val(Right(s, Len(s) - InStr(s, "<") - 1)) - 0.000001 ElseIf InStr(s, ">") > 0 Then
canduoi = Val(Right(s, Len(s) - InStr(s, ">") - 1)) + 0.000001
cantren = canduoi + v
Else
canduoi = Val(Left(s, InStr(s, "-") - 1))
cantren = Val(Mid(s, InStr(s, "-") + 2))
End If
If v >= canduoi And v <= cantren Then Mycase = R.Cells(k, 1) Exit Function End If Next End Function

Bây giờ có thể dùng hàm Mycase
=mycase(Giá trị tìm kiếm;Vùng tìm kiếm;Vùng trả về)
Tải file Ví Dụ Mẫu
https://www.dropbox.com/s/wzst2o6bn895606/myCase.xlsm?dl=0





===================================================
Để trao đổi và hỏi đáp thêm về chủ đề này, vui lòng truy cập vào diễn đàn các bạn nhé https://thuthuataccess.com/forum/forum-21.html

Không có nhận xét nào

Đăng nhận xét