Xin giúp em lọc Dữ liệu nhiều dòng thành 1 dòng bằng công thức (4 người xem)

Liên hệ QC

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

chuotpt3

Thành viên hoạt động
Tham gia
10/5/07
Bài viết
122
Được thích
26
Kính chào cả nhà
Em có file ví dụ đính kèm sau đây, có các cột Mã, Giá, Số lượng, Thành Tiền của Sheet 1
Em muốn lọc bằng công thức, các Mã trùng nhau từ Sheet 1 qua Sheet 2 – Sum Số lượng hàng và Sum Thành Tiền theo Mã này.
Thêm nữa, em cũng muốn khi gõ thêm dòng ở cột Mã Sheet 1 thì Sheet 2 sẽ tự động kiểm tra và nếu là Mã mới thì insert dòng mới này vào Sheet 2 cột Mã ạ.
Việc Sum Số lượng hàng và Sum Thành Tiền thì em không lo – nhưng lọc Dữ liệu giống nhau của cột Mã từ Sheet này qua Sheet kia thì em chưa biết làm thế nào!!!

Kính mong cả nhà giúp em với ạ
Em chân thành cảm ơn
 

File đính kèm

Kính chào cả nhà
Em có file ví dụ đính kèm sau đây, có các cột Mã, Giá, Số lượng, Thành Tiền của Sheet 1
Em muốn lọc bằng công thức, các Mã trùng nhau từ Sheet 1 qua Sheet 2 – Sum Số lượng hàng và Sum Thành Tiền theo Mã này.
Thêm nữa, em cũng muốn khi gõ thêm dòng ở cột Mã Sheet 1 thì Sheet 2 sẽ tự động kiểm tra và nếu là Mã mới thì insert dòng mới này vào Sheet 2 cột Mã ạ.
Việc Sum Số lượng hàng và Sum Thành Tiền thì em không lo – nhưng lọc Dữ liệu giống nhau của cột Mã từ Sheet này qua Sheet kia thì em chưa biết làm thế nào!!!

Kính mong cả nhà giúp em với ạ
Em chân thành cảm ơn
Tại B2:
Mã:
=IFERROR(INDEX(Sheet1!$B$2:$B$37,MATCH(0,COUNTIF(Sheet2!$B$1:B1,Sheet1!$B$2:$B$35),0),0),"")
Kết thúc công thức ấn tổ hợp phím Ctrl+Shift+Enter
Bạn tìm hiểu pivot tables lọc trùng và tông hợp thì không cần công thức cũng được mà
 
Dạ, em xin cảm ơn anh hpkhuong và đặc biệt chân thành cảm ơn anh comet_1701
Pivot Table thì thực sự không phải là không thể dùng – nhưng vì em chỉ có thể dùng công thức cho "người" này mà thôi nên em không thể làm cách nào khác – kể cả viết VBA!!!!
Hơi khó nói nên đành chịu ạ!!

Em xin cảm ơn hai anh một lần nữa
Em
 
Kính chào cả nhà
Em có file ví dụ đính kèm sau đây, có các cột Mã, Giá, Số lượng, Thành Tiền của Sheet 1
Em muốn lọc bằng công thức, các Mã trùng nhau từ Sheet 1 qua Sheet 2 – Sum Số lượng hàng và Sum Thành Tiền theo Mã này.
Thêm nữa, em cũng muốn khi gõ thêm dòng ở cột Mã Sheet 1 thì Sheet 2 sẽ tự động kiểm tra và nếu là Mã mới thì insert dòng mới này vào Sheet 2 cột Mã ạ.
Việc Sum Số lượng hàng và Sum Thành Tiền thì em không lo – nhưng lọc Dữ liệu giống nhau của cột Mã từ Sheet này qua Sheet kia thì em chưa biết làm thế nào!!!

Kính mong cả nhà giúp em với ạ
Em chân thành cảm ơn
Nếu đơn giản chỉ như vậy thì sao không dùng pivot vừa nhanh lại không cần phải công thức với cốt kiếc gì.

------------------------
Vừa gửi bài thì thấy tác giả trả lời ở bài trên
Bài mình viết thừa quá!
mong ban quản trị xoá giúp.
 
Lần chỉnh sửa cuối:
Ôi ... khi áp vào 2 Sheet thực tế em làm thì nó không ra đúng kết quả các anh ơi
Có khi nào do hàm Match không ạ?
Để em up file thực tế lên đây luôn (dù em có xóa đi một số nội dung rồi)

Các anh xem giúp em với ạ
Em chân thành cảm ơn
 

File đính kèm

Nếu đơn giản chỉ như vậy thì sao không dùng pivot vừa nhanh lại không cần phải công thức với cốt kiếc gì.

