Tính Tổng Có Điều Kiện

Liên hệ QC

nai_con

Thành viên chính thức
Tham gia
20/9/09
Bài viết
66
Được thích
9
Giới tính
Nam
Kính gửi Quý Thầy, Cô/ Anh, Chị.
Em có bài toán như file đính kèm. Với điều kiện dữ liệu Cột A để hiển thị tên hàng, còn thứ tự các cột khối lượng và số lượng thì không cố định số lượng sheet luôn lớn hơn 20 sheets. Nhờ Quý Thầy, Cô/Anh, Chị giúp đỡ Em.
Chân thành cảm ơn
 

File đính kèm

  • Tong nhieu dieu kien.xlsx
    12 KB · Đọc: 27
Lần chỉnh sửa cuối:
Với bài này tính tổng theo cách thông thường cộng các cột nhưng với số lượng sheets nhiều thì hơi vất vả.

Theo mình thấy, cách đơn giản nhất là gộp các sheets lại thành 1 sheet thôi, vừa dễ nhập, vừa dễ thực hiện phép tính mà chỉ cần thay đổi form sheet đi 1 chút là ok
 
Gửi @Hieu042. Thực tế nối sheets lại cực kỳ vất vả trong khi cột không cố định nên cộng khi gộp cũng không khả thi. Mình vẫn nghỉ có phương án sử dụng công thức nhưng chưa nghĩ ra.
 
