có cách nào kết hợp lọc để tính tổng có thể copy nhanh không ạh? (2 người xem)

Liên hệ QC

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

Dauthivan

Thành viên tiêu biểu
Tham gia
15/8/08
Bài viết
565
Được thích
327
Thưa các sư phụ, em thấy có vấn đề hàng ngày em rất hay phải làm nếu bình thường nó rất đơn giản vì đơn thuần là phép tính cộng (sum). Nhưng chương trình của em hay bị lỗi để cẩn thận em hay phải sum lại cho chắc ăn.
Ví dụ tháng 1 lương của em gồm có 3 người, tháng 2 gồm 2 người, tháng 3 có 4 người (như ví dụ em đính kèm),
Thông thường để tính từng tháng em phải dùng cộng (hàm sum) cho từng tháng, nếu thực tế bảng tính có khoảng 2000 dòng thì số lần sum thủ công rất lâu. Vậy em muốn xin các sư phụ chỉ giáo có cách nào mà mình lọc kết hợp kiểu gì để tính cho tháng 1, các tháng kia mình chỉ cần copy (rê chuột) là được không ạh?
Xin các sư phụ chỉ giáo.
 

File đính kèm

Thưa các sư phụ, em thấy có vấn đề hàng ngày em rất hay phải làm nếu bình thường nó rất đơn giản vì đơn thuần là phép tính cộng (sum). Nhưng chương trình của em hay bị lỗi để cẩn thận em hay phải sum lại cho chắc ăn.
Ví dụ tháng 1 lương của em gồm có 3 người, tháng 2 gồm 2 người, tháng 3 có 4 người (như ví dụ em đính kèm),
Thông thường để tính từng tháng em phải dùng cộng (hàm sum) cho từng tháng, nếu thực tế bảng tính có khoảng 2000 dòng thì số lần sum thủ công rất lâu. Vậy em muốn xin các sư phụ chỉ giáo có cách nào mà mình lọc kết hợp kiểu gì để tính cho tháng 1, các tháng kia mình chỉ cần copy (rê chuột) là được không ạh?
Xin các sư phụ chỉ giáo.

Bạn thử nghiên cứu Pivot Table xem sao? Bạn tải về tham khảo xem nha!
 
Bạn thử nghiên cứu Pivot Table xem sao? Bạn tải về tham khảo xem nha!
Em chưa thạo về cái này lắm nhưng nhược điểm của Pivot Table là không dùng in được như một bản chính thống, em đang nghĩ đến phương án dùng cột phụ để làm sao cho máy hiểu được cái gì là thành phần của 1, cái gì là thành phần của 2. Sau đó dùng Sumif cộng vào, ý tưởng lọc Auto filter làm sao để cộng nhanh em mới nghĩ ra thôi nhưng hơi khó vì mỗi ô tính tổng có số hàng khác nhau.
 
Thưa các sư phụ, em thấy có vấn đề hàng ngày em rất hay phải làm nếu bình thường nó rất đơn giản vì đơn thuần là phép tính cộng (sum). Nhưng chương trình của em hay bị lỗi để cẩn thận em hay phải sum lại cho chắc ăn.
Ví dụ tháng 1 lương của em gồm có 3 người, tháng 2 gồm 2 người, tháng 3 có 4 người (như ví dụ em đính kèm),
Thông thường để tính từng tháng em phải dùng cộng (hàm sum) cho từng tháng, nếu thực tế bảng tính có khoảng 2000 dòng thì số lần sum thủ công rất lâu. Vậy em muốn xin các sư phụ chỉ giáo có cách nào mà mình lọc kết hợp kiểu gì để tính cho tháng 1, các tháng kia mình chỉ cần copy (rê chuột) là được không ạh?
Xin các sư phụ chỉ giáo.
Bạn làm như sau:
- Giả sử lúc đầu tại cột C chưa có công thức nào, tức những cell bạn chuẩn bị điền công thức là đang rổng ---> Vậy hãy AutoFilter cột C theo điều kiện Blanks
- Quét chọn toàn bộ các cell ở cột C
- Gõ vào thanh Formula công thức:
PHP:
=SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,"<>",$C3:$C$10000)
- Bấm tổ hợp phím Ctrl + Enter
---------------
Dạng bài này đã nói trên diễn đàn ít nhất chục lần rồi ---> Nếu bạn tìm thì đã thấy
 