------------------------
Vừa gửi bài thì thấy tác giả trả lời ở bài trên
Bài mình viết thừa quá!
mong ban quản trị xoá giúp.

đâu có thừa gì đâu bạn , có file khác để bạn làm rồi kìa . hi hi
 
Ôi ... khi áp vào 2 Sheet thực tế em làm thì nó không ra đúng kết quả các anh ơi
Có khi nào do hàm Match không ạ?
Để em up file thực tế lên đây luôn (dù em có xóa đi một số nội dung rồi)

Các anh xem giúp em với ạ
Em chân thành cảm ơn
Chắc là do bạn chưa biết tùy biến thôi: (Thử sửa lại như thế này, nhìn sơ sửa đại thôi nha.)
Mã:
=IFERROR(INDEX(Sheet3!$A$4:$A$94,MATCH(0,INDEX(COUNTIF($A$6:A6,Sheet3!$A$4:$A$94),0),0)),"")
 
Dạ em cảm ơn anh giangleloi lắm lắm ạ
Em đã điều chỉnh như anh ghi nhận và thành công rồi anh ạ!!!
 
Mã:
[COLOR=#000000]Option Explicit[/COLOR]Private Sub Worksheet_Activate()
Dim sArr(), I&, J&, Dic As Object, dArr, K&, Tmp [COLOR=#0000ff]'Khai báo biến[/COLOR]
Application.ScreenUpdating = False    [COLOR=#0000ff]'Không cập nhập những thay đổi trên màn hình[/COLOR]
With Sheet1
    sArr = .Range(.[B2], .[B65000].End(3)).Resize(, 4).Value  [COLOR=#0000ff]'gán biến sArr = vùng B2:vùng có dữ liệu. [/COLOR][COLOR=#ff0000]Resize(,4) em chưa hiểu[/COLOR]
End With
ReDim dArr(1 To UBound(sArr), 1 To 5) [COLOR=#ff0000]'đoạn này em chưa hiểu[/COLOR]
Set Dic = CreateObject("Scripting.Dictionary") [COLOR=#0000ff]'gán biến DIC = hàm [FONT=Verdana]CreateObject [/FONT][/COLOR][COLOR=#ff0000][FONT=Verdana](Anh chị chỉ giúp em hàm này dùng làm gì)[/FONT]
[/COLOR]
With Dic
    For I = 1 To UBound(sArr, 1) [COLOR=#0000ff]'Cho I chạy từ 1 tới[/COLOR][COLOR=#ff0000] [FONT=Verdana]UBound(sArr, 1) đoạn này em chưa rõ[/FONT]
[/COLOR]
        Tmp = sArr(I, 1) [COLOR=#ff0000]'[FONT=Verdana]sArr(I, 1) em chưa hiểu[/FONT][/COLOR]

        If Not .Exists(Tmp) Then
            K = K + 1 [COLOR=#ff0000]'chỗ này là tính cho cái gì?[/COLOR]
            .Add Tmp, K
                dArr(K, 1) = K   [COLOR=#ff0000]'[FONT=Verdana]dArr(K, 1)[/FONT][/COLOR]

            For J = 1 To UBound(sArr, 2)
                dArr(K, J + 1) = sArr(I, J)
            Next J
        Else
            dArr(.Item(Tmp), 3) = dArr(.Item(Tmp), 3) + sArr(I, 2)
            dArr(.Item(Tmp), 5) = dArr(.Item(Tmp), 5) + sArr(I, 4)
        End If
    Next I
End With
With Sheet2
       .Range("A2:E65000").ClearContents
    If K Then
        .Range("A2").Resize(K, 5).Value = dArr
        .Range("B2").Resize(K, 4).Sort [B1], xlAscending
    End If
End With
Set Dic = Nothing
Application.ScreenUpdating = True [COLOR=#000000]End Sub[/COLOR]

Em ko hiểu về code nắm, hôm trước Anh hpkhuong viết giúp em code chạy rất tốt. Nhưng Em ngồi xem mãi chưa vỡ ra được, Em mạo muội tìm hiểu về code của Anh hpkhuong mong a cho phép.
Mong A và các bạn có thể chú thích chi tiết phần chữ mầu đỏ ở trên giúp Em. Cám ơn Anh chị!
 
Em ko hiểu về code nắm, hôm trước Anh hpkhuong viết giúp em code chạy rất tốt. Nhưng Em ngồi xem mãi chưa vỡ ra được, Em mạo muội tìm hiểu về code của Anh hpkhuong mong a cho phép.
Mong A và các bạn có thể chú thích chi tiết phần chữ mầu đỏ ở trên giúp Em. Cám ơn Anh chị!
trước khi tìm hiểu code bạn hãy tìm hiểu về nội quy diễn đàn cái đã
bạn đang vi phạm nội quy
 
Web KT

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

Back
Top Bottom