很多时候,数据输入并不规范,比如下表中的员工姓名和业绩挤在一个单元格里,要求统计业绩最大值。

Excel怎样统计业绩最大值

这种不规范的数据并不是不能统计,只是给统计带来了麻烦。

视频解

关键操作公式实现

在C2单元格输入公式:

{=MAX((SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100))},(TRL+SHIFT+RNTER结束)。

公式分解

{=ROW($1:$100)}:

返回值是1-100组成的数组{1;2;3;4;5;6;7……98;99;100}

{=SUBSTITUTE(B2,ROW($1:$100),)}:

将B2内的文本依次删除1~100数值以后,返回100组文本组成的数组,如下:

Excel怎样统计业绩最大值

关于SUBSTITUTE函数的用法参考昨天的文章:Excel 数据输入不规范,部分带数量单位,怎么计算平均值?。

{=SUBSTITUTE(B2,ROW($1:$100),)<>B2}:

返回值是一组TURE与FALSE组成的100个逻辑值数组,将删除了数字后的文本与B2单元格相对比,如果不等于B2返回TURE,如果等于B2返回FALSE。

{=(SUBSTITUTE(B2,ROW($1:$100),)<>B2)*ROW($1:$100)}:

将得到的一级逻辑值与1~100数值相乘,TURE相当于1,FALSE相当于0,相乘以后得到的结果是一个数组,该数组由100个数值组成,分别是B2单元格中包含的所有数字和0。

最后用MAX函数对上述数组内的数值求最大值。

发表回复