excel 在单元格内输入某个数值既可以输出表格内对应得数值:eg

如题所述

你好,这个问题是非常具有代表性,表现了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版打开,方法一里面会显示错误。





温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-28

=SUM(INDIRECT("B"&MATCH(A8,$A$1:$A$6,0)&":B"&MATCH(B8,$A$1:$A$6,0)))

自己修改单元格区域

本回答被提问者采纳
第2个回答  2013-09-28
=SUM(INDIRECT("B"&A9+1&":B"&B9+1))
相似回答