Chào yoomi,Nhờ các bạn xem giúp công thức bị lỗi chỗ nào ạ.
Mình áp công thức nhưng báo lỗi,
Nhờ các bạn chỉnh giúp
Mình gửi file đính kèm nhé
Cảm ơn
E2=IFERROR(INDEX($J$2:$J$18,MATCH(B2&C2&D2,$G$2:$G$18&$H$2:$H$18&$I$2:$I$18,0)),"")
E2=IFERROR(LOOKUP(2,1/($G$2:$G$18&$H$2:$H$18&$I$2:$I$18=B2&C2&D2),$J$2:$J$18),"")
Úi chu choa ơi!Có 1 vài dòng công thức không nhảy dữ liệu
Nhờ các bạn xem giúp mình.
Các bạn có thể viết Code giùm mình được không, vì dữ liệu nhiều chạy rất nặng
............................................................................

, dòm được số dòng cuối của bạn là 38844. 

bạn tạo cột phụ F, file khá nhẹCó 1 vài dòng công thức không nhảy dữ liệu
Nhờ các bạn xem giúp mình.
Các bạn có thể viết Code giùm mình được không, vì dữ liệu nhiều chạy rất nặng
998610 ngày 25/11/2016 có dữ liệu nhưng bảng công thức không nhảy ra dữ liệu
Cảm ơn cả nhà
F2 =G2&"a"&I2
E2 =VLOOKUP(B2&"a"&D2,$F$2:$J$38844,5,0)



Nhờ các bạn viết giúp mình Code chạy công thức lọc dữ liệu theo 3 điều kiện
Mình áp công thức mảng nhung vì dữ liệu quá nhiều nên chạy rất chậm
Mình gửi file đính kèm
Nhờ các bạn hỗ trợ
Chân thành cảm ơn.
Sub fill()
Dim cn As Object
Set cn = CreateObject("ADODB.Connection")
cn.Open ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 8.0;HDR=No;IMEX=1"";")
Range("B2").CopyFromRecordset cn.Execute("select a.*, b.f4 from [B2:D] a left join [g2:J] b on a.f1 = b.f1 and a.f3 = b.f3")
Set cn = Nothing
End Sub
bạn chạy thử codeNhờ các bạn viết giúp mình Code chạy công thức lọc dữ liệu theo 3 điều kiện
Mình áp công thức mảng nhung vì dữ liệu quá nhiều nên chạy rất chậm
Mình gửi file đính kèm
Nhờ các bạn hỗ trợ
Chân thành cảm ơn.
Sub LayDL()
Dim Dic As Object, Darr(), Sarr(), Arr(), i As Long, tmp As String
With Sheets("Chi tiet")
Sarr = .Range("B2:D" & .Range("B2").End(xlDown).Row).Value
Darr = .Range("G2:J" & .Range("G2").End(xlDown).Row).Value
ReDim Arr(1 To UBound(Sarr), 1 To 1)
Set Dic = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(Darr)
tmp = Darr(i, 1) & "#" & Darr(i, 3)
If Not Dic.exists(tmp) Then Dic.Add tmp, Darr(i, 4)
Next i
For i = 1 To UBound(Sarr)
tmp = Sarr(i, 1) & "#" & Sarr(i, 3)
If Dic.exists(tmp) Then Arr(i, 1) = Dic.Item(tmp)
Next i
Set Dic = Nothing
.Range("E2").Resize(UBound(Arr)).Value = Arr
End With
End Sub