Cần giúp đỡ về tham chiếu nhiều điều kiện

Liên hệ QC

bigbabol89

Thành viên thường trực
Tham gia
15/10/12
Bài viết
224
Đượ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
 

File đính kèm

  • File mẫu.xlsx
    11 KB · Đọc: 29
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
PHP:
D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
Copy xuống dưới và kiểm tra lại kết quả xem sao.
(Kết quả mẫu của bạn hình như "trớt quớt": bảng 2 đâu có 2018 nào?)
 
PHP:
D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
Copy xuống dưới và kiểm tra lại kết quả xem sao.
(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ám ơn anh, a giúp em nốt câu số 2 đc ko ạ ?
 
Chà cái này lại liên quan đến Macro, mà em thì mù tịt. File em gửi chỉ là mẫu để em áp dụng vào file chính mà file chính thì nặng quá. Mai em giảm thiểu file chính anh giúp em nhé. Sorry vì làm phiền anh quá
 
PHP:
D5=IFERROR(VLOOKUP(B5;$J$5:$P$10;MATCH(C5;$J$4:$P$4;0);0);"")
Copy xuống dưới và kiểm tra lại kết quả xem sao.
(Kết quả mẫu của bạn hình như "trớt quớt": bảng 2 đâu có 2018 nào?)

bạ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
 
Câ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.
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

bạ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
Không đâu anh ơi, anh Ba Tê hiểu đúng ý của em rồi. Thanks a
 

File đính kèm

  • Target.xlsx
    192.1 KB · Đọc: 9

File đính kèm

  • Target.rar
    25.8 KB · Đọc: 10
Lần chỉnh sửa cuối:
Xem thử được không nha bạn?
 

File đính kèm

  • Target.xlsx
    239.4 KB · Đọc: 8
Đưa file mà không giải thích, làm thí thí không đúng thì thôi vậy.
Xem thử được không nha bạn?
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 coi :D Em có ghi giải thích trong file mà chắc quên chưa save nên nó mất tiêu rùi , kekeee
 
Đưa file mà không giải thích, làm thí thí không đúng thì thôi vậ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.
 

File đính kèm

  • Target.xlsb
    31.9 KB · Đọc: 14
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.
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
 
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
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 ạ.
Em có ghi note ở trong file
Em cám ơn
 

File đính kèm

  • Target FINAL.xlsb
    32.5 KB · Đọc: 6
Anh ơi, help em....!!!
Trường hợp filter nhưng kết quả cũng hiện ra tất tần tật luôn. Có cách nào chỉ hiện kết quả những ô filter hiện hành không anh ?
 

File đính kèm

  • Target FINAL.xlsb
    33.7 KB · Đọc: 4
Web KT
Back
Top Bottom