Tính tổng số lượng của các dòng trùng nhau (4 người xem)

  • Thread starter Thread starter HopBVB
  • Ngày gửi Ngày gửi
Liên hệ QC

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

HopBVB

Thành viên chính thức
Tham gia
26/11/08
Bài viết
55
Được thích
30
Mình có file tổng hợp dữ liệu theo sheet, sheet NVL có danh sách các tên NVL và nhiều lần trùng nhau. Sheet Tonghop thì tính theo từng tên NVL. Yêu cầu
1. Sắp xếp dữ liệu tại cột B sheet NVL theo thứ ABC, các tên NVL trùng nhau thì giữ lại 1 tên, còn lại xóa đi (đã dùng remove duplicate)
2. Tính tổng số lượng của các dòng trùng nhau, các dòng không trùng thì tính tổng theo dòng đó.
Các bạn giúp mình với nhé. Trân trọng cảm ơn.
 

File đính kèm

Cột B, vùng dữ liệu B5 : B291 - sheet NVL đặt tên là chitiet, lọc duy nhất cột này theo A,B,C bạn dùng công thức sau tại cell B5- sheet Tonghop :
PHP:
=INDEX(chitiet,MATCH(MIN(IF((chitiet<>"")*(COUNTIF($B$4:B4,chitiet)=0),COUNTIF(chitiet,"<"&chitiet)+1,9.9999E+307)),(chitiet<>"")*(COUNTIF(chitiet,"<"&chitiet)+1),0))
Kết thúc bằng Ctrl+shift+enter và Fill xuống cho các ô còn lại.
Cột tổng thì dùng Sumif bạn xem trong file nhé.
 

File đính kèm

Mình có file tổng hợp dữ liệu theo sheet, sheet NVL có danh sách các tên NVL và nhiều lần trùng nhau. Sheet Tonghop thì tính theo từng tên NVL. Yêu cầu
1. Sắp xếp dữ liệu tại cột B sheet NVL theo thứ ABC, các tên NVL trùng nhau thì giữ lại 1 tên, còn lại xóa đi (đã dùng remove duplicate)
2. Tính tổng số lượng của các dòng trùng nhau, các dòng không trùng thì tính tổng theo dòng đó.
Các bạn giúp mình với nhé. Trân trọng cảm ơn.

Bài này tốt nhất dùng PivotTable... Thao tác nhanh, kết quả nhanh, tốc độ nhanh và cập nhật nhanh
So sánh với công thức thì e rằng công thức còn lâu mới bì được PivotTable và mặt lọc và tổng hợp dữ liệu
 
Cảm ơn bạn hoamattroicoi về hàm đã hướng dẫn. Cách làm của bạn phù hợp với nhu cầu của tôi.
Thực chất tôi thấy Pivot thì ổn nhưng mỗi lần tổng hợp dữ liệu lại phải làm thêm mấy bước. Cách làm đặt hàm thì nhanh hơn chút.
Cảm ơn các bạn rất nhiều.
 
C
Thực chất tôi thấy Pivot thì ổn nhưng mỗi lần tổng hợp dữ liệu lại phải làm thêm mấy bước.

Làm thêm mấy bước gì đâu chứ? Có mỗi việc click phải vào PivotTable rồi chọn Refresh thôi
C
Cách làm đặt hàm thì nhanh hơn chút.
Chỉ nhanh khi bạn copy công thức của người ta rồi paste vào file của mình thôi chứ thử TỰ SUY NGHĨ xem có "nhanh" nỗi không?
Ngoài ra, có chắc rằng với dữ liệu được bố trí khác hơn, bạn có thể tùy biến lại công thức hay không?
Một điều chắc chắn rằng: Với dữ liệu lớn thì mấy cái công thức ấy "lết bánh" luôn ---> Nói không chừng nó cứ đếm % mỗi khi bạn thao tác gì đó... Khi ấy bạn mới cảm nhận được cái sự bực mình khi phải chờ đợi
 
Nếu bạn HopBVB không tiện dùng Pivot table thì nhờ sư phụ ndu viết code VBA cho nhé, đảm bảo cập nhật tự động và không nặng file. Với lượng dữ liệu lớn thì công thức mảng gây cản trở rất nhiều đến tốc độ tính toán của file.
Mình đang chập chững VBA, nhờ sư phụ ndu giúp bạn ấy bằng VBA ạ và bản thân em cũng có cơ hội học hỏi thêm từ bài toán này.
Em cảm ơn!
 
Nếu bạn HopBVB không tiện dùng Pivot table thì nhờ sư phụ ndu viết code VBA cho nhé, đảm bảo cập nhật tự động và không nặng file. Với lượng dữ liệu lớn thì công thức mảng gây cản trở rất nhiều đến tốc độ tính toán của file.
Mình đang chập chững VBA, nhờ sư phụ ndu giúp bạn ấy bằng VBA ạ và bản thân em cũng có cơ hội học hỏi thêm từ bài toán này.
Em cảm ơn!

