Sử dụng hàm Index và match lấy thông tin viết hóa đơn (1 người xem)

Liên hệ QC

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

satthuvae

Thành viên thường trực
Tham gia
12/3/09
Bài viết
381
Được thích
52
Em chào Anh/Chị
Em có file sử dụng làm Index nhưng em chưa sử dụng thành thạo để lấy thông tin cần thiết.
Sheet "thông tin" và sheet "invoice" Em nhờ Anh/chị các bạn giúp em khi em nhập thông tin ở ô B8, sheet "Invoice" là tên công ty, thì sẽ tự động lấy danh sách các khách hàng với ạ.

Em xin cám ơn Ạ
 

File đính kèm

Em chào Anh/Chị
Em có file sử dụng làm Index nhưng em chưa sử dụng thành thạo để lấy thông tin cần thiết.
Sheet "thông tin" và sheet "invoice" Em nhờ Anh/chị các bạn giúp em khi em nhập thông tin ở ô B8, sheet "Invoice" là tên công ty, thì sẽ tự động lấy danh sách các khách hàng với ạ.

Em xin cám ơn Ạ

Dùng thử xem. Hy vong đúng ý.
 

File đính kèm

Dùng thử xem. Hy vong đúng ý.
Dạ đúng rùi ạ. Anh làm như thế nào Chỉ cho e với ạ.
Có thể tự động hide được dòng trống đi được không anh, ví dụ lấy 10 người rùi, thì dòng cuối cùng em sẽ để tổng cộng để kiểm tra tiền ạ.
Cám ơn Anh
 
Dạ đúng rùi ạ. Anh làm như thế nào Chỉ cho e với ạ.
Có thể tự động hide được dòng trống đi được không anh, ví dụ lấy 10 người rùi, thì dòng cuối cùng em sẽ để tổng cộng để kiểm tra tiền ạ.
Cám ơn Anh

Bạn thay code này vào modul 1
Mã:
Public Sub ABC()
Dim Arr(), KQ()
Dim Lr&, i&, j&, t&
With Sheets("Thong tin")
    Lr = .Cells(Rows.Count, 2).End(3).Row
    Arr = .Range(.Cells(3, 2), .Cells(Lr, 5)).Value
End With
ReDim KQ(1 To UBound(Arr), 1 To 2)
    For i = 1 To UBound(Arr)
        If Arr(i, 1) <> Empty And Arr(i, 1) = Sheets("Invoice").[B8] Then
            t = t + 1: KQ(t, 1) = t: KQ(t, 2) = Arr(i, 3)
        End If
    Next i

If t Then
    With Sheets("Invoice")
        .Rows("17:42").Select
        Selection.EntireRow.Hidden = False
        .[A17].Resize(26, 8).ClearContents
        .[A17].Resize(t, 2) = KQ
        Lr = .Cells(42, 2).End(3).Row + 1
        .Range("A" & Lr, "LXP42").Select
         Selection.EntireRow.Hidden = True
    End With
End If
[code]
 
Có cách nào không anh, Em đưa file lên Google Sheet nhiều khi lọc khó sử dụng ạ
Bài đã được tự động gộp:

Bạn thay code này vào modul 1
Mã:
Public Sub ABC()
Dim Arr(), KQ()
Dim Lr&, i&, j&, t&
With Sheets("Thong tin")
    Lr = .Cells(Rows.Count, 2).End(3).Row
    Arr = .Range(.Cells(3, 2), .Cells(Lr, 5)).Value
End With
ReDim KQ(1 To UBound(Arr), 1 To 2)
    For i = 1 To UBound(Arr)
        If Arr(i, 1) <> Empty And Arr(i, 1) = Sheets("Invoice").[B8] Then
            t = t + 1: KQ(t, 1) = t: KQ(t, 2) = Arr(i, 3)
        End If
    Next i

If t Then
    With Sheets("Invoice")
        .Rows("17:42").Select
        Selection.EntireRow.Hidden = False
        .[A17].Resize(26, 8).ClearContents
        .[A17].Resize(t, 2) = KQ
        Lr = .Cells(42, 2).End(3).Row + 1
        .Range("A" & Lr, "LXP42").Select
         Selection.EntireRow.Hidden = True
    End With
End If
[code]
Cám ơn Anh.
Cách của anh, có cách nào kết hợp sử dụng thêm hàm nào không ạ, File của e, e thiết kết đưa lên Google Sheet ạ, Em chưa làm marco bao giờ, em hơi kém khoản này ạ. Mong anh xem có cách nào không ạ.
 
Có cách nào không anh, Em đưa file lên Google Sheet nhiều khi lọc khó sử dụng ạ
Bài đã được tự động gộp:


Cám ơn Anh.
Cách của anh, có cách nào kết hợp sử dụng thêm hàm nào không ạ, File của e, e thiết kết đưa lên Google Sheet ạ, Em chưa làm marco bao giờ, em hơi kém khoản này ạ. Mong anh xem có cách nào không ạ.
Googlesheet không sử dụng được VBA. Bạn mà nói rõ là Gosheet ngay từ đầu thì có lẽ đã có người giúp cho xong rồi. Thật đáng tiếc kiến thức về VBA lẫn Gosheet của mình cũng chỉ là gà mờ thôi.
Hãy làm theo cách của anh befaint
 
Googlesheet không sử dụng được VBA. Bạn mà nói rõ là Gosheet ngay từ đầu thì có lẽ đã có người giúp cho xong rồi. Thật đáng tiếc kiến thức về VBA lẫn Gosheet của mình cũng chỉ là gà mờ thôi.
Hãy làm theo cách của anh befaint
Dạ em cám ơn Anh đã góp ý ạ.
 
=IFERROR(INDEX(Sheet1!$D$3:$D$1000;AGGREGATE(15;6;ROW($A$1:$A$1000)/($B$8=Sheet1!$B$3:$B$1000);ROWS($A$1:$A1)));"")
Anh ơi, Xem giúp em có thể thay hàm "AGGREGATE" vì trên Google sheet không có hàm này ạ, khi up lên drive không được ạ.
Cám ơn Anh
 
=IFERROR(INDEX(Sheet1!$D$3:$D$1000;AGGREGATE(15;6;ROW($A$1:$A$1000)/($B$8=Sheet1!$B$3:$B$1000);ROWS($A$1:$A1)));"")
Anh ơi, Xem giúp em có thể thay hàm "AGGREGATE" vì trên Google sheet không có hàm này ạ, khi up lên drive không được ạ.
Cám ơn Anh
Đây là góc Excel.

Google sheets và Excel là 2 thế giới khác nhau.

Mình đăng lộn tiệm rồi.
 
Đây là góc Excel.

Google sheets và Excel là 2 thế giới khác nhau.

Mình đăng lộn tiệm rồi.
Dạ em cám ơn Anh. Em bị nhầm ạ, E tưởng giống nhau ạ, excel đưa lên goolge sheet là được ạ.
Bài đã được tự động gộp:

Đây là góc Excel.

Google sheets và Excel là 2 thế giới khác nhau.

Mình đăng lộn tiệm rồi.
Anh có thể giúp em thay hàm đó bằng hàm nào được không ạ, giờ em bị rối quá ạ
 
Lần chỉnh sửa cuối:
Web KT

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

Back
Top Bottom