excel实用问题:提取文字当中的数字进行运算

0、前言:

  • 这里汇总在使用excel工作过程中遇到的问题,excel使用wps版本,小规模数据我们自己提取数据可行,大规模数据就有些难受了,因此就产生了如下处理办法。

需求:需要把所有文字当中的数字提取出来,然后进行运算,如下所示:

前提知识:

  • 前提知识1:mid(查找单元,开始位置,截取长度),返回字符串。right(字符串,长度)、left(字符串,长度),right和left都返回固定长度的字符串。
  • 前提知识2:find(查找的字符串,查找单元,开始位置),返回查找字符串在查找单元的位置。
  • 前提知识3:len(字符串),返回字符串长度。
  • 前提知识4:文字转数字函数value,用N函数不可行,会识别为0。
  • 前提知识5:clean(text),当提取出来的文字前后可能有空字符的时候,用value转换会报错,可以用该函数删除text中的非打印字符。

思路:

  • 可以发现规律,有的数据是只有1条缴纳信息,最多的数据是有2条缴纳信息,那就在右侧插入3列,第1列放1条缴纳信息提取的金额和2条缴纳信息部分内容,第2列放2条缴纳信息中第1条缴纳信息的金额,第3列放2条缴纳信息中第2条缴纳信息的金额。然后在下面合计,汇总即可。

具体步骤:

  • 第一步:第一列数据提取,公式是=VALUE(MID(D4,FIND(":",D4,1)+1,LEN(D4)-FIND(":",D4,1))),通过mid提取D4单元格,:符号对应位置开始,往后所有的数字。
  • 第二步:同样用mid和find组合,公式是=VALUE(CLEAN(LEFT(E6,FIND("年",E6,1)-3)))提取第2条缴纳金额,然后用clean函数清空非打印字符,然后用value函数转为数字。这时候要注意,没有第2条金额的会出现value报错,通过列3筛选所有value报错选项,然后ctrl+g,选择可见单元格,然后delete删除即可得到如下信息:
  • 第三步:公式是=VALUE(CLEAN(MID(E6,FIND(":",E6,1)+1,LEN(E6)-FIND(":",E6,1)))),类似第二步即可得到以下信息:
  • 最后一步汇总:汇总选择用subtotal函数:=SUBTOTAL(109,E4:E22)

总结:

  • 通过以上步骤可以得出,数据规范的重要性,试想如果每条数据不是用固定表述书写,长短不一,内容不一,那么用上述方法也就不可行了。因此在收集数据之初,就要定好数据规范!
  • 处理数据,既要考虑到清洗数据,让数据规范化,还要考虑数据处理的效率,以及处理结果是否正确的验证难度。

相关推荐
程序员的世界你不懂16 分钟前
基于Java+Maven+Testng+Selenium+Log4j+Allure+Jenkins搭建一个WebUI自动化框架(4)集成Allure报表
java·selenium·maven
前端世界26 分钟前
鸿蒙UI开发全解:JS与Java双引擎实战指南
javascript·ui·harmonyos
isNotNullX30 分钟前
数据中台架构解析:湖仓一体的实战设计
java·大数据·数据库·架构·spark
皮皮林55132 分钟前
“RPC好,还是RESTful好?”,这个问题不简单
java
Xiaouuuuua38 分钟前
一个简单的脚本,让pdf开启夜间模式
java·前端·pdf
@Dream_Chaser1 小时前
uniapp ruoyi-app 中使用checkbox 无法选中问题
前端·javascript·uni-app
上单带刀不带妹1 小时前
JavaScript中的Request详解:掌握Fetch API与XMLHttpRequest
开发语言·前端·javascript·ecmascript
ningmengjing_2 小时前
在 PyCharm 中安装并配置 Node.js 的指南
开发语言·javascript·ecmascript
车车不吃香菇2 小时前
java idea 本地debug linux服务
java·linux·intellij-idea
晓13132 小时前
JavaScript基础篇——第五章 对象(最终篇)
开发语言·前端·javascript