Gộp dòng, cộng cột trong excel

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

luutrutamthoi

Thành viên mới
Tham gia
26/9/09
Bài viết
31
Được thích
2
Tôi có dữ liệu nhiều dòng trùng nhau, chỉ khác ở cột số tiền.
Có cách nào để gộp thành 1 dòng duy nhất và cộng cột số tiền thành 1 ô duy nhất không các bạn ?
Trong bảng dữ liệu này có 1 cột mã khách hàng, khi mã khách hàng này trùng thì gộp dòng lại, đồng thời cộng số tiền lại
Gởi kèm theo file dữ liệu mẫu.

1673446364799.png
 

File đính kèm

  • Nhap dong, cong cot.xlsx
    10.4 KB · Đọc: 22
Bạn xem file đính kèm.
Cơ bản chỉ khó mỗi công thức ở ô a23 thôi
Mã:
=INDEX($A$2:$A$11,SUMPRODUCT(COUNTIF($A$2:$A$11,$A$22:A22))+1,0)
 

File đính kèm

  • Nhap dong, cong cot.xlsx
    12.8 KB · Đọc: 20
Bạn xem file đính kèm.
Cơ bản chỉ khó mỗi công thức ở ô a23 thôi
Mã:
=INDEX($A$2:$A$11,SUMPRODUCT(COUNTIF($A$2:$A$11,$A$22:A22))+1,0)
Quên mất, cái trên chỉ áp dụng được khi cột A được sắp xếp như trong ví dụ. Nếu xếp lộn xộn phải dùng cái khác.
 
Vụ này thì dùng Data+Consolidate hoặc Pivot Table chứ công thức chi cho rườm rà.
 
Vụ này thì dùng Data+Consolidate hoặc Pivot Table chứ công thức chi cho rườm rà.
Có những người, ví dụ như vợ em chẳng hạn, ra yêu cầu là chỉ dùng công thức. Vào chỉ cần kéo cái rẹt là được.
Cám ơn bạn đã hỗ trợ.
Bài đã được tự động gộp:


Cám ơn bạn đã hỗ trợ.
Nếu dữ liệu xếp lộn xộn bạn thử dùng công thức này coi.
Mã:
J2=INDEX($A$2:$A$33,FIND(0,CONCAT(ROUNDUP(MMULT(--(TRANSPOSE($J$1:J1)=$A$2:$A$33),ROW($J$1:J1))/ROW(J1),0))))
 
Lần chỉnh sửa cuối:
Có những người, ví dụ như vợ em chẳng hạn, ra yêu cầu là chỉ dùng công thức. Vào chỉ cần kéo cái rẹt là được.
...
Nhìn cái bảng ở bài #1 thì tôi đã biết dân chỉ biết dùng công thức.
Dân xin code VBA để "bấm một phát" sẽ trình bày bảng khác một chút.
Dân biết dùng các công cụ của Excel sẽ có cái bảng khác nữa.

Lúc viết bài #5 tôi đã biết thớt còn phải học nhiều nữa mới đến trình độ dùng Data Consolidate và Pivot Table.
Lúc viết bài là tôi khuyến khích các bạn còn chưa quen với nghề phân tích dữ liệu đừng để công thức khủng và VBA nó dẫn mình đi lạc lối.
 
Có những người, ví dụ như vợ em chẳng hạn, ra yêu cầu là chỉ dùng công thức. Vào chỉ cần kéo cái rẹt là được.

Nếu dữ liệu xếp lộn xộn bạn thử dùng công thức này coi.
Mã:
J2=INDEX($A$2:$A$33,FIND(0,CONCAT(ROUNDUP(MMULT(--(TRANSPOSE($J$1:J1)=$A$2:$A$33),ROW($J$1:J1))/ROW(J1),0))))
Bạn có thể giúp tôi nhúng đoạn công thức trên vào trong file excel mẫu ở #1 được không? Sao tôi đưa vào nó báo #name? Tôi đang dùng office 2013
Bài đã được tự động gộp:

Công thức của bạn đơn giản, dễ sử dụng
Tuy nhiên do lúc ra đề bài tôi chỉ yêu cầu dữ liệu của 4 cột, nên khi có dữ liệu trên 4 cột thì từ cột thứ 5 nó không chạy
Nhờ bạn giúp cải tiến để nó có thể chạy được khoảng 10 cột
 
