Sử dụng hàm gì cho đúng ? (1 người xem)

Liên hệ QC

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

trangttd

Thành viên mới
Tham gia
24/4/09
Bài viết
14
Được thích
1
Em mới tham gia diễn đàn có câu hỏi thắc mắc về phần excel, các anh chị chỉ giúp em nhé
Em có 1 danh sách khách hàng, mỗi khách hàng 1 mã nhưng mỗi khách hàng lại có những sản phẩm khác nhau và tổng tiền khác nhau.( khoảng 1000 khách hàng ). Bây giờ em muốn làm sao có được 1 bảng khác như sau :
mã khách hàng - Tên khách hàng - Số sp khách hàng mua( đếm bn loại )- Số tiền
vd : mã -- khách hàng Số sp ST
0002 B 2 700

Còn đây là file cần tách ( em chỉ ví dụ thôi chứ khách hàng khoảng tầm hơn 1000 )
mã khách hàng - tên khách hàng - tên sp ( kH mua ) - Tiền
0001 A XX 100
0002 B XX 200
0001 A YY 300
0001 A ZZ 400
0002 B XX 500
0003 D YY 200
0004 E ZZ 100
0001 A XX 500
0005 F WW 400
0001 A WW 200
0006 G XX 100
0006 G YY 300
 
Lần chỉnh sửa cuối:
Có phải như thế này:
000-970.jpg
 
Bạn xem thêm trong file đính kèm

PHP:
Option Explicit
Sub TongHop()
 Dim jJ As Long, eRw As Long
 Dim tRng As Range
 
   Set tRng = Range("I1:J1"):       Application.ScreenUpdating = False
   Columns("A:B").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=tRng, Unique:=True
   [k1].Value = "SoHg":                [L1].Value = "TTien'"
 eRw = [j65500].End(xlUp).Row
 For jJ = 2 To eRw
   With Cells(jJ, "I")
      [f2].Value = .Value:          .Offset(, 2).Value = [f7].Value
      .Offset(, 3).Value = [g7].Value
   End With
 Next jJ
 Range("L2:L" & eRw).NumberFormat = "#,##0"
End Sub
 

File đính kèm

Em mới tham gia diễn đàn có câu hỏi thắc mắc về phần excel, các anh chị chỉ giúp em nhé
Em có 1 danh sách khách hàng, mỗi khách hàng 1 mã nhưng mỗi khách hàng lại có những sản phẩm khác nhau và tổng tiền khác nhau.( khoảng 1000 khách hàng ). Bây giờ em muốn làm sao có được 1 bảng khác như sau :
mã khách hàng - Tên khách hàng - Số sp khách hàng mua( đếm bn loại )- Số tiền
vd : mã -- khách hàng Số sp ST
0002 B 2 700

Còn đây là file cần tách ( em chỉ ví dụ thôi chứ khách hàng khoảng tầm hơn 1000 )
mã khách hàng - tên khách hàng - tên sp ( kH mua ) - Tiền
0001 A XX 100
0002 B XX 200
0001 A YY 300
0001 A ZZ 400
0002 B XX 500
0003 D YY 200
0004 E ZZ 100
0001 A XX 500
0005 F WW 400
0001 A WW 200
0006 G XX 100
0006 G YY 300
Bạn dùng Advance Filter lọc ra danh sách mã KH duy nhất. Sau đó dùng công thức để điền vào tên KH, Số SP, Tổng tiền như công thức của bạn BNTT.
 
Bác HYen17 ơi, đã dùng UDF, mà còn phải kèm thêm DCOUNTA và DSUM nữa.... chi cho khổ vậy ?
Chỉ cần COUNTIF và SUMIF là ra ngay kết quả rồi mà... Chấp dữ liệu 10.000 mã trở lên.

Rồi, nếu muốn lấy tên khách hàng từ mã, chẳng lẽ lại phải thêm một cái VLOOKUP hoặc là thêm vài dòng lệnh trong code nữa?
 
Bài này tôi nghĩ dùng Consolidate là hợp lý... hoặc toàn diện hơn thì nên dùng Pivot table (khỏi code cũng được)
 
Bác BNTT ơi! cho em hỏi 1 chút, nếu em muốn danh sách này sang hẳn 1 sheet khác thì làm sao để có mã từng khách hàng 1 vậy. vì có nhiều khách hàng làm nếu copy toàn bộ mã xong rồi xóa mã trùng đi để có 1 danh sách mỗi khách chỉ 1 mã thôi thì thủ công qua, nhờ bác chỉ giáo
 
Bác BNTT ơi! cho em hỏi 1 chút, nếu em muốn danh sách này sang hẳn 1 sheet khác thì làm sao để có mã từng khách hàng 1 vậy. vì có nhiều khách hàng làm nếu copy toàn bộ mã xong rồi xóa mã trùng đi để có 1 danh sách mỗi khách chỉ 1 mã thôi thì thủ công qua, nhờ bác chỉ giáo
Như tôi đã nói ở trên, bài này dùng Consolidate là ngon nhất
Bạn xem đây:
PHP:
Sub Loc()
  Sheet2.Range("A2:D10000").ClearContents
  With Range(Sheet1.[A1], Sheet1.[D65536].End(xlUp))
    Sheet2.[A2].Consolidate .Parent.Name & "!" & .Offset(1, 1).Address(, , 2), 9, 0, 1
    .Resize(, 1).AdvancedFilter 1, , , True
    .Offset(1).Resize(, 2).SpecialCells(12).Copy
    Sheet2.Range("A2").PasteSpecial 3
    .Parent.ShowAllData
  End With
  Sheet2.Range("A1").Select
End Sub
Đương nhiên đây chỉ là gợi ý ---> Với dử thật thì bạn phải xem lại tham chiếu nhé
 

File đính kèm

Lần chỉnh sửa cuối:
Hic! Em chưa biết dùng GPE bao giờ, tiện thể cho em hỏi chút:
vd : A= 050072 là tiền vnd thì B = 050072
A = 050072 là tiền usd thì B = 050072U
A = 050072 là tiền eur thì B = 050072E
thì phải làm như thế nào a.
 
Đại loại như này nhé bạn:
COUNTIF(Sheet1!B2:B13,Sheet2B16)
Bạn cứ gõ công thức ở 1 sheet rồi đến khi mở ngoặc đơn thì ấn sang sheet cần chọn và bôi đen vùng cần chọn
 
Web KT

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

Back
Top Bottom