全文约2164 字;
阅读时间:约5分钟;
听完时间:约10分钟;
销售部门的新毕业生小王正在整理《车辆订单明细表》。他的任务是汇总不同日期对应的记账金额,并分类汇总。然而,在整理过程中,他发现所有的日期信息都被记录在了备注栏中,并且这些日期的格式各不相同,例如:“7.31车款/订金刷卡”、“XX(车辆)08-09车款/订金刷卡”、“收到(车辆)车款/订金刷卡08.07”。
为了能够按照日期汇总相关的记账金额,现在需要将这些日期信息提取出来,并统一转换成标准的日期格式(YYYY/MM/DD)
AI工具
小王面临的首个任务是从备注中提取日期并将其转换为标准日期格式。这项工作对他来说颇具挑战性,因为备注中的日期格式不一,如“7.31”、“08.07”、“08-09”等,并且这些日期在备注中的位置也并不固定,有的在前面,有的在后面。
幸运的是,小王平时经常使用AI工具。于是,他打开了WPS中的AI助手“灵犀”,通过与其对话来寻求帮助。 https://lingxi.wps.cn
他在对话框中录入内容
“使用正则表达式提取”{‘7.31刷卡维修费未到账‘;’8-1刷卡维修费’}“中的数字,如7.31、8-1”并发送给AI,AI很快就回复了以下内容:
“要从给定的字符串中提取出数字,比如 ‘7.31’ 和 ‘8-1’,我们可以使用一个正则表达式来匹配包含数字和可能的分隔符(点号、连字符)的模式。下面是一个可以匹配这些数字的正则表达式:
regex
-?d+(?:[.-]d+)*
这个正则表达式的组成部分解释如下:
-?: 匹配0个或1个负号,用于处理可能出现的负数。如果不需要匹配负数,可以去掉这个部分。
d+: 匹配一个或多个数字。
(?:[.-]d+)*: 非捕获组,用来匹配0次或多次一个点号或连字符后跟一个或多个数字。这样可以匹配像 ‘7.31’ 或 ‘8-1’ 这样的数字。
请注意,这个正则表达式假设数字后面不跟其他数字或字母,也就是说它会停止匹配在一个数字后跟着非数字、非点号或非连字符的位置。”
提取数字
面对AI提供的满屏内容,小王一时也未能完全理解,于是他决定先将提供的公式复制到WPS表格中试试。在《车辆订单明细表》中,他新增了一列,并将其命名为“日期”,然后在这一列的首行单元格(假设是E3)录入了以下公式:
=REGEXP(D3,’-?\d+(?:[.-]\d+)*’)
接着,他将该单元格的公式向下拖动以填充其余单元格。结果令人惊喜,备注中的日期信息立刻就被提取出来了。
日期整理
下一步工作是将提取出来的日期内容转换为标准日期格式。为此,小王继续向AI求助,提出了具体问题:
“如何将E3单元格中的’7.31’使用公式标准化为日期格式?”
AI随即给出了相应的公式及其解释:
=DATE(YEAR(TODAY()), LEFT(E3, FIND(‘.’, E3)-1), RIGHT(E3, 2))
这个公式的解释:
TODAY(): 返回当前日期,年份部分将被用于转换。
LEFT(E3, FIND(‘.’, E3)-1): 从单元格E3中提取日部分(即点号前的数字),例如从 ‘7.31’ 中提取 ‘7’。
RIGHT(E3, 2): 从单元格E3中提取月部分(即点号后的两位数字),例如从 ‘7.31’ 中提取 ’31’。
FIND(‘.’, E3): 找到点号在E3中的位置,用于确定月份的起始位置。
DATE(…): 创建一个日期,其中年份为当前年份,月份和日数由上述 LEFT 和 RIGHT 函数提供。
应用到表格中确出现了错误
更正错误
小王仔细检查了表格中的数据,发现错误的原因是日期中还存在像“08-09”这样的格式,因此他继续向AI提问。
“换成08-09,如何更正公式”
AI给出来的结果为:
=DATE(2023, LEFT(E3, FIND(‘-‘, E3)-1), RIGHT(E3, 2))
在表格中录入公式后,小王发现仍然有错误。
不过,细心的小王注意到,解决方案已经很接近了,于是他继续提问:
“加上IF把两个函数合成一个函数,能够判定两种日期”08-09、8.09”
代入公式:
=IF(ISNUMBER(FIND(‘-‘,E3)),DATE(YEAR(TODAY()),LEFT(E3,FIND(‘-‘,E3)-1),MID(E3,FIND(‘-‘,E3)+1,2)),IF(ISNUMBER(FIND(‘.’,E3)),DATE(YEAR(TODAY()),LEFT(E3,FIND(‘.’,E3)-1),MID(E3,FIND(‘.’,E3)+1,2)),’无效格式’))
提取分类
日期标准化完成后,接下来的任务是对备注进行分类。订单金额分为“订金”和“维修”两大类,相关信息包含在备注中,现在需要将它们提取出来。于是,小王继续向AI提问:
“内容中”{‘收到(车辆)车款/订金刷卡08.07′;’8-5刷卡维修费’}如果出现“维修”就返回维修,出现订金就返回订金,WPS的公式如何写?”
将AI的公式代入表格中:
=IF(ISNUMBER(SEARCH(‘维修’,D3)),’维修’,IF(ISNUMBER(SEARCH(‘订金’,D3)),’订金’,”))
这里需求注意把默认的A1引用区域更改为实际区域D3,并填充公式:
日期去重
日期和分类的工作都已完成,接下来就是最后一步——汇总分析。按照分类进行汇总时,需要先去除重复的相关数据。由于小王也不会这个公式的写法,这时他想到了WPS表格中的AI助手功能。他在录入等号后,点击旁边的AI图标,激活了公式的AI助手,然后在对话框中录入了问题:
“对H列的日期去重”
得到公式:
=UNIQUE(H3:H14)
去重转置
在得到日期的去重数据后,接下来需要对分类去重并转置,继续在录入等号后,点击AI图标激活AI后,录入问题:
“对I列的分类去重,并转置成水平方向”得到公式:
=TRANSPOSE(UNIQUE(I3:I14))
汇总求和
最后一步就是汇总求和了,按同样的方法问AI:
“对C3:C14的金额汇总,条件区域1在H列,条件1在K3列,条件区域2在I列,条件L2”
得到公式:
=SUMIFS(C3:C14,H3:H14,K3,I3:I14,L2)
到这里基本上已经完成了,需要的就是填充公式,并锁定相关的函数引用区域即可,或者直接变成动态数组公式:
=SUMIFS(C3:C14,H3:H14,K3#,I3:I14,L2#)
最后总结
经过一系列的努力与尝试,小王成功地解决了《车辆订单明细表》中日期提取与格式化、分类提取以及汇总求和的问题。他利用WPS表格中的AI助手“灵犀”,逐步克服了数据整理过程中的各种障碍。首先,通过正则表达式提取了备注中的日期信息,并用公式将不同格式的日期统一转换为标准格式(YYYY/MM/DD)。
其次,针对订单备注中的关键词“维修”和“订金”,设计了条件判断公式进行自动分类。在完成数据清理与分类后,小王又利用UNIQUE函数去除了重复的日期和分类项,并借助TRANSPOSE函数实现了数据转置。
最终,通过SUMIFS函数完成了基于特定条件的金额汇总,实现了自动化数据分析。整个过程不仅提高了工作效率,也为小王提供了宝贵的经验教训,展示了现代办公软件结合AI技术的强大功能。