Bạn có thể giúp tôi nhúng đoạn công thức trên vào trong file excel mẫu ở #1 được không? Sao tôi đưa vào nó báo #name? Tôi đang dùng office 2013
Bài đã được tự động gộp:


Công thức của bạn đơn giản, dễ sử dụng
Tuy nhiên do lúc ra đề bài tôi chỉ yêu cầu dữ liệu của 4 cột, nên khi có dữ liệu trên 4 cột thì từ cột thứ 5 nó không chạy
Nhờ bạn giúp cải tiến để nó có thể chạy được khoảng 10 cột
Bài này sao bạn không dùng pivot table cho nhanh nhỉ?
Mà đọc comment ở trên lại tưởng bạn ra đề cho học sinh thi thố.
||\
 
Công thức của bạn đơn giản, dễ sử dụng
Tuy nhiên do lúc ra đề bài tôi chỉ yêu cầu dữ liệu của 4 cột, nên khi có dữ liệu trên 4 cột thì từ cột thứ 5 nó không chạy
Nhờ bạn giúp cải tiến để nó có thể chạy được khoảng 10 cột
Bạn dùng số lượng cột đến đâu thì kéo công thức đến đó.
 

File đính kèm

  • Nhap dong, cong cot.xlsb
    16 KB · Đọc: 13
Bạn có thể giúp tôi nhúng đoạn công thức trên vào trong file excel mẫu ở #1 được không? Sao tôi đưa vào nó báo #name? Tôi đang dùng office 2013
Bài đã được tự động gộp:


Công thức của bạn đơn giản, dễ sử dụng
Tuy nhiên do lúc ra đề bài tôi chỉ yêu cầu dữ liệu của 4 cột, nên khi có dữ liệu trên 4 cột thì từ cột thứ 5 nó không chạy
Nhờ bạn giúp cải tiến để nó có thể chạy được khoảng 10 cột
Do hàm concat không có ở bản 2013.
Bạn sửa thành
Mã:
=INDEX($A$2:$A$11,MATCH(0,(ROUNDUP(MMULT(--(TRANSPOSE($J$1:J1)=$A$2:$A$11),ROW($J$1:J1))/ROW(J1),0))))
 

File đính kèm

  • Nhap dong, cong cot (1).xlsx
    12.7 KB · Đọc: 12
Nhìn cái bảng ở bài #1 ... (1)
công thức khủng và VBA nó dẫn mình đi lạc lối. (2)
1. Bảng ở bài 1 có cấu trúc ổn, đặc biệt là tên cột. Chỉ dữ liệu hơi dở: Dữ liệu cùng mã nhưng tên lúc thì hoa lúc thì thường.
2. Có những người tự hào (hoặc tự đắc) vì viết ra những công thức khủng không ai viết được, và có những người cố gắng học theo. Có những người nghiện, hoặc bị ám ảnh (hoặc ám thị) rằng chỉ có VBA mới xử lý được nhanh chóng. Do đó tôi không gọi là bị dẫn đi lạc lối, chính mình thích và mình đi thôi.
Ngay khi nhìn cấu trúc bảng dữ liệu và bảng kết quả (không cần xem file) tôi đã thấy ngay chữ Pivot table to đùng
TB:
Vợ tôi không xài gì đến máy tính, nhưng nếu ra lệnh kiểu "phải làm công thức để kéo cái rẹt", thì tôi cho kéo "rẹt rẹt" trong Pivot table field list mà không phải suy nghĩ hàm hiếc cho nhức đầu mà lại héo mòn cái thanh xuân. Còn nếu nhất định không nghe thì tự làm.
 
