Lọc ra các khách hàng có Subtotal thỏa điều kiện

Liên hệ QC

iloveit

Thành viên thường trực
Tham gia
2/3/13
Bài viết
212
Được thích
52
Giới tính
Nam
Nghề nghiệp
Tự do
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.

Bây giờ còn một việc mình chưa làm được là làm sao từ Sheet01 mình lọc ra được kết quả như Sheet03 nhưng chỉ lấy những khách hàng có Subtotal lớn hơn 300.000đ
Nhờ mọi người giúp mình làm bước này. Xin cảm ơn.

Sheet01: Dữ liệu ban đầu
anh 0.png

Sheet03: kết quả mong muốn nhưng chỉ lấy ra những khách hàng có Subtotal lớn hơn 300.000đ

anh.png



Cập nhật thêm chi tiết (10h02 ngày 21/8/2020): Hay nói cách khác là từ dữ liệu ở Sheet03 mình muốn chừa lại các khách hàng có Subtotal > 300.000 và phải xem được chi tiết các mặt hàng đã mua như hình này
06.png
 

File đính kèm

  • Book1.xlsm
    74.7 KB · Đọc: 12
Lần chỉnh sửa cuối:
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.

Bây giờ còn một việc mình chưa làm được là làm sao từ Sheet01 mình lọc ra được kết quả như Sheet03 nhưng chỉ lấy những khách hàng có Subtotal lớn hơn 300.000đ
Nhờ mọi người giúp mình làm bước này. Xin cảm ơn.

Sheet01: Dữ liệu ban đầu
View attachment 243608

Sheet03: kết quả mong muốn nhưng chỉ lấy ra những khách hàng có Subtotal lớn hơn 300.000đ

View attachment 243607
Không xem file được do dùng điện thoại. Bạn thử sử dụng pivotable coi
 
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.

Bây giờ còn một việc mình chưa làm được là làm sao từ Sheet01 mình lọc ra được kết quả như Sheet03 nhưng chỉ lấy những khách hàng có Subtotal lớn hơn 300.000đ
Nhờ mọi người giúp mình làm bước này. Xin cảm ơn.

Sheet01: Dữ liệu ban đầu
View attachment 243608

Sheet03: kết quả mong muốn nhưng chỉ lấy ra những khách hàng có Subtotal lớn hơn 300.000đ

View attachment 243607
Dùng pivot nhe bạn
 

File đính kèm

  • Book1 (1).xlsm
    207.1 KB · Đọc: 17

Bạn có thể chỉ mình vài bước được không?
(1) 2 Field được tạo ra như thế nào. Tại sao có tới 2 Field điều kiện.
(2) Sao mình không lấy Field Tổng tiền trên hóa đơn có sẵn làm điều kiện luôn.

Cái Pivot table mình chưa từng sử dụng nên hỏi chi tiêt chút :)
 
Bạn có thể chỉ mình vài bước được không?
(1) 2 Field được tạo ra như thế nào. Tại sao có tới 2 Field điều kiện.
(2) Sao mình không lấy Field Tổng tiền trên hóa đơn có sẵn làm điều kiện luôn.

Cái Pivot table mình chưa từng sử dụng nên hỏi chi tiêt chút :)
Ah, tôi dùng power pivot, pivot thông thường chắc không làm được.
(1) Tôi dùng Dax tạo 2 cái field đó, bạn thử kéo cái số lượng vào để biết nó khác nhau
(2) Cái tổng tiền của bạn là từng row không phải total nên phải viết lại cái field điều kiện
=> Nên tìm hiểu pivot table từ từ đi bạn
Bạn chuột phải vào cái field điều kiện chọn edit measure
1597939533144.png
 
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.
Sheet03: mong muốn lấy ra những khách hàng có Subtotal lớn hơn 300.000đ
Bạn sử dụng thử File, các bước thực hiện như sau:
1/ Copy dữ liệu vào Sheet 01, tạo SUBTOTAL.
2/ Sang Sheet03 nhấn nút và xem kết quả.
 

