Excel 函数Min求最小值值为空时为零的情况如何处理,或者排除0怎么做
MIN函数求最小值,空为零的处理及文字为零的处理
Excel中,用MIN函数求最小值,往往出来的0是因为值为空,有时值中如果存在文字,或者取不到值,也会造成为0。这是由于MIN函数的特性决定的,那么,怎么解决这个问题呢?
求值需求:
如下Excel所示,要求出每个班的最小值。
求值要求:
1、不存在班的信息,则显示空;
2、最小值不能把空当做0,空不能影响最小值;
3、如果存在为0的最小值需要求出来;
4、如果没有值显示空;
5、如果有文字的情况要排除掉;
6、公式要可以下拉。
解决方案:
如下图所示,使用公式生成工具,即可生成上述要求的公式。直接复制公式使用即可。
工具地址:www.excelfb.com
点击:Excel自动写公式工具(根据汉字描述写公式,支持合并单元格公式)
选择:查询满足条件的行(或所有行)指定列的最小值
A格表示:A列,
满足这一个(A格=D2),即满足一个条件 : A列 = D2单元格 的行中
对应的B格最小值,即为 满足上面条件的B列的最小值。
注:如果要,排除零,条件写为: 满足这一个(A格=D2,B格不等于0)
试了一下生成的公式是对的,我们把他生成的公式分析一下,了解一下他的解决思路。
生成的公式解决思路分析:
1、解决为空变为零的问题,通过IF函数,将求值数组中为空的变为Excel最大值 9E+307,公式为:IF(($A$1:$A$20=D3)*ISNUMBER($B$1:$B$20+0)*($B$1:$B$20<>"")>=1,$B$1:$B$20,9E+307)
2、这样求最小值公式为:
MIN(IF(($A$1:$A$20=D3)*ISNUMBER($B$1:$B$20+0)*($B$1:$B$20<>"")>=1,$B$1:$B$20,9E+307))
这样的话,没有值的最小值为9E+307
3、再用IF让没有值的显示为空,因此总体公式为:
=IF(MIN(IF(($A$1:$A$20=D3)*ISNUMBER($B$1:$B$20+0)*($B$1:$B$20<>"")>=1,$B$1:$B$20,9E+307))>=9E+307,"",MIN(IF(($A$1:$A$20=D3)*ISNUMBER($B$1:$B$20+0)*($B$1:$B$20<>"")>=1,$B$1:$B$20,9E+307)))
公式为数组公式,使用时注意三键同按,否则公式错误,即:输入公式时按住Ctrl Shift的同时,按Enter键。
如果不明白上述解释,或者需要其他条件的最小值公式,不要自己再搞明白了,直接用工具生成即可。
使用方式:
会自动提示可能需要输入的内容,如下四图
工具输入方便,通过汉字描述的方式写出自己需要的公式。同时还支持以下公式生成:
基本运算
一个表中如果...那么...
加减乘除运算(支持合并单元格)
查找
查询满足条件的行指定列的单元格值
查询满足条件的行及列对应的单元格值
求和
汇总满足条件的行(或所有行)指定列的和
汇总满足条件的行及列的和
求平均值
求满足条件的行(或所有行)指定列的平均值
求满足条件的行及列的平均值
求最大值
查询满足条件的行(或所有行)指定列的最大值
查询满足条件的行及列的最大值
求最小值
查询满足条件的行(或所有行)指定列的最小值
查询满足条件的行及列的最小值
求排名
中国式排名(相同的不占名次),非中国式排名,按列分类排名等等
求个数
查询满足条件的行的数量(个数)
查询满足条件的单元格的数量(个数)
查询满足条件行及列的(满足条件的)单元格的数量(个数)
文字中提取值
提取单元格内文字中的内容(提取数字,部分文字:"x"字与"x"字之间的内容、第几个"x"之前的内容等等)
好了,就写到这儿吧,大家可以自己用用试试。