每天清晨六点,准时与您相约 很多时候,数据输入并不规范,比如下图表中的员工姓名和业绩挤在一个单元格里,要求统计业绩最大值。 这种不规范的数据并不是不能统计,只是给统计带来了麻烦。 在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组文本组成的数组,如下图: 关于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函数对上述数组内的数值求最大值。 链接:http://pan.baidu.com/s/1bpkxiqV 密码:t3nm |
|
来自: bitterfleabane > 《EXCEL》