File đính kèm

  • Loc theo tieu chi.xlsm
    39.5 KB · Đọc: 11
Bạn sử dụng thử File, các bước thực hiện như sau:
1/ Copy dữ liệu vào Sheet 01, tạo SUBTOTAL.
2/ Sang Sheet03 nhấn nút và xem kết quả.

Cám ơn chú @be09 nhưng con muốn ớ Sheet03 phải lấy được chi tiết các mặt hàng đã mua như hình dưới luôn, tuy nhiên cái nào có Subtotal >300000 mới lấy.

Ví du: Đối với nhà thuốc Pasteur nó sẽ liệt kê ra 2 lần mua như thế này, file của chú con chạy code nó chỉ lấy dòng Subtotal qua Sheet03 thôi.
anh05.png
 
Nói cách khác là từ dữ liệu ở Sheet03 mình muốn chừa lại các khách hàng có Subtotal > 300.000 và phải xem được chi tiết các mặt hàng đã mua như hình này
06.png
 
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.

Bây giờ còn một việc mình chưa làm được là làm sao từ Sheet01 mình lọc ra được kết quả như Sheet03 nhưng chỉ lấy những khách hàng có Subtotal lớn hơn 300.000đ
Nhờ mọi người giúp mình làm bước này. Xin cảm ơn.

Sheet01: Dữ liệu ban đầu
View attachment 243608

Sheet03: kết quả mong muốn nhưng chỉ lấy ra những khách hàng có Subtotal lớn hơn 300.000đ

View attachment 243607



Cập nhật thêm chi tiết (10h02 ngày 21/8/2020): Hay nói cách khác là từ dữ liệu ở Sheet03 mình muốn chừa lại các khách hàng có Subtotal > 300.000 và phải xem được chi tiết các mặt hàng đã mua như hình này
View attachment 243649
Chạy code
Mã:
Sub XYZ()
  Dim sArr(), Res()
  Dim sRow&, i&, sK&, k&, tenKH$, Tong#
  Const minTong = 300000 'Gioi han duoi lay du lieu
 
  With Sheets("Sheet01")
    sArr = .Range("A2:D" & .Range("A" & Rows.Count).End(xlUp).Row + 1).Value
  End With
  sRow = UBound(sArr) - 1

  ReDim Res(1 To sRow * 2, 1 To 4)
  For i = 1 To sRow
    If tenKH <> sArr(i, 1) Then
      Tong = 0: sK = 0
      tenKH = sArr(i, 1)
      Res(k + 1, 1) = tenKH
    End If
    sK = sK + 1
    k = k + 1
    Tong = Tong + sArr(i, 4)
    Res(k, 2) = sArr(i, 2)
    Res(k, 3) = sArr(i, 3)
    Res(k, 4) = sArr(i, 4)
    If tenKH <> sArr(i + 1, 1) Then
      If Tong > minTong Then
        k = k + 1
        Res(k, 1) = tenKH & " Total"
        Res(k, 4) = Tong
      Else
        k = k - sK
      End If
    End If
  Next i
  With Sheets("Sheet03")
    i = .Range("A" & Rows.Count).End(xlUp).Row
    If i > 1 Then .Range("A2:D" & i).ClearContents
    If k Then .Range("A2:D2").Resize(k) = Res
  End With
End Sub
 
Nói cách khác là từ dữ liệu ở Sheet03 mình muốn chừa lại các khách hàng có Subtotal > 300.000 và phải xem được chi tiết các mặt hàng đã mua như hình này
Tham khảo File (ba cái vụ này nhức cả cái đầu).
Lưu ý: Filter cột E của Sheet1 và chọn (Blanks) gán số 0 vào các Cell trống trước khi chạy code.
 