Bạn làm như sau:
- Giả sử lúc đầu tại cột C chưa có công thức nào, tức những cell bạn chuẩn bị điền công thức là đang rổng ---> Vậy hãy AutoFilter cột C theo điều kiện Blanks
- Quét chọn toàn bộ các cell ở cột C
- Gõ vào thanh Formula công thức:
PHP:
=SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,"<>",$C3:$C$10000)
- Bấm tổ hợp phím Ctrl + Enter
---------------
Dạng bài này đã nói trên diễn đàn ít nhất chục lần rồi ---> Nếu bạn tìm thì đã thấy
Thày ơi, sao đệ tử thực hành mà không được ah.
 
Bạn cứ tìm kiếm cộng theo số thứ tự trên diễn đàn sẽ có nhiều giải pháp

Thày ơi, sao đệ tử thực hành mà không được ah.
Mình thấy cái tính tổng này theo số thứ tự cũng nhiều. Tặng bạn cái này, mình học được của thày ndu96081631 đấy. Bạn xem tham khảo nhé
 
Xin các thày bày giúp cho em các dùng VBA (Funtion) trong TH này

Thưa các sư phụ, em thấy có vấn đề hàng ngày em rất hay phải làm nếu bình thường nó rất đơn giản vì đơn thuần là phép tính cộng (sum). Nhưng chương trình của em hay bị lỗi để cẩn thận em hay phải sum lại cho chắc ăn.
Ví dụ tháng 1 lương của em gồm có 3 người, tháng 2 gồm 2 người, tháng 3 có 4 người (như ví dụ em đính kèm),
Thông thường để tính từng tháng em phải dùng cộng (hàm sum) cho từng tháng, nếu thực tế bảng tính có khoảng 2000 dòng thì số lần sum thủ công rất lâu. Vậy em muốn xin các sư phụ chỉ giáo có cách nào mà mình lọc kết hợp kiểu gì để tính cho tháng 1, các tháng kia mình chỉ cần copy (rê chuột) là được không ạh?
Xin các sư phụ chỉ giáo.
Về cách dùng công thức em cũng đã nắm sơ qua được, nhưng có vẻ như cách nhìn trực quan (để kiểm tra) nhìn hơi phức tạp, em chưa làm được cách làm dùng VBA (Funtion) tức là công thức nó cũng hiện ra giống hệt như mình cộng thủ công vậy, kết quả đầu ra có link với dữ liệu đầu vào (không dùng Sub vì như vậy khi chỉnh sửa nó không update được ah). Xin các thày bày giúp em với vì bọn em đi làm thầu XD cho những gói thầu to (in ra khoảng hàng ngàn trang), em đã biết làm công thức cho nhanh. Tuy vậy, em vẫn muốn học thêm VBA để có thẻ để người thứ 3 (sếp em) dễ kiểm soát không sếp ngồi bên cạnh lại bảo sao em không dùng Sum thông thường mà dùng công thức phức tạp thế này anh không hiểu được.
 
Lần chỉnh sửa cuối:

Thưa thày nếu số thứ tự do Paslink từ Sheet khác hoặc lý do gì chẳng hạn có thêm số 0 (nhưng số 0 ở chế độ ở ẩn) thì công thức SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,"<>",$C3:$C$10000) phần đỏ phải sửa thành thế nào ạh?
 