Trời ơi!
PivotTable hay và dễ dùng như vậy mà không chịu, lại còn đòi VBA thì chắc.. đi chết luôn quá
Ẹc... Ẹc...
Nói thiệt, tuy tôi viết được code VBA để phục vụ cho công việc nhưng trên thực tế tôi vẫn hay làm bằng tay: dùng PivotTable để tổng hợp... nếu Sếp không thích PivotTable tôi sẽ copy dữ liệu trong PivotTable ra nơi khác rồi cứ thế mà báo cáo ---> Khỏe re!
----------------------
Dạng bài này có rồi đấy:
Topic này gần gần giống:
http://www.giaiphapexcel.com/forum/...ng-sản-phẩm-do-từng-công-ty-làm-được-bằng-VBA
 
Lần chỉnh sửa cuối:
Bạn chạy marco này thử xem.
 

File đính kèm

Cách làm của bạn qtm1987 rất hay. Cảm ơn bạn.
Phương án đặt mã cho các NVL tôi sẽ áp dụng luôn.
Cách dùng PV rất tốt nhưng tôi muốn giữ nguyên file và form của bảng tính để còn kết nối với một phần mềm khác.
 
Bài này tốt nhất dùng PivotTable... Thao tác nhanh, kết quả nhanh, tốc độ nhanh và cập nhật nhanh
So sánh với công thức thì e rằng công thức còn lâu mới bì được PivotTable và mặt lọc và tổng hợp dữ liệu

Lâu tự nhiên bây giờ em quên, lần mò từ sáng mà chưa làm ra theo cách này (PivotTable), bác nào có điều kiện hướng dẫn dùm em với.
 
Lâu tự nhiên bây giờ em quên, lần mò từ sáng mà chưa làm ra theo cách này (PivotTable), bác nào có điều kiện hướng dẫn dùm em với.
Vụ gì vậy? Thao tác bình thường thôi mà bạn

[video=youtube;WZRY_95YjEw]http://www.youtube.com/watch?v=WZRY_95YjEw&feature=youtu.be[/video]
 
bạn có thể giúp mình file này được không. dùng hàm gì dựa vào bảng bên phải để điền vào những dấu ? trong bảng bên trái
 

File đính kèm

còn nếu nó là chữ mà không phải số là thì hàm này như thế nào hả bạn. nói chung là cách lấy dữ liệu từ bảng trái sang bảng phải không phân biệt chữ hay là số. chữ cũng có thể đưa qua được mà số cũng đưa qua được
 

File đính kèm

còn nếu nó là chữ mà không phải số là thì hàm này như thế nào hả bạn. nói chung là cách lấy dữ liệu từ bảng trái sang bảng phải không phân biệt chữ hay là số. chữ cũng có thể đưa qua được mà số cũng đưa qua được

Giả sử ngày 02/01/2015, "a" xuất hiện 2 lần thì kết quả tại H2 theo file ví dụ sẽ là thế nào ( Nếu cột C là chữ )
 
đó là mình ví dụ số như vây nên có chút sai sót noi chung cùng một ngày thì một chữ sẽ không xuất hiện 2 lần ak. bạn có cách nào lấy dữ liệu qua không mà không phải là tính tổng
 
Lần chỉnh sửa cuối:
đó là mình ví dụ số như vây nên có chút sai sót noi chung cùng một ngày thì một chữ sẽ không xuất hiện 2 lần ak. Bạn có cách nào lấy dữ liệu qua không mà không phải là tính tổng

Nếu một ngày, một chữ xuất hiện 1 lần thì dùg công thức này xem sao
G2=IFERROR(INDIRECT("C"&SUMPRODUCT(($A$2:$A$8=G$1)*($B$2:$B$8=$F2)*ROW($B$2:$B$8))),"")

Công thức sẽ lấy số liệu của cột C
 
Nếu một ngày, một chữ xuất hiện 1 lần thì dùg công thức này xem sao
G2=IFERROR(INDIRECT("C"&SUMPRODUCT(($A$2:$A$8=G$1)*($B$2:$B$8=$F2)*ROW($B$2:$B$8))),"")

Công thức sẽ lấy số liệu của cột C
bạn ơi, H2 trả về sai số, do A5 và A6 có cùng điều kiện. //**/
 
bạn ơi, H2 trả về sai số, do A5 và A6 có cùng điều kiện. //**/

Bài 16 có giải thích bổ sung là 1 chữ trong 1 ngày chỉ xuất hiện 1 lần bạn ah.
đó là mình ví dụ số như vây nên có chút sai sót noi chung cùng một ngày thì một chữ sẽ không xuất hiện 2 lần ak. bạn có cách nào lấy dữ liệu qua không mà không phải là tính tổng
 
còn nếu A5 và A6 có cùng điều kiện và dữ liệu mình cần xuất ra là text thì có được không anh. ví dụ A5 và A6 có cùng điều là a. nhưng dữ liệu của A5 là táo và A6 là lê thì mình có thể xuất ra với cùng điều kiện là a thì mình sẽ được táo+lê
 

File đính kèm

Web KT

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

Back
Top Bottom