bigbabol89
Thành viên thường trực




- Tham gia
- 15/10/12
- Bài viết
- 226
- Được thích
- 34
Em chào các anh !
Em có chút ít kiến thức về excel mà đang gặp khó, mong các anh giúp em về tham chiếu nhiều điều kiện.
Em có gửi file đính kèm bên dưới ạ
Em cám ơn
D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
Cám ơn anh, a giúp em nốt câu số 2 đc ko ạ ?Copy xuống dưới và kiểm tra lại kết quả xem sao.PHP:D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
(Kết quả mẫu của bạn hình như "trớt quớt": bảng 2 đâu có 2018 nào?)
Câu 2 trước mới có câu 1.Cám ơn anh, a giúp em nốt câu số 2 đc ko ạ ?
Copy xuống dưới và kiểm tra lại kết quả xem sao.PHP:D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
(Kết quả mẫu của bạn hình như "trớt quớt": bảng 2 đâu có 2018 nào?)
Anh ơi, em gửi anh file nhé. Anh xem hộ em với, có 2 sheet (sheet Roster và sheet IT2003 ) thì sheet IT2003 là sheet cần kết quả. Em cám ơnCâu 2 trước mới có câu 1.
2 câu gom lại trong 1 Sub()
Bạn bấm nút "GPE" sẽ có bảng 1.
Không đâu anh ơi, anh Ba Tê hiểu đúng ý của em rồi. Thanks abạn chưa làm hết ý của bạn ấy rồi @@ vẫn đề k pải hàm tìm kiếm mà là ham đếm @@ số làm xuất hiện trong ngày @@. Như VD bạn ấy là 6 ngày hi
Đưa file mà không giải thích, làm thí thí không đúng thì thôi vậy.Anh ơi, em gửi anh file nhé. Anh xem hộ em với, có 2 sheet (sheet Roster và sheet IT2003 ) thì sheet IT2003 là sheet cần kết quả. Em cám ơn
Đưa file mà không giải thích, làm thí thí không đúng thì thôi vậy.
Em cám ơn 2 anh, em không mang máy về nên cũng chưa xem được ntn ? Nhưng dù sao cũng rất cám ơn 2 anh. Sang thứ 2 em mở ra coiXem thử được không nha bạn?
Anh ơi, em có xem thì mắc phải 1 số vấn đề sau, anh xem hộ em với :Đưa file mà không giải thích, làm thí thí không đúng thì thôi vậy.
Bạn thay Sub cũ thành cái này:Anh ơi, em có xem thì mắc phải 1 số vấn đề sau, anh xem hộ em với :
- Ở sheet Roster nếu các hàng tiếp theo có 1 ô trống, sau đó lại có dữ liệu thì ở phần kết quả ( sheet IT2003 ) sẽ không hiện dữ liệu nữa.
- Anh ơi, anh cho em lấy kết quả ở hàng " HR Only" thay vì "Target" được không ạ ? ( em xin lỗi vì lần trước em không ghi giải thích ).
Em cám ơn.
Public Sub GPE()
Dim sArr(), dArr(), I As Long, J As Long, K As Long, C As Long, R As Long
With Sheets("Roster")
C = .Range("F2") - .Range("C2") + 6
sArr = .Range("B5", .Range("B50000").End(xlUp)).Resize(, C).Value
R = UBound(sArr, 1)
ReDim dArr(1 To R * C, 1 To 4)
End With
For I = 5 To R Step 5
If sArr(I, 1) <> Empty Then
For J = 6 To C
K = K + 1
dArr(K, 1) = K
dArr(K, 1) = sArr(I, 1)
dArr(K, 2) = sArr(1, J)
dArr(K, 3) = sArr(1, J)
dArr(K, 4) = sArr(I, J)
Next J
End If
Next I
With Sheets("IT2003")
Range("A2").Resize(100000, 4).ClearContents
If K Then .Range("A2").Resize(K, 4) = dArr
End With
End Sub
Em rất rất cám ơn ! File dùng quá tốt rồi ạBạn thay Sub cũ thành cái này:
PHP:Public Sub GPE() Dim sArr(), dArr(), I As Long, J As Long, K As Long, C As Long, R As Long With Sheets("Roster") C = .Range("F2") - .Range("C2") + 6 sArr = .Range("B5", .Range("B50000").End(xlUp)).Resize(, C).Value R = UBound(sArr, 1) ReDim dArr(1 To R * C, 1 To 4) End With For I = 5 To R Step 5 If sArr(I, 1) <> Empty Then For J = 6 To C K = K + 1 dArr(K, 1) = K dArr(K, 1) = sArr(I, 1) dArr(K, 2) = sArr(1, J) dArr(K, 3) = sArr(1, J) dArr(K, 4) = sArr(I, J) Next J End If Next I With Sheets("IT2003") Range("A2").Resize(100000, 4).ClearContents If K Then .Range("A2").Resize(K, 4) = dArr End With End Sub
Anh ơi, em hỏi thêm cái này nữa ạ. Ở sheet kết quả, em muốn chèn thêm cột vào giữa thì làm như thế nào ạ.Bạn thay Sub cũ thành cái này:
PHP:Public Sub GPE() Dim sArr(), dArr(), I As Long, J As Long, K As Long, C As Long, R As Long With Sheets("Roster") C = .Range("F2") - .Range("C2") + 6 sArr = .Range("B5", .Range("B50000").End(xlUp)).Resize(, C).Value R = UBound(sArr, 1) ReDim dArr(1 To R * C, 1 To 4) End With For I = 5 To R Step 5 If sArr(I, 1) <> Empty Then For J = 6 To C K = K + 1 dArr(K, 1) = K dArr(K, 1) = sArr(I, 1) dArr(K, 2) = sArr(1, J) dArr(K, 3) = sArr(1, J) dArr(K, 4) = sArr(I, J) Next J End If Next I With Sheets("IT2003") Range("A2").Resize(100000, 4).ClearContents If K Then .Range("A2").Resize(K, 4) = dArr End With End Sub
Sửa code lại một tí.Anh ơi, em hỏi thêm cái này nữa ạ. Ở sheet kết quả, em muốn chèn thêm cột vào giữa thì làm như thế nào ạ.
Em có ghi note ở trong file
Em cám ơn