大佬们来帮忙解释一下这个式子
excel吧
全部回复
仅看楼主
level 4
唯她魅 楼主
从A列中提取出数字
=-LOOKUP(1,-MID(A38,MIN(FIND(ROW($1:$10)-1,A38&1/17)),ROW($1:$15)))
最内层式子就理解不了了[乖]
里面的A38&1/17是什么意思,起到了什么样的作用啊?
2023年05月12日 00点05分 1
吧务
level 15
由内向外看
1/17返回 0.0588235294117647,这个数字里0-9都含,作用是用find时可以不套iferror.
find返回每个数字在a38&1/17中首次出现的位数
min返回最早出现的数字的位置
mid返回从这个数字开始取1,2,3...15位文本值构成的数组{"2";"25";"256";"256k";"256kg".....}
-将上面的数组中的文本型数字转成负数,文本(例如 "256k")转成错误值
lookup从上一步由负数和错误值构成的数组中获取最后一个数字
最外面的-再将负数转换成正数.
2023年05月12日 01点05分 2
讲得很详细,谢谢吧主!不知道大佬们怎么能想出这么巧妙的式子的,太厉害了[真棒]
2023年05月12日 01点05分
level 7
有点意思,以前真不知道这样回避错误的[滑稽]
刚才在猜想应该很多数都可以,但是实际试了下,能用的数没那么多,因为wps只计算到小数点后16位,所以满足这样条件的,100以内的数也不多
17,19,38,51,53,57,69,76,85,87,95
就这些了,再加上一个"pi()%"也可以用
[滑稽]
2023年05月12日 01点05分 3
pi()%这个不用加上1/的,直接连接就好
2023年05月12日 01点05分
1/17应该是最简洁的一个了吧
2023年05月12日 01点05分
@唯她魅 但是最容易想起来的还是π[滑稽]
2023年05月12日 02点05分
level 7
好像也不只是取数那么简单,他取得是第一串数字,比如你要写“8424西瓜200公斤”取出来得就是8424了
2023年05月12日 01点05分 4
对啊,只能取第一串数字,多段数字的话应该只能人工判断吧
2023年05月12日 01点05分
@唯她魅 谁说的?你太小看吧友水平了[滑稽]
2023年05月12日 02点05分
@唯她魅 正则表达式可以试试
2023年05月12日 03点05分
level 9
学习了
2023年05月12日 03点05分 5
level 9
1/17有个个数字,用find找不会有错误,
2023年05月12日 03点05分 6
1