做工作学函数(13)


一、从一列数据中提取大于0的最小值

C11=SMALL($B$5: $B$9,COUNTIF($B$5: $B$9,"<=0")+1)

函数说明

1、countif

函数表达式:=countif(range,criteria)

用途:统计所选区域中符合条件的值的个数

2、small

函数表达式=small(array,k)

用途:从一个区域中找第k小的值。

3、嵌套公式说明

countif统计了小于等于0的数值个数为2,则大于0的最小值在所有数据中是第3小。


二、在多列数据中找大于0的最小值

C20:{=MIN(IF(B14: D18<=0,MAX(B14: D18),B14: D18))}

函数说明

1、max

函数表达式=max(number1,number2,...)

用途:从一组数据或者多个数据中取最大的数。

2、min

函数表达式=min(number1,number2,...)

用途:从一组数据或者多个数据中取最小的数。

3、if

函数表达式:=if(logical_test,value_if_true,value_if_false)

用途:如果合同类别没有填时返回空值,有填写合同类别,用函数组合计算流水号。

4、嵌套公式说明

数组公式中IF(B14: D18<=0,MAX(B14: D18),B14: D18)是将区域中的小于等于0的值用区域最大值取代。

组成的新数据结果如下


再在这个数据区域里用min函数取最小值。

这个思路是一个非常巧妙地做法,我们不妨做一个案例:

正常销售价格是90~100,退货价格假如是80~90,求A产品销售的最小价格。


D66:{=SMALL(IF($D$59: $D$64*($B$59: $B$64=B67)*($C$59: $C$64=C67)=0,MAX($D$59: $D$64),$D$59: $D$64),1)}

1、嵌套公式说明

如果产品和销售类别都不符合的,取整个区域的最大值替代之。再从新组建的数据中取最小值。

附件: 您需要登录才可以下载或查看附件。没有帐号?注册  -- >