Tính tổng số lượng của mỗi sản phẩm bán ra trong 7 ngày

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

vanchau3103

Thành viên mới
Tham gia
16/3/12
Bài viết
21
Được thích
1
Mình có 1 file báo cáo với tên sản phẩm kèm số lượng bán và doanh thu theo từng ngày. Mình muốn cuối tuần sẽ tổng kết báo cáo tổng số lượng và doanh thu của mỗi sản phẩm trong 7 ngày qua. Và dữ liệu sẽ được cập nhật trong 7 ngày tiếp theo. Mong mọi người giúp đỡ ạ, Cảm ơn mọi người rất rất nhiều!
 

File đính kèm

Để tiện trong tính toán & thống kê thì bạn cần ghi chép trang tính như tham khảo dưới đây:

STTIDNgàyGiờTên hàngSluongĐơn giáTTGhi chú
1
62829​
3/10/2023​
4:28​
Den sac honda 1620 led
2​
265,000​
2
62829​
3/10/2023​
4:28:00 AM​
Pin 9121
10​
19,000​
3
62829​
3/10/2023​
4:28:00 AM​
Den sac DP 7165
2​
175,000​
4
62829​
3/10/2023​
4:28:00 AM​
ngu kieu
5​
12,000​
5
62829​
3/10/2023​
4:28:00 AM​
Choa DD A29 Yen quan
2​
210,000​
6
62829​
3/10/2023​
4:28:00 AM​
Choa DD K25
2​
230,000​
 
Mình có 1 file báo cáo với tên sản phẩm kèm số lượng bán và doanh thu theo từng ngày. Mình muốn cuối tuần sẽ tổng kết báo cáo tổng số lượng và doanh thu của mỗi sản phẩm trong 7 ngày qua. Và dữ liệu sẽ được cập nhật trong 7 ngày tiếp theo. Mong mọi người giúp đỡ ạ, Cảm ơn mọi người rất rất nhiều!
Dữ liệu không đúng chuẩn phải dùng cột phụ, xem cách làm trong file
 

File đính kèm

Dữ liệu không đúng chuẩn phải dùng cột phụ, xem cách làm trong file
Cách này cũng lận đận lắm;
Chả may có người nhập lúc thì 1/2/2023; nhưng cũng có người nổi hứng 01/08/2023
Ngoài ra còn chuyện DD/MM/yyyy & MM/dd/yyyy nữa kia;
Nên khuyên chủ bài đăng chớ cố đấm ăn xôi, có ngày đắm cả thuyền lẫn người thương thì toi!
 
Cách này cũng lận đận lắm;
Chả may có người nhập lúc thì 1/2/2023; nhưng cũng có người nổi hứng 01/08/2023
Ngoài ra còn chuyện DD/MM/yyyy & MM/dd/yyyy nữa kia;
Nên khuyên chủ bài đăng chớ cố đấm ăn xôi, có ngày đắm cả thuyền lẫn người thương thì toi!
File nầy do phần mềm xuất ra nên theo 1 chuẩn nào đó, không có dữ liệu tháng 9 nên dùng tạm hàm Mid cũng ổn
 
Cảm ơn bạn HieuCD rất nhiều! Đúng là file này do phần mềm xuất ra nên theo đúng chuẩn định dạng d/m/yyyy. Bạn có thể giúp mình sử dụng hàm nào để giải quyết vấn đề này không ạ. Cảm ơn mọi người đã góp ý ạ
Thêm nữa là phần "Bảng báo cáo 7 ngày" nếu có thêm các sản phẩm mới được bán trong tuần thì có cách nào để tự cập thật items vào bảng không ạ?
Bài đã được tự động gộp:

File nầy do phần mềm xuất ra nên theo 1 chuẩn nào đó, không có dữ liệu tháng 9 nên dùng tạm hàm Mid cũng ổn
Cảm ơn bạn HieuCD rất nhiều! Đúng là file này do phần mềm xuất ra nên theo đúng chuẩn định dạng d/m/yyyy. Bạn có thể giúp mình sử dụng hàm nào để giải quyết vấn đề này không ạ. Cảm ơn mọi người đã góp ý ạ
Thêm nữa là phần "Bảng báo cáo 7 ngày" nếu có thêm các sản phẩm mới được bán trong tuần thì có cách nào để tự cập thật items vào bảng không ạ?
 