Thưa thày nếu số thứ tự do Paslink từ Sheet khác hoặc lý do gì chẳng hạn có thêm số 0 (nhưng số 0 ở chế độ ở ẩn) thì công thức SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,"<>",$C3:$C$10000) phần đỏ phải sửa thành thế nào ạh?
Bạn cứ đưa file lên đi, tôi làm cho
Nói chung là bạn phải tìm cho được 1 cột nào đó mà có sự khác nhau giữa các cell tương ứng với cell rổng ở cột C so với các cell khác, như vậy là có thể thiết lập công thức được rồi
Không thì dùng SUBTOTAL như bài #6 ấy ---> Vô vàn cách
 
Lần chỉnh sửa cuối:
Bạn cứ đưa file lên đi, tôi làm cho
Nói chung là bạn phải tìm cho được 1 cột nào đó mà có sự khác nhau giữa các cell tương ứng với cell rổng ở cột C so với các cell khác, như vậy là có thể thiết lập công thức được rồi
Không thì dùng SUBTOTAL như bài #6 ấy ---> Vô vàn cách
Dạ, Em lấy luôn bài của thày nhưng có thêm số 0 vào giữa, tuy nhiên khi tính tổng theo số thứ tự chỉ coi số 0 như ký tự trắng
 

File đính kèm

Dạ, Em lấy luôn bài của thày nhưng có thêm số 0 vào giữa, tuy nhiên khi tính tổng theo số thứ tự chỉ coi số 0 như ký tự trắng
Trường hợp của bạn chỉ cần sửa "<>" thành ">0" là được rồi
PHP:
=SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,">0",$C3:$C$10000)
hoặc dùng SUBTOTAL
PHP:
=2*SUBTOTAL(109,$C3:$C$10000)-SUM($C3:$C$10000)
 
Lần chỉnh sửa cuối:
Trường hợp của bạn chỉ cần sửa "<>" thành ">0" là được rồi
PHP:
=SUM($C3:$C$10000)-2*SUMIF($A3:$A$10000,">0",$C3:$C$10000)
hoặc dùng SUBTOTAL
PHP:
=2*SUBTOTAL(109,$C3:$C$10000)-SUM($C3:$C$10000)
Hôm nọ em cũng nhớ cũng thử một bài toán nhưng em nhớ hình như là ô trống thì nó không hiểu là bao nhiêu để so sánh vơi 0 thày ạh ? Để em về em thử có gì em xin hỏi thày sau.
 
Em muốn làm dạng hàm mà KQ hiện trên màn hình như làm thủ công vậy

Em đã xem rồi, nhưng những ví dụ trong đó đều là dạng Sub, ý em là làm VBA theo kiểu hàm Funtion, qua đó nhân dịp nghỉ Tết em sẽ thay đổi đầu bài để ôn luyện cho kỹ, thời gian sau em sẽ đi vào từng đối tượng như tạo nút bottom sau, em thấy các file trong ví dụ bác chỉ phần lớn đều ghi một số Marco hình như chỉ liên quan đến định dạng (em muốn những cái trang trí hình thức Font thì em sẽ học sau), em muốn bắt chước các thày đi nghiên cứu chuyên sâu chuyển thuật toán sang Fution để chạy bác ạh, tức là gần như bài toán về VBA sum VL, NC, MTC đính kèm theo chữ ký của bác, nhưng VD đó hơi phức tạp, em muốn đi từ cái đơn giản trước đã. Xin mọi người bớt chút thời gian hộ em
 
