Tính tổng trùng nhau trong excel (1 người xem)

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

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

avada29

Thành viên mới
Tham gia
26/7/13
Bài viết
23
Được thích
0
Chào các bác, em có cái file ví dụ tính tổng các giá trị trùng nhau như sau. Ở sheet 2 là file gốc, cột đầu tiên là cột tên, có nhiều hàng có tên giống nhau và có giá trị tương ứng khác nhau. Các bác giúp em cái code nhỏ để trong sheet 1 muốn lọc và tính tổng các giá trị khác nhau với ạ.
Ví dụ: sheet 2 có 4 hàng tên A1 với giá trị 1 tương ứng là 0,1,2,4
Em muốn trong sheet 2 chỉ còn 1 tên A1, và giá trị 1 tương ứng = 0+1+2+4 = 7
Các cao nhân giúp em với ạ, em cảm ơn!
 

File đính kèm

Tìm hiểu PivotTable đi bạn, cái này dùng Pivot trong 5 giây là có kết quả.
 

File đính kèm

Upvote 0
Chào các bác, em có cái file ví dụ tính tổng các giá trị trùng nhau như sau. Ở sheet 2 là file gốc, cột đầu tiên là cột tên, có nhiều hàng có tên giống nhau và có giá trị tương ứng khác nhau. Các bác giúp em cái code nhỏ để trong sheet 1 muốn lọc và tính tổng các giá trị khác nhau với ạ.
Ví dụ: sheet 2 có 4 hàng tên A1 với giá trị 1 tương ứng là 0,1,2,4
Em muốn trong sheet 2 chỉ còn 1 tên A1, và giá trị 1 tương ứng = 0+1+2+4 = 7
Các cao nhân giúp em với ạ, em cảm ơn!
"Cao nhân" thì bận hết rồi, chỉ còn tý "Thấp nhân" đang rỗi nên làm tí cho đỡ buồn . Bạn xem file đính kèm ( mở sheet3 và bấm nút )
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
"Cao nhân" thì bận hết rồi, chỉ còn tý "Thấp nhân" đang rỗi nên làm tí cho đỡ buồn . Bạn xem file đính kèm ( mở sheet3 và bấm nút )
Cảm ơn bác nhé, em chưa rành cái này lắm nên đọc code cũng chưa hiểu hết, đang nghiên cứu món này, thấy khá hay và tiện lợi :-D
 
Upvote 0
Với bài toán của bạn, ta có thể làm cách khác nữa ( dùng công cụ Consolidata ) nhé.
Chỉ mất vài giây là cho kết quả thôi.
 
Upvote 0
Với bài toán của bạn, ta có thể làm cách khác nữa ( dùng công cụ Consolidata ) nhé.
Chỉ mất vài giây là cho kết quả thôi.

Cái này em làm bài toán ví dụ nhỏ,còn thực tế dữ liệu của em khá lớn, dùng lập trình có vẻ đơn giản hơn. Giờ đang đọc code của các bác để hiểu và áp dụng vào của em,mà chưa có kiến thức nền đọc hơi mệt,hix
 
Upvote 0
Cái này em làm bài toán ví dụ nhỏ,còn thực tế dữ liệu của em khá lớn, dùng lập trình có vẻ đơn giản hơn.

Không hiểu sao bạn lại cho rằng LẬP TRÌNH nó đơn giản hơn CONSOLIDATE nhỉ?
Đừng coi thường thằng Consolidate này nha, thậm chí nó tổng hợp được dữ liệu từ nhiều sheet hoặc từ file khác mà chẳng cần phải mở file nguồn lên đấy! Về tốc độ thì có thể nói là THẦN TỐC
Vậy cho dù muốn viết thành code thì tôi sẽ dựa trên nền tảng Consolidate mà viết cho nó khỏe
Ví dụ record macro quá trinh dùng Consolidate rồi chỉnh sửa đôi chút nó ra code thế này:
Mã:
Sub Main()
  Sheet1.Range("A1").Consolidate "[COLOR=#ff0000]Sheet2!R1C1:R10000C3[/COLOR]", 9, True, True
End Sub
Chỗ màu đỏ là dữ liệu nguồn, áp dụng cho 10000 dòng dữ liệu
 
Upvote 0
Ôi nó gọn lửng.........Consolidate thần thánh quá,.........Mà chưa hiểu hết các thuộc tính của nó thì sao áp dụng nhỉ? Cụ thể số 9 ở trên........., rồi cách khai báo nguồn là dạng R1C1 nữa kìa......không phải là Range như bình thường.......
ẹc . bạn viết hàm SUBTOTAL thì số 9 đại diện cho cái gì ta ?
 
Upvote 0
hi.........cũng có suy nghỉ đó......nhưng hông dám khẳng định thôi.........hehe--=0--=0--=0

Cái gì chưa dám khẳng định thì có thể THÍ NGHIỆM để chứng minh
Nói thêm về R1C1: Để tiện cho việc viết code (đở mất công nhớ), bạn có thể viết thế này:
Mã:
Sub Main()
  Sheet1.Range("A1").Consolidate[COLOR=#ff0000] Sheet2.Range("A1:C10000")[/COLOR].[COLOR=#0000cd]Address(, , 2, True)[/COLOR], 9, True, True
End Sub
Chỗ màu đỏ: Vùng dữ liệu viết theo cách thông thường
Chỗ màu xanh: con số 2 để chuyển địa chỉ thành R1C1 còn chữ TRUE để lấy địa chỉ có luôn tên sheet (không có số 2 và chữ TRUE này thì.. đói luôn)
 
Upvote 0
Web KT

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

Back
Top Bottom