dữ liệu nhiều dùng advance filter ,hoặc VBA, dữ liệu it dùng cột phụ và công thức. bạn chọn loại nào ?cả nhà giúp em với ạ, em muốn lọc dư liêu theo tên người thực hiện hợp đồng thành sheet riêng: tùng, miền, huỳnh, sơn ạ
View attachment 236350
cho em dùng công thức ạ, bạn hỗ trợ giúp em với ạdữ liệu nhiều dùng advance filter ,hoặc VBA, dữ liệu it dùng cột phụ và công thức. bạn chọn loại nào ?
Của bạn đâycho em dùng công thức ạ, bạn hỗ trợ giúp em với ạ
ok bạn em cảm ơnCủa bạn đây
Mình vẫn dùng công thức của nhà họ ngày hôm qua và thêm 1 hàm tự tạo My_Vlookup để bạn tham khảo nhécho em dùng công thức ạ, bạn hỗ trợ giúp em với ạ
Thời nay mà còn dùng đồ cổ .xlsMình vẫn dùng công thức của nhà họ ngày hôm qua và thêm 1 hàm tự tạo My_Vlookup để bạn tham khảo nhé
Dạ em sợ ... hi hi. Chứ File em dùng thì không bao giờ lưu cái đuôi ấy ạThời nay mà còn dùng đồ cổ .xls![]()
Anh ơi Anh xem hộ em cái hàm My_Vlookup được không ạThời nay mà còn dùng đồ cổ .xls![]()
bạn tìm hiểu thêm Data- Validation --list nhé có cả đống trên diễn đàn.anh lê duy thương ơi, em hỏi chút, làm sao làm được chỗ người thực hiện hợp đồng giống như anh ạ, anh chỉ giúp em ạ
View attachment 236360
ok anh , em cảm ơnbạn tìm hiểu thêm Data- Validation --list nhé có cả đống trên diễn đàn.
Chậm không do duyệt mảng kết quả mà do mấy cái lùm xùm ép bảng tính, tính lại vùng dữ liệuAnh ơi Anh xem hộ em cái hàm My_Vlookup được không ạ
Em đang phải duyệt qua mảng kết quả để bỏ phần tử thừa rồi mới đưa vào hàm ResizeKQ. Do đó nó bị chậm một chút. Mong Anh xem giúp em nhé
Dạ. Em cám ơn Anh nhiều ạChậm không do duyệt mảng kết quả mà do mấy cái lùm xùm ép bảng tính, tính lại vùng dữ liệu
Trong Function nên bỏ bớt 1 vòng "For J=1 ..." theo cộtDạ. Em cám ơn Anh nhiều ạ
Dạ đúng rồi Anh ạ. Cám ơn Anh nhiều ạTrong Function nên bỏ bớt 1 vòng "For J=1 ..." theo cột
Function My_Vlookup(ByVal Lookup_Value, ByVal Table_Array As Range, ByVal Col_Index As Long)
Dim sArr(), tArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Idx As Long
sArr = Table_Array.value
ReDim tArr(1 To UBound(sArr, 1), 1 To 1)
For I = 1 To UBound(sArr)
If Lookup_Value = sArr(I, Col_Index) Then
K = K + 1: tArr(K, 1) = I
End If
Next I
R = K: K = 0
ReDim dArr(1 To R, 1 To UBound(sArr, 2))
For I = 1 To R
K = K + 1: Idx = tArr(I, 1)
For J = 1 To UBound(sArr, 2)
dArr(K, J) = sArr(Idx, J)
Next J
Next I
If K Then My_Vlookup = ResizeKQ(dArr)
End Function
For I = 1 To RDạ đúng rồi Anh ạ. Cám ơn Anh nhiều ạ
Em sửa lại như thế này
Mã:Function My_Vlookup(ByVal Lookup_Value, ByVal Table_Array As Range, ByVal Col_Index As Long) Dim sArr(), tArr(), dArr(), I As Long, J As Long, K As Long, R As Long, Idx As Long sArr = Table_Array.value ReDim tArr(1 To UBound(sArr, 1), 1 To 1) For I = 1 To UBound(sArr) If Lookup_Value = sArr(I, Col_Index) Then K = K + 1: tArr(K, 1) = I End If Next I R = K: K = 0 ReDim dArr(1 To R, 1 To UBound(sArr, 2)) For I = 1 To R K = K + 1: Idx = tArr(I, 1) For J = 1 To UBound(sArr, 2) dArr(K, J) = sArr(Idx, J) Next J Next I If K Then My_Vlookup = ResizeKQ(dArr) End Function