发布网友 发布时间:2022-04-23 21:54
共3个回答
热心网友 时间:2023-10-11 02:36
你好,这个问题是非常具有代表性,表现了Excel 2003版本和Excel 2007以上版本一个非常重要的区别,这个题可以有两种逻辑关系比较简单的方法解决:(详见附件)
方法一:使用 =Sumifs(...) 函数(适用于Excel 2003)
=SUMIFS($C$3:$C$7,$B$3:$B$7,">="&MIN(B11:C11),$B$3:$B$7,"<="&MAX(B11:C11))方法二:使用 {=SUM(...)} 数组公式(适用于所有版本)
{=SUM(IF($B$3:$B$7>=MIN(B12:C12),IF($B$3:$B$7<=MAX(B12:C12),$C$3:$C$7)))}注意此为数组公式,输入时不要带大括号{},输入完成后按“Ctrl+Shift+回车”形成数组公式
两种方法都嵌套了MAX()和MIN()函数,不存在范围数谁前谁后的问题。
俗话说授人以鱼不如授人以渔,2007以上版本的Excel加入了非常多的统计类函数,非常方便使用,除了Sumifs()还有Countifs()、Averageifs()等等,都是可以多重条件使用的。
数组公式开始不好理解,其实就是把普通函数里单一值的函数都可以选择数组也就是多个单元格处理,这里嵌套的两个IF()就是把第一列里面不需要的数给过滤掉了。
附件里面是保存的2003版本的文件,如果用2003版打开,方法一里面会显示错误。
热心网友 时间:2023-10-11 02:36
=SUM(INDIRECT("B"&MATCH(A8,$A$1:$A$6,0)&":B"&MATCH(B8,$A$1:$A$6,0)))
自己修改单元格区域
热心网友 时间:2023-10-11 02:37
=SUM(INDIRECT("B"&A9+1&":B"&B9+1))