excel可见单元格条件求和

大家都知道 subtotal用于可见求和 sumif用于条件求和 可是如何能在可见单元格中条件性求和?求高手指点! 本人屌丝一枚 没多少分 谅解!

任意单元格输入:
=SUM(SUBTOTAL(3,OFFSET(A1,ROW(A1:A10)-1,))*(A1:A10=3)*A1:A10)
双击进入单元格,粘贴公式后,左手按住ctrl shift,右手按下回车运行。

上面的公式求A1:A10中可见的且=3的单元格数值的和。其中的(A1:A10=3)可以改成别的条件判断,也可以继续增加,比如说满足(B1:B10="苹果")
=SUM(SUBTOTAL(3,OFFSET(A1,ROW(A1:A10)-1,))*(B1:B10="苹果")*A1:A10)
上面的公式求B列是苹果对应A列可见单元格的合计追问

多谢 大神! 可惜 呃 有点 没看懂 一般公式不都用逗号隔开吗?怎么用星号?
比如a为筛选列 b为条件 c为求和咧 怎么改公式?

追答

星号在这里是乘号的意思。在苹果的那个公式,你把a改成c,b不变就可以了

任意单元格输入:
=SUM(SUBTOTAL(3,OFFSET(A1,ROW(A1:A10)-1,))*(A1:A10=3)*A1:A10)
双击进入单元格,粘贴公式后,左手按住ctrl shift,右手按下回车运行。

上面的公式求A1:A10中可见的且=3的单元格数值的和。其中的(A1:A10=3)可以改成别的条件判断,也可以继续增加,比如说满足(B1:B10="苹果")
=SUM(SUBTOTAL(3,OFFSET(A1,ROW(A1:A10)-1,))*(B1:B10="苹果")*C1:C10),把苹果改成你自己想要的条件

手机发真不方便,刚出来准备回家了。
=SUM(SUBTOTAL(3,OFFSET(A1,ROW(A1:A10)-1,))*(B1:B10="苹果")*C1:C10),把苹果改成你自己想要的条件

追问

sum subtotal offset row 都会用 可惜还是没太懂
星c1:c10是什么意思? 还有row(a1:a10)不就是固定的一个单元格吗?
我套用了好几遍 呃 是乱码。。。

追答

这个是嵌套用法,得综合看。ROW(A1:A10)返回1到10这十个数字,是OFFSET函数的第二参数的数组用法

星c1:c10就是乘以C1:C10的意思啊,不是要求C列数据的和么

追问

可是row(a1:a10)就返回a1的行数啊? 星c1:c10就相当于直接星c1啊 没有c1:c10的效果啊
请别嫌弃我笨 呵呵 我真的想弄明白

追答

在一个单元格中输入=row(a1:a10),保持在编辑模式,然后按下键盘上的F9看看

这些是数组公式,如果放在一个单元格里只显示第一个返回值,其实返回的是十个值

这些是数组公式,如果放在一个单元格里只显示第一个返回值,其实返回的是十个值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-12-23
不知道你具体想要做什么 但是 subtotal 这个函数 不能 在 筛选类 隐藏之后 的数据中 直接得到 类似 sumif 的运算……
如果你要得到 特殊的计算结果 需要 变通使用……
说说你具体使用条件吧 或许能给你些建议……
建议你在实际使用过程中 变通一下 把筛选条件 也作为一个参数 来使用 sumproduct 函数 就可以达到你的要求了……
相似回答