Lần chỉnh sửa cuối:
Sao chủ bài đăng không nhờ giúp chuyển file chưa đúng chuẩn về thành file đúng chuẩn, nhỉ?
Quá ngạc nhiên luôn!
 
giải quyết vấn đề này
Đồng chí phải tìm hiểu:
- Regex để lấy ngày trong chuỗi bất kỳ ra.
- Chuyển ngày đang chuẩn Text thành ngày mà Excel hiểu.

Phải luyện tư duy lập trình đi, vì với tớ nó cũng đang là ý tưởng thôi, đang vừa học vừa code đây, hy vọng có sớm. Thường mỗi đoạn code hoàn chỉnh dưới 20 dòng của tớ mất 2 -> 3 tháng.
 
Sao chủ bài đăng không nhờ giúp chuyển file chưa đúng chuẩn về thành file đúng chuẩn, nhỉ?
Quá ngạc nhiên luôn!
Vì file excel xuất từ phần mềm ra nên dữ liệu rất lớn, 1 tuần là mình lấy làm ví dụ, vì có thể 1 tháng mình tổng hợp báo cáo 1 lần nên làm thủ công thành file đúng chuẩn khó lắm ạ. bạn có cách nào giúp mình chuyển thành file chuẩn được không ạ? Cảm ơn bạn rất nhiều!
 
Vì file excel xuất từ phần mềm ra nên dữ liệu rất lớn, 1 tuần là mình lấy làm ví dụ, vì có thể 1 tháng mình tổng hợp báo cáo 1 lần nên làm thủ công thành file đúng chuẩn khó lắm ạ. bạn có cách nào giúp mình chuyển thành file chuẩn được không ạ? Cảm ơn bạn rất nhiều!
Bạn sử dụng Power query biến đổi về dữ liệu chuẩn:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Duplicated Column" = Table.DuplicateColumn(Source, "SP", "Date"),
#"Split Column by Positions" = Table.SplitColumn(#"Duplicated Column", "Date", Splitter.SplitTextByPositions({10, 19})),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Positions",{"Date.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Date.1", type date}}),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Changed Type", {{"Date.1", null}}),
#"Filled Down" = Table.FillDown(#"Replaced Errors",{"ID", "Date.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([SL] <> null and [SL] <> "Ban Hang Luu Dong")),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"ID", type number}, {"SP", type text}, {"SL", type number}, {"Gia", type number}, {"Thanh tien", type number}})
in
#"Changed Type1"
Sau đó nạp vô Data Model để tính hoặc cho ra sheet để Pivot table cũng được:
Row LabelsSố lượngThành tiền
APOLO
50​
2,700,000
Bong tich dien YQ802
51​
3,570,000
Bong tich dien YQV212
52​
5,665,000
Choa DD 9811
43​
2,580,000
Choa DD A16 Yen quan
32​
3,520,000
Choa DD A18 Yen quan
43​
6,020,000
Choa DD A29 Yen quan
46​
9,660,000
Choa DD K25
26​
5,980,000
Choa DD ML3
14​
1,190,000
Den Led 036RD
16​
1,056,000
Den sac DP 7048
23​
2,875,000
Den sac DP 7165
18​
3,150,000
Den sac honda 1620 led
8​
2,120,000
Keo chong tham 10F
17​
850,000
Keo chong tham 5F
42​
1,176,000
Keo MPE lon
18​
846,000
Keo Nano nho
9​
270,000
ngu 3W
135​
1,080,000
ngu kieu
394​
4,728,000
O 2 lo Sunny
20​
190,000
Phit cam chiu tai Sunny
60​
372,000
Phit cam Sunny
50​
150,000
Pin 4316
95​
4,370,000
Pin 9035
65​
2,990,000
Pin 9121
123​
2,367,000
Pin 9970(4110)
70​
2,450,000
pin dai con o
57​
3,249,000
pin tieu
19​
1,140,000
vot Mellin
45​
2,790,000
Vot RD 02
33​
3,135,000
Vot RD 03
15​
1,425,000
Grand Total
1689​
83,664,000
 

File đính kèm

