excel筛选后自动求相邻两行和

来源:百度知道 编辑:UC知道 时间:2024/05/11 01:05:42
筛选后自动求上下两行和
悬赏分:20 - 离问题结束还有 8 天 5 小时
举例:

[筛选前数据]

1 A列 B列 C列
2 a 1 9
3 b 2 8
4 c 3 7
5 a 4 6
5 b 5 5
6 c 6 4
7 a 7 3
8 b 8 2
9 c 9 1
10 a 10 0
11 b 11 7
12 c 12 6

[筛选后数据]

1 A列 B列 C列
2 a 1 9
3 a 4 6
4 a 7 3
5 a 10 0

[我要的结果如下:]

1 A列 B列 C列 D列[求和]
2 a 1 9 7[=B2+C3]
3 a 4 6 7[=B3+C4]
4 a 7 3 7[=B4+C5]
5 a 10 0 [=如此类推]

同时,还存在其它筛选选项,如:a1、b1、c1、d1等等,请大虾做成公式自动在其它列显示 [筛选后的两行求和]。谢谢!

问题补充:

1): 左边的 1 2 3 4 5 6 7 8 9 .....是excel行号[不是数据]

这里的B2和C3仅仅代表为相邻的上下两行,并不是EXCEL里的真正的“B2和C3”,B2和C3会随着筛选变化而变化,同时“B2+C3的值”即“D列求和”也随着筛选而变化的,请大虾再想想,谢谢!

3):明确一些:实际有几千行数据,且列数几乎由A列到IV列。
1)把邮箱贴上来传个文件给你.
回答者: LWSHH - 首席运营官 十二级 5-27 20:
谢谢!
2)回答者: shuhua0715 - 榜眼 十二级
--------正在测试你的方法,你共识基本符合“筛选后相邻两行求和”,但似乎你公式未考虑其他的筛选列,比如:A1列、C26列、AQ378列、

把邮箱贴上来传个文件给你.

筛选前
d2 =B2+INDEX(C3:C$65536,MATCH(A2,A3:A$65536,0)),双击d2填充柄复制公式。

筛选后出现你要的结果,最后一行会显示 #N/A,可以删掉。也可以改进公式
d2 =if(countif(a3:a$65536,a2),B2+INDEX(C3:C$65536,MATCH(A2,A3:A$65536,0)),"")

可以在当前工作簿中先插入1张新表,做一个宏来对筛选之后的数据进行求和。
宏的录制步骤:1、清除新表所有数据。。2、全选已完成筛选的数据表,复制。3、粘贴到新表中。4、

使用Ctrl+ →定位到最右边,再偏移1列(录制宏时使用相对引用)选中空列准备设公式。5、在第1(2)

行设公式求和。6、复制设好公式的单元格。7、使用Ctrl+ ↓定位到最下边,再偏移1(n)列(录制宏时

使用相对引用)到要设公式的列。8、使用Shift+Ctrl+↑选中需要设公式的列区域,粘贴公式即完成。
每次完成筛选后执行这个宏就能在新表中看到相应结果。

答案2很牛逼,绝对方便!