打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel问伊答之14:如何把后面的数字从一堆编码中截取出来,这不是乱中取胜嘛?
某列内容后面的若干位都是数字,请问如何把这些数字用函数截取出来?
这让我想了趁火打劫或者叫火中取栗~~~
 
 
示例:
编码 截取的数字 函数公式
xsfdlXZY-XY12345 12345 12345
XYDKADJ-981 981 981
KFDJFKI-125789.87 125789.87 125789.87
QEQERQ-UYU12345.5 12345.5 12345.5
XMDAFC-9870123456 9870123456 9870123456
AFDJK7ADX-92000 92000 92000
UIAIODF778XXXXYY4050 4050 4050
 
这么苦逼的事情只能用函数或者vba了。
显然这里的情况还比较仁慈,用些高级点函数就能实现屌丝逆袭的。
函数公式怎么写呢:
=LOOKUP(9E+307,--RIGHT(A2,ROW($1:$15)))
 
首先声明此函数之针对示例中看到的那样的情况,不包治百病,无法针对其他情况也屡试屡爽的。
 
解读一下:
RIGHT(A2,ROW($1:$15)),从A2单元格的右边分别截取从1位到15位的内容出来。大家都写过这样的RIGHT(A2,1),RIGHT(A2,2)。而此处则相当于RIGHT(A2,1),RIGHT(A2,2),......RIGHT(A2,15)。为什么用15呢,因为最大的数字位数是15位的。你可以在旁边空单元格输入=RIGHT(A2,ROW($1:$15)),然后在编辑栏用F9抹黑,得到其真实结果为一串数组值:{'5';'45';'345';'2345';'12345';'Y12345';'XY12345';'-XY12345';'Y-XY12345';'ZY-XY12345';'XZY-XY12345';'lXZY-XY12345';'dlXZY-XY12345';'fdlXZY-XY12345';'sfdlXZY-XY12345'}
这些数组值都是文本,要变成数字就要为他们进行运算,比如乘以1或者加上0或者减去0或者负负得正。--RIGHT(A2,ROW($1:$15))的作用这是如此,其结果值用F9抹黑是:
{5;45;345;2345;12345;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!}
LOOKUP(9E+307,--RIGHT(A2,ROW($1:$15))),其中9E+307是一个非常大非常大的值,用LOOKUP找这个值在不在--RIGHT(A2,ROW($1:$15))里面,这个里面自然是没有这个这么大的数字的。LOOKUP(9e+307,)这种形式就是用来查找最后一个数字的。这里的最后一个数字显然就是12345了。
还不明白的可以去百度LOOKUP 9e+307。
--------------------------------------------------------------------------------------------
 
 
 
 
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Vlookup的兄弟Lookup大显身手,秒秒钟搞定数据提取
lookup函数十大经典用法案例06
带单位的数值,如何提取其中的数字
比lookup函数好用10倍?它才是Excel查找函数的No.1
老板发来的表格内容不规范,还要求提取数字汇总计算,怎么办?
单元格取数字万能公式-只需一招搞定
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服