Bạn sử dụng Power query biến đổi về dữ liệu chuẩn:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Duplicated Column" = Table.DuplicateColumn(Source, "SP", "Date"),
#"Split Column by Positions" = Table.SplitColumn(#"Duplicated Column", "Date", Splitter.SplitTextByPositions({10, 19})),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Positions",{"Date.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Date.1", type date}}),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Changed Type", {{"Date.1", null}}),
#"Filled Down" = Table.FillDown(#"Replaced Errors",{"ID", "Date.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([SL] <> null and [SL] <> "Ban Hang Luu Dong")),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"ID", type number}, {"SP", type text}, {"SL", type number}, {"Gia", type number}, {"Thanh tien", type number}})
in
#"Changed Type1"
Sau đó nạp vô Data Model để tính hoặc cho ra sheet để Pivot table cũng được:
Cảm ơn bạn đã giúp. Mình dùng Excel 2013 Thật sự mình không biết add source Power Query như nào, mình cũng đã tham khảo và add được nhưng lại bị lỗi như hình bên dưới. Mong bạn hỗ trợ giúp mình, mình thấy cách bạn làm rất hay ạ. Mình làm như sau: Chọn tab Power Query > From tabe/range > Advanced Edittor rồi add code của bạn vô nhưng bị lỗi như hình ạ.

Cho mình hỏi thêm là từ file đã xử lý của bạn, mình chép thêm dữ liệu vào thì làm thế nào để update dữ liệu ạ.
 

File đính kèm

  • Capture.PNG
    Capture.PNG
    128.8 KB · Đọc: 7
Lần chỉnh sửa cuối:
Cảm ơn bạn đã giúp. Mình dùng Excel 2013 Thật sự mình không biết add source Power Query như nào, mình cũng đã tham khảo và add được nhưng lại bị lỗi như hình bên dưới. Mong bạn hỗ trợ giúp mình, mình thấy cách bạn làm rất hay ạ. Mình làm như sau: Chọn tab Power Query > From tabe/range > Advanced Edittor rồi add code của bạn vô nhưng bị lỗi như hình ạ
Bạn đổi tên chỗ Query1 thành Table1
1697102919495.png
 
Bạn sử dụng Power query biến đổi về dữ liệu chuẩn:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Duplicated Column" = Table.DuplicateColumn(Source, "SP", "Date"),
#"Split Column by Positions" = Table.SplitColumn(#"Duplicated Column", "Date", Splitter.SplitTextByPositions({10, 19})),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Positions",{"Date.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Date.1", type date}}),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Changed Type", {{"Date.1", null}}),
#"Filled Down" = Table.FillDown(#"Replaced Errors",{"ID", "Date.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([SL] <> null and [SL] <> "Ban Hang Luu Dong")),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"ID", type number}, {"SP", type text}, {"SL", type number}, {"Gia", type number}, {"Thanh tien", type number}})
in
#"Changed Type1"
Sau đó nạp vô Data Model để tính hoặc cho ra sheet để Pivot table cũng được:
Row LabelsSố lượngThành tiền
APOLO
50​
2,700,000
Bong tich dien YQ802
51​
3,570,000
Bong tich dien YQV212
52​
5,665,000
Choa DD 9811
43​
2,580,000
Choa DD A16 Yen quan
32​
3,520,000
Choa DD A18 Yen quan
43​
6,020,000
Choa DD A29 Yen quan
46​
9,660,000
Choa DD K25
26​
5,980,000
Choa DD ML3
14​
1,190,000
Den Led 036RD
16​
1,056,000
Den sac DP 7048
23​
2,875,000
Den sac DP 7165
18​
3,150,000
Den sac honda 1620 led
8​
2,120,000
Keo chong tham 10F
17​
850,000
Keo chong tham 5F
42​
1,176,000
Keo MPE lon
18​
846,000
Keo Nano nho
9​
270,000
ngu 3W
135​
1,080,000
ngu kieu
394​
4,728,000
O 2 lo Sunny
20​
190,000
Phit cam chiu tai Sunny
60​
372,000
Phit cam Sunny
50​
150,000
Pin 4316
95​
4,370,000
Pin 9035
65​
2,990,000
Pin 9121
123​
2,367,000
Pin 9970(4110)
70​
2,450,000
pin dai con o
57​
3,249,000
pin tieu
19​
1,140,000
vot Mellin
45​
2,790,000
Vot RD 02
33​
3,135,000
Vot RD 03
15​
1,425,000
Grand Total
1689​
83,664,000

Bạn đổi tên chỗ Query1 thành Table1
View attachment 295645

Cho mình hỏi thêm là từ file đã xử lý của bạn, mình chép thêm dữ liệu vào thì làm thế nào để update dữ liệu ạ.
 

File đính kèm

  • Capture.PNG1.PNG
    Capture.PNG1.PNG
    215 KB · Đọc: 13
