Cộng tổng các giá trị column theo các khoảng định sẵn (1 người xem)

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

bucminh99

Thành viên mới
Tham gia
7/8/12
Bài viết
27
Được thích
0
Xin chào mọi người.
Mình hay có bảng tính dạng.
STT Tên Chi Phí Tổng
1. Chi phí ngày 1 xxx
1.1 Bê tông
1.2 Cốt pha
1.3 Cốt thép
2. Chi phí ngày 2 xxx
Vật tư phụ
Vật chi chính
Ăn trưa
Ăn sáng
3. Chi phí ngày 3

Mình cần hàm sum tổng tự động phát hiện STT là (1) (2), thì sẽ tự sum các row từ 1.1 đến row ngay trước STT2.
Mọi người xem giúp mình với.
 

File đính kèm

Lần chỉnh sửa cuối:
Công thức tại F5=SUM(INDIRECT("F"&MATCH(D5;$D$1:$D$16;0)+1&":F"&MATCH(D5+1;$D$1:$D$16;0)-1)). Sau đó filter để đặt hàm cho các vị trí 2, 3, 4...
 
Bạn xem trong file đính kèm nhé!
 

File đính kèm

hoangminhtien
user-online.png




Cám ơn bạn rất nhiều , mình đã hiểu cách làm của bạn. Vì mình tự mò học nên ko biết cách tham số địa chỉ Excel đơn giản chỉ D5+1,, mình cứ nghĩ D5+1 là giá trị của D5 +1 chứ ko phải là D6.
 
Lần chỉnh sửa cuối:
Bạn xem trong file đính kèm nhé!
Mình thấy còn 1 vấn đề là :
1.hàm của bạn bắt buộc phải insert cột phụ, nếu ko muốn insert cột phụ thì có cách nào không?
2. Vì bạn dùng sum các ô từ 1 ->2 ( 1.1 , 1.2 , 1.3) nên trong trường hợp giữa vừng 1 và 2 là "", thì nó tự nhận là 0 => nó ko thuộc vùng sum nên ko tính vào.

Cách suy nghĩ của mình Sum( A1:A10), vậy có thể thay lấy "1", "10" từ các giá trị bằng hàm row được ko?.
ý tướng của mình là vậy nhưg chưa viết được
 
Mình thấy còn 1 vấn đề là :
1.hàm của bạn bắt buộc phải insert cột phụ, nếu ko muốn insert cột phụ thì có cách nào không?
2. Vì bạn dùng sum các ô từ 1 ->2 ( 1.1 , 1.2 , 1.3) nên trong trường hợp giữa vừng 1 và 2 là "", thì nó tự nhận là 0 => nó ko thuộc vùng sum nên ko tính vào.

Cách suy nghĩ của mình Sum( A1:A10), vậy có thể thay lấy "1", "10" từ các giá trị bằng hàm row được ko?.
ý tướng của mình là vậy nhưg chưa viết được

Nhập thử công thức này vào F5:
=SUMPRODUCT((INT(D6:$D$16)=D5)*(F6:$F$16))
Copy cho các ô cần tính tổng bên dưới.
Chuyện này vẫn là thủ công tìm ô gán công thức, nếu dữ liệu thật, cố định, viết 1 Sub cho nó dò tìm những ô đúng điều kiện thì gán tổng vào, dữ liệu hàng ngàn dòng vẫn nhanh.
 
mình thấy còn 1 vấn đề là :
1.hàm của bạn bắt buộc phải insert cột phụ, nếu ko muốn insert cột phụ thì có cách nào không?
2. Vì bạn dùng sum các ô từ 1 ->2 ( 1.1 , 1.2 , 1.3) nên trong trường hợp giữa vừng 1 và 2 là "", thì nó tự nhận là 0 => nó ko thuộc vùng sum nên ko tính vào.

Cách suy nghĩ của mình sum( a1:a10), vậy có thể thay lấy "1", "10" từ các giá trị bằng hàm row được ko?.
ý tướng của mình là vậy nhưg chưa viết được
Mã:
g5=iferror(sum(offset(f5;1;;sumproduct(--(lookup(row(d5:d$16);row(d5:d$16)/(mod(d5:d$16;1)=0)/(d5:d$16<>""))=row()))-1));"")
 
Bạn gửi giúp mình file nhé, chèn vào ko được.
Mục tiêu là : tỉnh tổng được từ 1 ->2, 2->3 hoặc 1.1 ( tổng các mục con để ra 1.1, các mục con thì STT là khoảng trắng)
Mình đã làm được bằng cách thêm cột phụ, tự nhận STT rồi dùng sumif. Nhưng vẫn muốn nghe thêm các hướng khác hay hơn
 
Bạn gửi giúp mình file nhé, chèn vào ko được.
Mục tiêu là : tỉnh tổng được từ 1 ->2, 2->3 hoặc 1.1 ( tổng các mục con để ra 1.1, các mục con thì STT là khoảng trắng)
Mình đã làm được bằng cách thêm cột phụ, tự nhận STT rồi dùng sumif. Nhưng vẫn muốn nghe thêm các hướng khác hay hơn

Hướng khác là dùng VBA.
 

File đính kèm

File đính kèm

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

Back
Top Bottom