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)

总结:

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

相关推荐
圆山猫6 小时前
[Virtualization](四):Linux KVM/RISC-V 的 vCPU 运行路径
java·linux·risc-v
城管不管6 小时前
ReAct、Plan-and-Execute、Reflection 三大智能 Agent 范式核心区别
java·人工智能·算法·spring·ai·动态规划
IT小白杨6 小时前
从环境制备到自动化工作流:多账号运营的工程化架构拆解
java·经验分享·自动化·安全架构·指纹浏览器
豆瓣鸡7 小时前
算法日记 - Day3
java·开发语言·算法
hPw0eKIqD7 小时前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
萧瑟余晖7 小时前
Java深入解析篇九之NIO详解
java·网络·nio
夏殇之殁7 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
The Chosen One9857 小时前
高进度算法模板速记(待完善)
java·前端·算法
新中地GIS开发老师8 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
丙氨酸長鏈9 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库