Bạn sử dụng Power query biến đổi về dữ liệu chuẩn:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Duplicated Column" = Table.DuplicateColumn(Source, "SP", "Date"),
#"Split Column by Positions" = Table.SplitColumn(#"Duplicated Column", "Date", Splitter.SplitTextByPositions({10, 19})),
#"Removed Columns" = Table.RemoveColumns(#"Split Column by Positions",{"Date.2"}),
#"Changed Type" = Table.TransformColumnTypes(#"Removed Columns",{{"Date.1", type date}}),
#"Replaced Errors" = Table.ReplaceErrorValues(#"Changed Type", {{"Date.1", null}}),
#"Filled Down" = Table.FillDown(#"Replaced Errors",{"ID", "Date.1"}),
#"Filtered Rows" = Table.SelectRows(#"Filled Down", each ([SL] <> null and [SL] <> "Ban Hang Luu Dong")),
#"Changed Type1" = Table.TransformColumnTypes(#"Filtered Rows",{{"ID", type number}, {"SP", type text}, {"SL", type number}, {"Gia", type number}, {"Thanh tien", type number}})
in
#"Changed Type1"
Sau đó nạp vô Data Model để tính hoặc cho ra sheet để Pivot table cũng được:
Row LabelsSố lượngThành tiền
APOLO
50​
2,700,000
Bong tich dien YQ802
51​
3,570,000
Bong tich dien YQV212
52​
5,665,000
Choa DD 9811
43​
2,580,000
Choa DD A16 Yen quan
32​
3,520,000
Choa DD A18 Yen quan
43​
6,020,000
Choa DD A29 Yen quan
46​
9,660,000
Choa DD K25
26​
5,980,000
Choa DD ML3
14​
1,190,000
Den Led 036RD
16​
1,056,000
Den sac DP 7048
23​
2,875,000
Den sac DP 7165
18​
3,150,000
Den sac honda 1620 led
8​
2,120,000
Keo chong tham 10F
17​
850,000
Keo chong tham 5F
42​
1,176,000
Keo MPE lon
18​
846,000
Keo Nano nho
9​
270,000
ngu 3W
135​
1,080,000
ngu kieu
394​
4,728,000
O 2 lo Sunny
20​
190,000
Phit cam chiu tai Sunny
60​
372,000
Phit cam Sunny
50​
150,000
Pin 4316
95​
4,370,000
Pin 9035
65​
2,990,000
Pin 9121
123​
2,367,000
Pin 9970(4110)
70​
2,450,000
pin dai con o
57​
3,249,000
pin tieu
19​
1,140,000
vot Mellin
45​
2,790,000
Vot RD 02
33​
3,135,000
Vot RD 03
15​
1,425,000
Grand Total
1689​
83,664,000
Mình cần bạn giúp thêm về việc chuẩn hoá dữ liệu từ file đính kèm của bạn. Mình có thêm các dữ liệu khác của NV1 và NV2, cụ thể là mình có thêm các bảng dữ liệu bên cạnh "Ban Hang Luu Dong" là "Ban Hang NV1" và "Ban Hang NV2". Mình muốn khi mình thay dữ liệu với các giá trị thay đổi là: "Ban Hang NV1" và "Ban Hang NV2" thì khi mình Refresh All trong Data thì dữ liệu cuối mình nhận được sẽ không bị lỗi. Mong bạn và những bạn khác giúp mình thêm về code của Power query để đáp ứng điều kiện trên ạ. Mình cảm ơn!
 

File đính kèm

Xin phép gỡ bài vì hiểu nhầm ý chủ thớt.
 
Lần chỉnh sửa cuối:
Mình cần bạn giúp thêm về việc chuẩn hoá dữ liệu từ file đính kèm của bạn. Mình có thêm các dữ liệu khác của NV1 và NV2, cụ thể là mình có thêm các bảng dữ liệu bên cạnh "Ban Hang Luu Dong" là "Ban Hang NV1" và "Ban Hang NV2". Mình muốn khi mình thay dữ liệu với các giá trị thay đổi là: "Ban Hang NV1" và "Ban Hang NV2" thì khi mình Refresh All trong Data thì dữ liệu cuối mình nhận được sẽ không bị lỗi. Mong bạn và những bạn khác giúp mình thêm về code của Power query để đáp ứng điều kiện trên ạ. Mình cảm ơn!
Đọc không hiểu bạn muốn gì? Hãy mô phỏng nội dung ghi rõ trong file
 
Web KT

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

Back
Top Bottom