求教大神
昨天看到一个帖子,是说如何巧用lookup提取单元格中的数字的
比如A2单元格内容是:鸡蛋22.5斤
A3中的公式则应该用=-LOOKUP(,-MIDB(A2,SEARCHB("?",A2),ROW($1:$15)))
这里我不太明白的是,为什么要用lookup加上两次负数去这样求,既然是对取出来的数据组进行排序后查找,为什么不能用large或者max
因为我测试过,large和max都可以无视文本直接对数字进行排序的
比如我理解的,可以实现的公式应该为:=MAX(MIDB(A2,SEARCHB("?",A2),ROW($1:$15)))
可是我填入了函数后,返回的一直是2
想了半天实在理解不了,求大神不吝赐教
本帖最后由 cutecpu 于 2021-10-22 16:07 编辑
您的 =MAX(MIDB(A2,SEARCHB("?",A2),ROW($1:$15)))
換成 =AGGREGATE(14,6,1*MIDB(A2,SEARCHB("?",A2),ROW(1:15)),1)
因为经过 MIDB(A2,SEARCHB("?",A2),ROW($1:$15)) 处理后都是文本
所以您前面套个 1* 变成数字后,再取最大
但转数字的过程中可能失败,所以用 AGGREGATE(14,6, 数组, 1 ) 的方式避开错误值(14=large, 6=忽略错误值)
祝順心,南無阿彌陀佛!
|