Hàm Xlookup tốt hơn thay thế Vlookup (3 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Sao em cũng sài OFFICE 365 mà chưa có nhỉ
 
Hàm của bạn muốn nói là ở đây. Dùng cho Excel không có Xlookup.
Cú pháp : XlookupMo(<ô dò>, <cột/dòng dò>, <cột/dòng tham chiếu>,[thứ tự xuất hiện])

Option Explicit
Function XlookupMo(DK As Range, Vung1 As Range, Vung2 As Range, Optional Vitri As Integer = 1)
Dim i, k As Integer
Dim ThuTu As Integer
Dim Tam
Application.Volatile
On Error Resume Next
Tam = "#0!"
k = 0
If Vitri <= 1 Then
ThuTu = 1
Else
ThuTu = Vitri
End If
If DK.Columns.Count = 1 And DK.Rows.Count = 1 Then
If Range(Vung1(1, 1).Address).Column = Range(Vung2(1, 1).Address).Column Or Range(Vung1(1, 1).Address).Row = Range(Vung2(1, 1).Address).Row Then
If Vung1.Columns.Count = Vung2.Columns.Count And Vung1.Rows.Count = Vung2.Rows.Count Then
If Vung1.Columns.Count = 1 And Vung2.Columns.Count = 1 Then
For i = 1 To Vung1.Rows.Count
If DK(1, 1) = Vung1(i, 1) Then
k = k + 1
If k = ThuTu Then Tam = Vung2(i, 1).Value
End If
Next i
Else
If Vung1.Rows.Count = 1 And Vung2.Rows.Count = 1 Then
For i = 1 To Vung1.Columns.Count
If DK(1, 1) = Vung1(1, i) Then
k = k + 1
If k = ThuTu Then Tam = Vung2(1, i).Value
End If
Next i
Else
Tam = "#3!Chú ý: 1 côt-n dòng hoac 1 dòng-n côt"
End If
End If
Else
Tam = "#2! Dòng-Côt 2 vùng không = nhau"
End If
Else
Tam = "#1! 2 vùng không cùng dòng or côt"
End If
Else
Tam = "#0! chi chon 1 ô"
End If
XlookupMo = Tam
End Function
 
Vậy là ta có thể viết hàm dò tìm này nhờ VBA & có cú pháp sau:

gpeLOOKUP(<Trị Dò>, <Bảng Dò>, <Cột để dò>, <Hiệu giữa 2 cột>)

Ở đây 2 thông số đàu giống VLOOKUP() rồi;
Thông số thứ 3: là cột chứa trị cần dò tìm;
Thông số thứ 4 có thể mang trị âm hay dương tùy vô cột kết quả với cột chứa trị cần dò.

Có thể hàm đưa ra 1 mãng các giá trị mà nó tìm thấy

. . . . .
 
Web KT

Bài viết mới nhất

Back
Top Bottom