Lọc dữ liệu theo khoản thời gian bằng hàm Sumifs (3 người xem)

Liên hệ QC

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

Tôi tuân thủ nội quy khi đăng bài

phanngoctrai1981

Thành viên chính thức
Tham gia
16/4/23
Bài viết
60
Được thích
0
ws2.Cells(i, 9).Value = WorksheetFunction.Sumifs(Sheets("Du lieu").Range("G3:G6"), Sheets("Du lieu").Range("B3:B6"), Range("G6"),"Du lieu").Range("G3:G6"),Range("B3"))

Sheets("Du lieu").Range("G3:G6"): Vùng cần tính tổng
Sheets("Du lieu").Range("B3:B6"): Vùng điều kiện 1(ở đây là ngày tháng)
Range("G6"): Điều kiện (1 ngày cụ thể)
Sheets("Du lieu").Range("B3:B6"): Vùng điều kiện 2
Range("B3"): Điều kiện 2
Yêu cầu: Giờ em muốn thay điều kiện 1 ngày cụ thể (chổ (Range("G6")) thành một khoản thời gian
Ví dụ: khoản thời gian: 01/07/2023 đến 15/07/2023
Kính mong các Anh/chị xem Code trên và sửa lại giúp ah.
Em cảm ơn.
 
ws2.Cells(i, 9).Value = WorksheetFunction.Sumifs(Sheets("Du lieu").Range("G3:G6"), Sheets("Du lieu").Range("B3:B6"), Range("G6"),"Du lieu").Range("G3:G6"),Range("B3"))

