excel表两列相乘求和不统计隐藏的值怎么做?

excel表两列相乘求和不统计隐藏的值怎么做?
两列值相乘求和算法为:=SUMPRODUCT(B6:B117,N6:N117) 统计所有行的值
但是怎么不统计影藏的行的值呢?请大家帮帮忙 请写出具体函数和写法,谢谢!!

=SUM(B6:B117*N6:N117*(SUBTOTAL(103,OFFSET($B$5,ROW(1:112),))>0))
双击单元格粘贴公式后,左手按住ctrl shift,右手按下回车键。追问

OFFSET($B$5,ROW(1:112),)
请教一下 以上该子函数什么意思呀,麻烦您给解释一下各个参数的意思 谢谢!

追答

语法: SUBTOTAL(function_num,ref1,ref2, ...)

第一个参数可以选择1 到 11(包含手动隐藏行的隐藏值)或 101 到
111(忽略手动隐藏行的隐藏值)之间的数字,指定使用何种函数在列表中进行分类汇总计算。

拿1到11之间的自然数举例:
1 、1 AVERAGE
2、 2 COUNT
3、 3 COUNTA (计数,单元格不为空就计算1,是本例中应用的参数)
4 、4 MAX
5 、5 MIN
……

上面整个公式的意思是:从B5往下的第1,2,3,……个单元格,用subtotal判断单元格内容是否为空,但是要注意,忽略了筛选或者手动隐藏的行。比如说B6不是空,是显示状态,B7不是空,但是是隐藏状态,那么subtotal就会返回{1,0……},也就是隐藏的都会返回0.这样再和全部的对应数值的乘积相乘,也就是隐藏的行就会被乘以0,这样就达到了不计算隐藏行数值的作用。

OFFSET(reference,rows,cols,height,width)
这个是什么意思呢,从字面上说是“偏移”的意思。看下它的参数,第一个reference是指定的一个单元格,比如说A1吧,第二个rows是偏移的行,第三个参数rols是偏移的列。举个例子,offset(a1,1,1)这个返回什么呢,返回的是从A1向下1行,向右一列的单元格,那就是B2。这样明白了吧?具体的用法还有很多,需要你自己学习了。如果有需要我可以发给你个网址

追问

求地址,谢谢!!

追答

私信给你了,我怕发在这里被百度给禁了。查收,在哪个论坛里搜索功能还可以找到很多

给你发的是一个讲解通俗易懂的,如果想学习更高深的,可以在论坛主页的搜索功能来搜。怕被认为是广告,就不在这里说网站地址了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-07
不要用SUMPRODUCT,你每行都有合计金额,直接用汇总函数求出显示部分的金额就行了,如
=SUBTOTAL(109,O6:O117)追问

没有啦,那个合计金额是每个产品的合计金额。我现在想求的是每个院的金额... 谢谢!!

本回答被网友采纳