Lần chỉnh sửa cuối:
Em đã xem rồi, nhưng những ví dụ trong đó đều là dạng Sub, ý em là làm VBA theo kiểu hàm Funtion, qua đó nhân dịp nghỉ Tết em sẽ thay đổi đầu bài để ôn luyện cho kỹ, thời gian sau em sẽ đi vào từng đối tượng như tạo nút bottom sau, em thấy các file trong ví dụ bác chỉ phần lớn đều ghi một số Marco hình như chỉ liên quan đến định dạng (em muốn những cái trang trí hình thức Font thì em sẽ học sau), em muốn bắt chước các thày đi nghiên cứu chuyên sâu chuyển thuật toán sang Fution để chạy bác ạh, tức là gần như bài toán về VBA sum VL, NC, MTC đính kèm theo chữ ký của bác, nhưng VD đó hơi phức tạp, em muốn đi từ cái đơn giản trước đã. Xin mọi người bớt chút thời gian hộ em
ô hay, thế bác xem file em gửi đây file đính kèm (Tong _Funtion_VBA) chẳng là hàm thì là gì? công thức tại ô D6 như sau: TC(A7:$A$21;B7:$B$21) tức tên hàm là TC còn gì nữa.
Ah, hay là ý bác làm thế nào mà vẫn như làm thủ công cho sếp bác dễ quan sát (dùng sum bình thường cho trực quan) chứ không dùng đến hàm xây dựng định nghĩa TC chứ gì, kiểu như khi bôi toàn bộ cột C chẳng hạn thì những ô cần cộng thủ cộng sẽ tự điền vào như thủ công đúng không? (ý như file 02 đính kèm chăng)? Nếu đúng thế, Cái này về thuật toán em hình dung ra được nhưng làm chưa xong có gì mai em thử làm lại xem (Kiểu áp dụng chạy Macros Alt + F8?)
 

File đính kèm

Lần chỉnh sửa cuối:
Đây là một tiện ích nhỏ rất cần thiết đối với dân kỹ thuật

Đặc biệt là những người làm dự toán XD, việc xây dựng mẫu kiểu này sẽ giúp cho việc làm rất nhanh, đặc biệt là số dòng rất lớn, hay phải cộng tổng nhiều phân đoạn nhỏ. Em có ý tưởng thế này mong các sư phụ giúp vì em làm mãi chẳng được:
1) Viết một Macro sao cho khi tính ta quét chọn 2 cột A và D chẳng hạn, theo nguyên tắc số dòng quét 2 cột A và D là phải bằng nhau tựa như hàm sumif vậy (A là cột đánh số thứ tự có vai trò chia phân đoạn cần tính tổng, D là cột cần tính tổng theo từng phân đoạn) sau đó khi chạy Alt+F8 thì chương trình cứ nhìn tên số thứ tự của cột A mà tự động tham chiếu điền công thức sum vào cột D.
2) Để sử dụng cho các file ta có thể xuất Macro này ra dưới dạng Add-Ins thêm vào Menu (vì qua sử dụng em thấy nếu chuyển đổi sang Add-Ins chương trình Bkav home không quét virut Macro_rất hay trong việc sử dụng).
Như vậy bất cứ khi nào cần tính tổng cho mọi công việc hàng ngày có tính chất như bài này; bất kỳ lúc nào ta cũng thực hiện được nhanh, chóng mà vẫn đảm bảo được trực quan như làm thủ công(công thức thì thể hiện như sum bình thường giống file 02 em vừa gửi lên ngay trên ở cùng chủ đề này ah).
Em bắt chước cách làm của anh Phương hướng dẫn bài VBA sum VL, NC, MTC theo chủ đề đính với chữ ký của em ở bên dưới mà không sao làm được.
Tối nay em tập trung giải quyết 02 vấn đề là bài toán này và vụ Portable mà chẳng thu được kết quả gì; em, bạn nguyenmanhnam đều là dân KTXD cả đều rất cần các bài toán nhỏ này. Nhờ các sư phụ giúp em với.
 
Lần chỉnh sửa cuối:
Vấn đề là biến ý tưởng thành hiện thực thôi.

