excel中统计非0数据中的最小值【急】

来源:百度知道 编辑:UC知道 时间:2024/05/22 02:03:01
例如:
D
1 学生成绩
2 0
3 90
4 89
5 78
6 0
7 56
8 17
9 88
10 13
请高手帮忙
请各位达人留意,数值中含有“0”值,所以当输入=min(d2:d10)只会出现“0”这个结果,
我要的是非“0”值,不是非空值。
因为一些学生买有考试,但又要记分,但算最低分时不计算。所以很麻烦,
各位达人也可以说说解决的方法

=SMALL($B$2:$B$10,COUNTIF($B$2:$B$10,0)+1)
用COUNTIF函数统计出有几个0,然后再用SMALL函数返回第“0的个数+1”个小的值

这样的话加个条件语句进去就可以了
=MIN(IF(D2:D10>0,D2:D10))
因为涉及数组,所以公式用Ctrl+Shift+Enter结束输入

另外还有一种办法:
=MIN(--TEXT(D2:D10,"[=0]!100"))
同样涉及数组,所以还有Ctrl+Shift+Enter结尾
注:这个例子中的"[=0]!100"表示这个数组内若有等于0的值则视为100(因为你要的是分数,所以只到100就够了,其它情况你可以设置为任意值,9999999都可以)

=MIN(IF(D2:D10>0,D2:D10))
数组公式,按 Ctrl+Shift+Enter 结束公式输入。

解决办法之一,

用鼠标选中学生成绩那一列(假设是D列,那么用鼠标点那个D),然后菜单选择数据-〉排序,根据你所选择的列,选择升序等,就可以看出最小值。
同时,还支持列排序扩展,你可以按你的要求多试下

之二,
如果菜单 插入-〉函数,选择small(array,k)或 min()函数,由于你想要非0的最小值,所以K应该知道有几个零。或者min()只在非零值里选择,不易实现。

我建议,你就排下序好了。如果非得要用公式,得再研究下

=SMALL($D$1:$D$100,COUNTIF($D$1:$D$100,0)+1)