Kính gửi Quý Thầy, Cô/ Anh, Chị.
Em có bài toán như file đính kèm. Với điều kiện dữ liệu Cột A để hiển thị tên hàng, còn thứ tự các cột khối lượng và số lượng thì không cố định số lượng sheet luôn lớn hơn 20 sheets. Nhờ Quý Thầy, Cô/Anh, Chị giúp đỡ Em.
Chân thành cảm ơn
Mình chưa download file của bạn về xem nhưng mình nghĩ tính tổng có điều kiện thì chỉ có hoặc Dsum(), hoặc Sumif() hoặc Sumproduct() mới xử được ca của bạn thôi. Còn những công thức khác thì mình chịu, không biết nên không nghĩ ra. :(:(:(
Nói thiệt là không dám mở file ra xem vì nghe nói có tới 20 sheets lận nên choáng toàn tập luôn vì vậy "giương cờ trắng" sớm cho nó lành. :(:(:(
Chúc bạn sớm tìm được câu trả lời.
 
Cách 1. Làm tay
Chèn thêm cột rỗng vào cách sheet đúng thứ tự cột để giống format rồi dùng công thức.

Cách 2. Làm tay
Quy định tên ID cho cột. Dựa vào ID đó mà làm.

Cách 3. Code
Không khuyến khích, nhưng về cơ bản code cho phép update và tuỳ biến cao hơn.
 
Giả định
D6 = 01/01/2018
D8=02/01/2018
D9=03/01/2018
E6= SUMPRODUCT(INDEX(INDIRECT("'"&TEXT($D$6,"dd")&"'!$B$6:$C$9"),MATCH($A6,INDIRECT("'"&TEXT($D$6,"dd")&"'!$a$6:$a$9"),0),MATCH(B$5,INDIRECT("'"&TEXT($D$6,"dd")&"'!$b$5:$d$5"),0))).
Nhờ Quý Anh/Chị thầy cô xem sao mãng này không chạy được. Em chưa chuyên sâu Match, Index trong mãng hoạt động thế nào nên chưa hiểu được tại sao sai.
Kính nhờ quý Anh/Chị, Thầy/Cô giúp đỡ
 
Kính gửi Quý Thầy, Cô/ Anh, Chị.
Em có bài toán như file đính kèm. Với điều kiện dữ liệu Cột A để hiển thị tên hàng, còn thứ tự các cột khối lượng và số lượng thì không cố định số lượng sheet luôn lớn hơn 20 sheets. Nhờ Quý Thầy, Cô/Anh, Chị giúp đỡ Em.
Chân thành cảm ơn
Bạn dùng các công thức này:
Mã:
B6=SUMPRODUCT(SUMIF(INDIRECT({"01","02","03"}&"!A6:A9"),A6,INDIRECT({"01","02","03"}&"!B6:B9")))
C6=SUMPRODUCT(SUMIF(INDIRECT({"01","02","03"}&"!A6:A9"),A6,INDIRECT({"01","02","03"}&"!c6:c9")))
Copy xuống!!!
Chỗ mảng {"01","02","03"} là tên sheet có thể thay thế bằng vùng tên sheet.
 
@excel_lv1.5 Cảm ơn bạn phản hồi tuy nhiên phương án trên chưa đủ các điều kiện, đang còn thông tin số lượng, khối lượng tùy ý nằm các cột khác nhau.
 
Kính gửi Quý Thầy, Cô/ Anh, Chị.
Em có bài toán như file đính kèm. Với điều kiện dữ liệu Cột A để hiển thị tên hàng, còn thứ tự các cột khối lượng và số lượng thì không cố định số lượng sheet luôn lớn hơn 20 sheets. Nhờ Quý Thầy, Cô/Anh, Chị giúp đỡ Em.
Chân thành cảm ơn
Hàm tự tạo VBA:
 

File đính kèm

  • Tong nhieu dieu kien.xlsm
    17.9 KB · Đọc: 14
Bạn dùng các công thức này:
Mã:
B6=SUMPRODUCT(SUMIF(INDIRECT({"01","02","03"}&"!A6:A9"),A6,INDIRECT({"01","02","03"}&"!B6:B9")))
C6=SUMPRODUCT(SUMIF(INDIRECT({"01","02","03"}&"!A6:A9"),A6,INDIRECT({"01","02","03"}&"!c6:c9")))
Copy xuống!!!
Chỗ mảng {"01","02","03"} là tên sheet có thể thay thế bằng vùng tên sheet.
Bài này hay đó anh, cho em hỏi nếu chừng 30 sheet thi sao?
 
@Ba Tê Cảm ơn Ba Tê nhiều. Hàm tự tạo thì dùng ổn rồi. Tuy vậy vẫn muốn có 1 phương án thuần túy excel.
 
Bài này hay đó anh, cho em hỏi nếu chừng 30 sheet thi sao?
Công thức của tôi có sử dụng mảng {"01","02","03"}, bạn gõ tên sheet vào excel chẳng hạn vùng từ A1:A3={"01","02","03"}, thì bạn chỉnh công thức lại
SUMPRODUCT(SUMIF(INDIRECT(A1:A3&"!A6:A9"),A6,INDIRECT(A1:A3&"!B6:B9")))
Tương tự 30 sheet thì cũng vậy
 
@excel_lv1.5 Cảm ơn bạn đã chia sẽ, yêu cầu của tôi hơi khác đi một chút bạn xem có phương án nào thực hiện không?. Tôi xin nói rỏ hơn chỗ này 1 chút. Tính tổng mặt hàng A theo đơn vị khối lượng ( Khối lượng nằm ở cột B sheet 1 cột C sheet 2, cột .... sheet N) do đó sumif thì vùng tính tổng như phương án bạn trình bày sẽ cộng lẫn lộn dữ liệu cột khối lượng và cột số lượng. Mong bạn giúp đỡ.
Chân thành cảm ơn.
 
Kính gửi Quý Thầy, Cô/ Anh, Chị.
Em có bài toán như file đính kèm. Với điều kiện dữ liệu Cột A để hiển thị tên hàng, còn thứ tự các cột khối lượng và số lượng thì không cố định số lượng sheet luôn lớn hơn 20 sheets. Nhờ Quý Thầy, Cô/Anh, Chị giúp đỡ Em.
Chân thành cảm ơn
Dùng bảng phụ
 

File đính kèm

  • Tong nhieu dieu kien.xlsx
    10.1 KB · Đọc: 13
@HieuCD Cảm ơn bạn quan tâm. Làm theo cách này chưa tối ưu nhất mình muốn nói là file có nhiều sheets chứ không đơn thuần 2 3 sheets thôi đâu.
Cảm ơn bạn nhiều.
Chân thành cảm ơn.
 
@HieuCD Cảm ơn bạn quan tâm. Làm theo cách này chưa tối ưu nhất mình muốn nói là file có nhiều sheets chứ không đơn thuần 2 3 sheets thôi đâu.
Cảm ơn bạn nhiều.
Chân thành cảm ơn.
Có bao nhiêu sheet thì nhập vào bảng phụ bấy nhiêu, muốn dùng công thức tối ưu hơn thì ...
 
Có bao nhiêu sheet thì nhập vào bảng phụ bấy nhiêu, muốn dùng công thức tối ưu hơn thì ...
Làm theo cách đó cũng được nhưng thêm chút mắn muối vào để excel tự động tạo bảng phụ. chỉ cần lập danh sách các sheet cần thống kê là nó tự tính toán các tham số: địa chỉ vùng tính tổng, địa chỉ vùng điều kiên
...
 
Web KT
Back
Top Bottom