Lần chỉnh sửa cuối:
Cám ơn chú @be09 nhưng con muốn ớ Sheet03 phải lấy được chi tiết các mặt hàng đã mua như hình dưới luôn, tuy nhiên cái nào có Subtotal >300000 mới lấy.
Ví du: Đối với nhà thuốc Pasteur nó sẽ liệt kê ra 2 lần mua như thế này, file của chú con chạy code nó chỉ lấy dòng Subtotal qua Sheet03 thôi.
File bài 10 tôi có nhằm (lẫn) nên kết quả ra chưa chính xác, nên tôi xóa File.
Lưu ý: Filter cột E của Sheet1 và chọn (Blanks) gán số 0 vào các Cell trống trước khi chạy code thì việc lọc chính xác.
 

File đính kèm

  • Loc tieu chi 2.xlsm
    86.4 KB · Đọc: 15
Lần chỉnh sửa cuối:
Chào mọi người mình có file dưới đây.
Sheet 01 là dữ liệu ban đầu.
Sheet 02 là Sheet trung gian mình làm để copy dữ liệu sang Sheet03 rồi Xóa những tên khách hàng trùng ở cột A, chỉ xóa trùng ở cột A. Nội dung các cột khác vẫn giữ nguyên.

Bây giờ còn một việc mình chưa làm được là làm sao từ Sheet01 mình lọc ra được kết quả như Sheet03 nhưng chỉ lấy những khách hàng có Subtotal lớn hơn 300.000đ
Nhờ mọi người giúp mình làm bước này. Xin cảm ơn.

Sheet01: Dữ liệu ban đầu
View attachment 243608

Sheet03: kết quả mong muốn nhưng chỉ lấy ra những khách hàng có Subtotal lớn hơn 300.000đ

View attachment 243607



Cập nhật thêm chi tiết (10h02 ngày 21/8/2020): Hay nói cách khác là từ dữ liệu ở Sheet03 mình muốn chừa lại các khách hàng có Subtotal > 300.000 và phải xem được chi tiết các mặt hàng đã mua như hình này
View attachment 243649
Chỉ cần pivot thông thường thôi
 

File đính kèm

  • Screenshot (7).png
    Screenshot (7).png
    332 KB · Đọc: 9
  • loc 30000.xlsm
    98 KB · Đọc: 4
Thầy be09 chỉ em cách Total sheet 1 với thầy.
Để sử dụng Subtotal, thực hiện như sau:
1/ Chọn vùng từ A1 đến hết dữ liệu, xong vào Data >Subtotal (cuối cùng bên phải Ribbon).
2/ Để tính tổng của từng khách hàng thì trong mục At each change in chọn Tên khách hàng và trong mục Use function chọn Sum.
3/ Tiếp theo trong khung Add Subtotal chọn Tên khách hàng và chọn Tổng tiền trên hóa đơn, xong nhấn OK (xem hình).

Lưu ý chỗ 2 dấu sao đỏ:
- Nếu không chọn cả 2 mục thì Subtotal sẽ nằm dòng trên Tên khách hàng.
- Nếu chọn cả 2 mục thì Subtotal sẽ nằm dòng dưới Tên khách hàng.

A_Subtotal.JPG
 
Lần chỉnh sửa cuối:
Để sử dụng Subtotal, thực hiện như sau:
1/ Chọn vùng từ A1 đến hết dữ liệu, xong vào Data >Subtotal (cuối cùng bên phải Ribbon).
2/ Để tính tổng của từng khách hàng thì trong mục At each change in chọn Tên khách hàng và trong mục Use function chọn Sum.
3/ Tiếp theo trong khung Add Subtotal chọn Tên khách hàng và chọn Tổng tiền trên hóa đơn, xong nhấn OK (xem hình).

Lưu ý chỗ 2 dấu sao đỏ:
- Nếu không chọn cả 2 mục thì Subtotal sẽ nằm dòng trên Tên khách hàng.
- Nếu chọn cả 2 mục thì Subtotal sẽ nằm dòng dưới Tên khách hàng.

View attachment 243872
Dạ, vâng. Em cám ơn thầy. Để chút em lên máy em sẽ thực hành.
 
Web KT

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

Back
Top Bottom