注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

零售创新,创新那些事儿,SPSS,VBA

零售创新

 
 
 

日志

 
 
关于我

新浪微博,零售创新 研究经理,数据分析师 希望和市场研究和零售业的同事共同进步! 本博客发表的都是免费或试用的资料,如果有版权问题请发邮件wangli12a@163.com联系删除。 spss excel vba blog

网易考拉推荐

转,混杂文本中提取数字 (数字在首位)  

2013-10-08 16:37:13|  分类: 电脑知识 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
原文地址:http://blog.sina.com.cn/s/blog_7e8300db0101a9cl.html

转,混杂文本中提取数字 (数字在首位) - 和平 - 零售创新,创新那些事儿,SPSS,VBA
 

【思路】
1、使用LEN函数提取字符串的长度
2、使用ROW配合INDIRECT函数生成一个与字符串长度匹配的数组。如A2字符串长度为5位,对应产生{1;2;3;4;5};A3字符串长度为4位,对应产生{1;2;3;4}
3、使用LEFT函数从字符串左侧开始,依次提取对应长度的字符串。如A2对应产生的{"2";"21";"214";"214k";"214kg"};A3对应产生的{"4";"4.";"4.5";"4.5吨"}
4、使用运算符“-”将LEFT函数返回的文本转化为数值同时取相反数,生成一个由负数和错误值#VALUE!组成的数组。如A2对应产生的{-2;-21;-214;#VALUE!;#VALUE!};A3对应产生的{-4;-4;-4.5;#VALUE!}
5、使用LOOKUP函数从第4步返回的数组中提取最右侧的数值。由于数组中各元素由负数和错误值构成,LOOKUP函数具有忽略错误值运算的特性,使用LOOKUP的数组形式可以返回列中的最后一个值。A2对应的是-214;A3对应的是-4.5
6、再次使用运算符“-”将第5步返回的负值取负,恢复原数值,即要求的结果。
【公式】

=-LOOKUP(0,-LEFT(A2,ROW(INDIRECT("1:"&LEN(A2)))))


附件下载:从混杂文本中提取数字


  评论这张
 
阅读(711)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017