Đặc biệt là những người làm dự toán XD, việc xây dựng mẫu kiểu này sẽ giúp cho việc làm rất nhanh, đặc biệt là số dòng rất lớn, hay phải cộng tổng nhiều phân đoạn nhỏ. Em có ý tưởng thế này mong các sư phụ giúp vì em làm mãi chẳng được:
1) Viết một Macro sao cho khi tính ta quét chọn 2 cột A và D chẳng hạn, theo nguyên tắc số dòng quét 2 cột A và D là phải bằng nhau tựa như hàm sumif vậy (A là cột đánh số thứ tự có vai trò chia phân đoạn cần tính tổng, D là cột cần tính tổng theo từng phân đoạn) sau đó khi chạy Alt+F8 thì chương trình cứ nhìn tên số thứ tự của cột A mà tự động tham chiếu điền công thức sum vào cột D.
2) Để sử dụng cho các file ta có thể xuất Macro này ra dưới dạng Add-Ins thêm vào Menu (vì qua sử dụng em thấy nếu chuyển đổi sang Add-Ins chương trình Bkav home không quét virut Macro_rất hay trong việc sử dụng).
Như vậy bất cứ khi nào cần tính tổng cho mọi công việc hàng ngày có tính chất như bài này; bất kỳ lúc nào ta cũng thực hiện được nhanh, chóng mà vẫn đảm bảo được trực quan như làm thủ công(công thức thì thể hiện như sum bình thường giống file 02 em vừa gửi lên ngay trên ở cùng chủ đề này ah).
Em bắt chước cách làm của anh Phương hướng dẫn bài VBA sum VL, NC, MTC theo chủ đề đính với chữ ký của em ở bên dưới mà không sao làm được.
Tối nay em tập trung giải quyết 02 vấn đề là bài toán này và vụ Portable mà chẳng thu được kết quả gì; em, bạn nguyenmanhnam đều là dân KTXD cả đều rất cần các bài toán nhỏ này. Nhờ các sư phụ giúp em với.
Thực ra từ trước đến nay em mới nghĩ ra được cách dùng cột phụ & hàm sumif thôi, qua các bài các anh chị gửi em có thêm một số giải pháp hay quá, nhưng xây dựng được cách làm bác Phanhanhdai đề cập em nghĩ rằng nó sẽ là giải pháp tốt nhất bởi chỉ cần lựa chọn 2 cột bất kỳ do người làm muốn lấy tiêu chí nào cũng được, tư duy như thế em hình dung như sau có phải không ah:
- Đầu tiên khi chọn lệnh chương trình thông báo 1: Hãy lựa chọn vùng phân chia số đoạn (có một nút sổ xuống cho mình lựa chọn như khi dùng Con&ditional Formatting) ý. Khai báo xong nhấn Enter.
- Chương trình thông báo lựa chọn vùng cần điền giá trị (cột D) chẳng hạn. Tương tự như vậy.
Sau đó OK là chương trình sẽ tự động điền cho cột D trên cơ sở tham chiếu từ cột A sang.
Không biết em nghĩ thế có phức tạp không nhỉ. Vì em có thấy ở diễn đàn từng có bài toán nào làm thế rồi (tất nhiền bài toán có khác)
 

File đính kèm

Nếu giải quyết được bài toán này thì sẽ giải quyết được rất nhiều KL công việc

Em đã dồn hết tâm huyết ý tưởng vào bài này (tạo menu tính tổng các phân đoạn chỉ việc chọn 2 cột thôi), nếu làm được như vậy thì em có thể sáng tạo ra rất nhiều trong công việc, ví dụ như khi phân tích đơn giá tổng hợp khi cộng chi phí cho riêng VL, NC, MTC của từng công việc trước kia hết sức mệt thì nay em chỉ việc tạo cột phụ (có vai trò như cột A sau đó đánh số thứ tự cho cột phụ đó là OK ngay) sau đó em xoá cột phụ đi vẫn giữ được công thức và rất nhiều cái em có thể tận dụng nó.
Cả đêm hôm qua em hầu như không ngủ để nghĩ về nó, tuy nhiên trình VBA của em vẫn chưa đáp ứng được. Em thật sự muốn sự giúp đỡ của các thày, nếu các thày giúp em được thì coi như không có gì vui hơn đối với em đón Tết nữa.
 
Web KT

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

Back
Top Bottom