Sheets("Du lieu").Range("G3:G6"): Vùng cần tính tổng
Sheets("Du lieu").Range("B3:B6"): Vùng điều kiện 1(ở đây là ngày tháng)
Range("G6"): Điều kiện (1 ngày cụ thể)
Sheets("Du lieu").Range("B3:B6"): Vùng điều kiện 2
Range("B3"): Điều kiện 2
Yêu cầu: Giờ em muốn thay điều kiện 1 ngày cụ thể (chổ (Range("G6")) thành một khoản thời gian
Ví dụ: khoản thời gian: 01/07/2023 đến 15/07/2023
Kính mong các Anh/chị xem Code trên và sửa lại giúp ah.
Em cảm ơn.
Bạn nên gửi file lên để người ta còn biết đường mà giúp bạn!
 
Bạn chuyển qua xài Code?
Vậy hãy lập lại CSDL:
(1) Bỏ hết các dòng 'tổng' đi thôi
(2) Giải thích sao khi có các cột tên giống nhau mà số liệu trong 1 hàng của chúng lại khác nhau?
(3) Nếu cần lọc theo 1 chu kỳ bất kỳ (như tuần, Quí, . . .) ta có thể xài AdvancedFilter (VBA)
 
Bạn chuyển qua xài Code?
Vậy hãy lập lại CSDL:
(1) Bỏ hết các dòng 'tổng' đi thôi
(2) Giải thích sao khi có các cột tên giống nhau mà số liệu trong 1 hàng của chúng lại khác nhau?
(3) Nếu cần lọc theo 1 chu kỳ bất kỳ (như tuần, Quí, . . .) ta có thể xài AdvancedFilter (VBA)
Em tìm mà chưa thấy dòng tổng ở đâu mà bỏ.
/*-*/
 
Lần chỉnh sửa cuối:
Lại thêm một vụ qua cầu rút ván. (lúc trước còn thấy file, giờ đã mất tiêu đâu rồi)

Ai cũng làm như vậy thì chắc GPE chỉ là cái thùng rỗng mất thôi.
Dạ không phải như Anh nghĩ đâu ah. Do em tự thấy file của mình rối quá thôi.
Do nghĩ không đến nơi đến chốn, em xin lỗi các Anh.
Đây là cách em làm đây các Anh chịu khó xem qua góp ý cho em với.
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn chuyển qua xài Code?
Vậy hãy lập lại CSDL:
(1) Bỏ hết các dòng 'tổng' đi thôi
(2) Giải thích sao khi có các cột tên giống nhau mà số liệu trong 1 hàng của chúng lại khác nhau?
(3) Nếu cần lọc theo 1 chu kỳ bất kỳ (như tuần, Quí, . . .) ta có thể xài AdvancedFilter (VBA)
Chổ cột "L" là thể hiện % thang đạt so với kế hoạch năm
Chổ cột "O" Là thể hiện % thực hiện từ đầu năm đến ngày hiện tại đạt được so với kế hoạch năm
Các dòng "Tổng" là để thể hiện rõ ràng sản lượng giũa hai loại vườn cây
Trên Exell thì em đang sử dụng rồi, do thấy VBA hay quá nên tập tành làm thử, do không có căn bản về VBA nên viết còn rối mong các Anh xem qua và góp ý thên ah.
Giờ em muốn viết thên code Lọc không trùng tại cột "B" từ dòng 21-26 đối với các tên có chử: TT...... ở đầu. (ví dụ: TT Hòa Bình)
 
Lần chỉnh sửa cuối:
(1) Chổ cột "L" là thể hiện % thang đạt so với kế hoạch năm
Chổ cột "O" Là thể hiện % thực hiện từ đầu năm đến ngày hiện tại đạt được so với kế hoạch năm
(2)Các dòng "Tổng" là để thể hiện rõ ràng sản lượng giũa hai loại vườn cây
Trên Exell thì em đang sử dụng rồi, do thấy VBA hay quá nên tập tành làm thử, do không có căn bản về VBA nên viết còn rối mong các Anh xem qua và góp ý thên ah.
(3) Giờ em muốn viết thên code Lọc không trùng tại cột "B" từ dòng 21-26 đối với các tên có chử: TT...... ở đầu. (ví dụ: TT Hòa Bình)
(1) Ở trang 'DuLieu' có 3 trường trùng tên là 'DRC'; Nguyên tắc trong việc xây dựng CSDL có tên trùng nhau về cột như vậy không thể chấp nhận được; 1 ví dụ nhỏ: Nếu sếp bạn ngó thấy CSDL như vậy có thể bạn bị rầy rà to về lương, thưởng!
(2) Các dòng tổng này không nên tồn tại 1 khi bạn muốn xài VBA;
(3) Khi muốn chuyển sang xài VBA thì nên bỏ hầu như tất cả các thứ trước đây đã xài công thức;
Xây dựng lài CSDL cho đúng chuẩn
Thực hiện lại các tính toán mà trước đây xài bỡi công thức sang tính bỡi VBA
Chỉ để lại các công thức nếu xét thấy nó tiện hơn khi phải tính bỡi VBA

Chúc các bạn có kỳ nghỉ lễ vui vẻ & hạnh phúc!
 
(1) Ở trang 'DuLieu' có 3 trường trùng tên là 'DRC'; Nguyên tắc trong việc xây dựng CSDL có tên trùng nhau về cột như vậy không thể chấp nhận được; 1 ví dụ nhỏ: Nếu sếp bạn ngó thấy CSDL như vậy có thể bạn bị rầy rà to về lương, thưởng!
(2) Các dòng tổng này không nên tồn tại 1 khi bạn muốn xài VBA;
(3) Khi muốn chuyển sang xài VBA thì nên bỏ hầu như tất cả các thứ trước đây đã xài công thức;
Xây dựng lài CSDL cho đúng chuẩn
Thực hiện lại các tính toán mà trước đây xài bỡi công thức sang tính bỡi VBA
Chỉ để lại các công thức nếu xét thấy nó tiện hơn khi phải tính bỡi VBA

Chúc các bạn có kỳ nghỉ lễ vui vẻ & hạnh phúc!
Dạ, trước tiên là em chân thành cảm ơn góp ý của Anh ah.
Thực tế khi lọc từ sheets "Dữ liệu" qua sheets"Bao cao" thì không có lấy cột DRC ah
Cột DRC có được tại Sheets"Báo cáo" là do tính ngược lại sau khi lọc ra cột "Quy khô và mũ nước nhập"
 
...tự thấy file của mình rối quá thôi....

Cái này do mình tạo file không logic,
Theo tôi chỉ cần nhập như sheet Data, DRC của Tạp và đông không đổi thì gán vào vào 1 cell nào đó (G2,H2)...
Sau đó đưa vào query xử lý và gán xuống sheet...

Bạn thử nhập tiếp vào sheet Data (hoặc thay đổi trị G2,H2),
Qua sheet BaoCao, click phải vùng cam, chọn Refresh...
Chọn trong Slicer ngày hoặc,và Đơn vị... để filter
 

File đính kèm

...tự thấy file của mình rối quá thôi....

Cái này do mình tạo file không logic,
Theo tôi chỉ cần nhập như sheet Data, DRC của Tạp và đông không đổi thì gán vào vào 1 cell nào đó (G2,H2)...
Sau đó đưa vào query xử lý và gán xuống sheet...

Bạn thử nhập tiếp vào sheet Data (hoặc thay đổi trị G2,H2),
Qua sheet BaoCao, click phải vùng cam, chọn Refresh...
Chọn trong Slicer ngày hoặc,và Đơn vị... để filter
Em cảm ơn anh, nhưng ý em không phải như vậy
 
Web KT

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

Back
Top Bottom