1. Bảng ở bài 1 có cấu trúc ổn, đặc biệt là tên cột. Chỉ dữ liệu hơi dở: Dữ liệu cùng mã nhưng tên lúc thì hoa lúc thì thường.
...
Hoa và thường không quan trọng.
Cái bảng này dựa vào sự chính xác của dòng đầu tiên. Nói cách khác, giả sử dòng đầu tiên tên là Ngoan và 3 dòng còn lại tên là Ngoạn thì tên Ngoan sẽ được chọn.
Đây là loại dữ liệu phát sinh (transactional). Bảng đúng thì:
- Nếu dữ liệu lấy ra từ một chỗ thì chi tiết của điểm pivot phải giống nhau, chỉ có điểm chi tiết phát sinh (con số) mới khác nhau.
- Nếu dữ liệu lấy ra khác chỗ thì chỉ nên lấy key. Chi tiết còn lại liên quan đến key để tra bảng cái (master file).
- Nếu vì lý do nào đó, không tiện để tra sau. Lúc lập phát sinh bắt buộc phải có chi tiết của key thì phải thêm cái gì đó cho biết trường hợp có khác bietj thì chi tiết thằng nào đáng tin cậy hơn.

Chú cho các bạn không rành về lý thuyết CSDL LH:
File/bảng có hai loại chính là Master File (bảng tra dữ liệu) và Transaction File (bảng chi tiết phát sinh)
Cấu trúc của Master File là Key + chi tiết (để diễn tả item).
Cấu trúc của Transaction File là Key + chi tiết phát sinh..

...
Ngay khi nhìn cấu trúc bảng dữ liệu và bảng kết quả (không cần xem file) tôi đã thấy ngay chữ Pivot table to đùng
Nhiều người chỉ cho rằng Pivot Table đơn giản là một công cụ tổng hợp, tức chỉ là một trong những cách giải quyết bài toán.
Do đầu óc chỉ biết "làm cho xong việc trước mắt", không bao giờ nhìn xa hơn đẻ thấy Pivot Table là công cụ quản lý. Phải hiểu từ Pivot có nghĩa là "xoay trở".
 

File đính kèm

  • Nhap dong, cong cot.xlsx
    11.7 KB · Đọc: 19
Chỉ sợ 1-2 phút là "rẹt" thôi
@luutrutamthoi
Xem công thức cho Ex2013 trong file nhé
Nếu mà rẹt rẹt sợ chưa được 30s nữa chứ.

Giờ mình mới biết countif còn dùng được như thế. Mà cho mình hỏi, sao lại phải dùng thêm Index ở ngoài hàm Countif thế? Mình bỏ ra vẫn thấy được mà.
 
Giờ mình mới biết countif còn dùng được như thế. Mà cho mình hỏi, sao lại phải dùng thêm Index ở ngoài hàm Countif thế? Mình bỏ ra vẫn thấy được mà.
Vì bạn đang dùng Ex2019+
Nếu dùng Ex2016 trở xuống:
Không có Index thì phải Ctrl-Shift-Enter (CT mảng)
Có Index thì chỉ Enter
 
Tất cả các công thức trên không biết sẽ hoạt động ra sao nếu:
- Dữ liệu lên đến 10 ngàn dòng (chưa nói là nhiều hơn)
- Nhiều cột hơn (thí dụ 10, 15 cột)
- Nhiều mã hơn (khoảng vài trăm)
- Báo cáo chứa công thức nằm ở sheet khác.
Tuy nhiên do lúc ra đề bài tôi chỉ yêu cầu dữ liệu của 4 cột, nên khi có dữ liệu trên 4 cột thì từ cột thứ 5 nó không chạy

Nếu đây là "đề bài" của bạn này đưa ra và phải giải bằng công thức, thì chỉ là thử thách chứ không phải thực tế, và loại ra đề phi thực tế và vô bổ như vậy khá nhiều.
 
Lần chỉnh sửa cuối:
Bảng dữ liệu của tôi có khoảng 15.000 dòng, khi chạy các công thức trên nó mất khoảng cỡ 15 phút.
Do lúc trước toàn quản lý excel, Cty mới mua phần mềm nên họ yêu cầu hợp nhất dữ liệu để đưa vào phần mềm.
Tôi là dân kế toán không rành về công thức cho lắm. Thấy các bạn khuyên dùng Pivot table, qua đơt này chắc tôi cũng phải nghiên cứu thêm cái này.
May mà có các bạn hỗ trợ, tôi đã hợp nhất được dữ liệu, đang chọn mẫu kiểm tra lại.
Cám ơn tất cả các bạn đã hỗ trợ
 
Web KT
Back
Top Bottom