excel学习库

excel表格_excel函数公式大全_execl从入门到精通

批量提取数字一气呵成——利用Excel函数ISERROR/SUBSTITUDE

本文将用到: MID(文字/数字,提取起始位,提取位数)VALUE( ) 结果为括号内数值,若无法计算则报错ISERROR( ) 结果为返回括号内是否报错,TRUE或FALSESUBSITITUDE(文字/数字,"待替换内容","替换为内容")有位来自档案管理小哥的加急问题: Excel左边纯数字和数字和文字混合,如何在右边提取纯数字?从文字+数字混合提取纯数字平时工作中表哥也经常遇到这类问题,只是花样更多、情况更加复杂。 那么如何处理这类问题呢? 表哥有两个思路:一是提取,二是替换 思路一:判断A列是否为纯数字,若为纯数字则等于A列,若为文字与数字混合,则使用提取函数将A列提取数字到B列。 常用的提取函数有三个,分别为LEFT(),RIGHT()和MID(),观察A列的档案编号数字前后,均有文字出现,那么这里就选用MID()。以A1为例,在单元格B2输入公式: B2=MID(A1,2,6)即可。判断是否为纯数字再选用合适的函数但是由于A列内容形式不统一,有的只含数字,有的包含文字和数字两种。如果是文字与数字混合的情况,用MID()提取就好,如果只包含数字则直接等于A列数字。 如何判断A列是否是纯数字呢? 数字和文字区别之一在于可否参与计算,因此可利用这个区别,借用ISERROR(),VALUE()两个函数来帮我们判断。 ISERROR()用来判断括号里计算出来的结果是否会报错,如果报错ISERROR()返回"TRUE",如果不报错,则返回"FALSE"。举个例子:ISERROR用法说明举例比如零是不可以被除的,当计算100/0时,系统会报错,ISERROR()会返回"TRUE";但是零除以任何数都等于0,则ISERROR()会返回"FASLE"。因此,就可以借用ISERROR()与VALUE()组合来判断A列是否为数字。 以A1为例,ISERROR(VALUE(A1)),如果A1是文字+数字,则返回TRUE,A1需要经过MID()提取后到B1;如果A1是纯数字,则返回FALSE,A1不需要使用MID()提取,B1等于A1即可。ISERROR结果举例将两部分公式组合在一起,以A1为例,在单元格B1输入: B1= IF(ISERROR(VALUE(A1))=TRUE,MID(A1,2,6),A1), B列其他行按照B1下拉填充即可。 表哥tips:除了利用数字与文字的可否参与计算的区别,还可以利用文字在系统中字符数和字节数不同这个属性。如果你感兴趣,研究下LENB()和LEN()这两个函数吧。如果没有时间琢磨,请关注并留意表哥近期发布的文章,答案将在那里揭晓。 思路二:将A列文字替换为空,只留下纯数字即所得。 观察到A列文字只有两个,”第”和”号”。因此只要替换掉这两个字,就可以统一为纯数字了。 替换的方法有两种:一是通过Excel工具栏”替换”操作,一是通过函数SUBSITITUDE()。 方法1:Excel工具栏”替换”操作步骤,可参考文章《如何快速准确调整商品及货物名称——利用Excel分列及替换功能》Excel的替换功能方法2:通过SUBSITITUDE()函数替换文字思路类似工具栏替换的操作,也是要替换两次,因此公式中也要替换两次。以A1为例,在单元格B1中输入公式: B1=SUBSTITUTE(SUBSTITUTE(A1,"第",""),"号",""), B列其他行下拉填充即可。SUBSTITUDE替换两次后的结果以上案例解决思路一定不止文章中所讲的几种,如果你发现了新思路,欢迎私信表哥或在评论区留言,与大家一起分享你的好点子吧。 完结撒花↖(^ω^)↗

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接