三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

财务小姐姐的RPA初体验:零代码用UiPath把Excel数据汇总效率提升10倍

财务小姐姐的RPA初体验:零代码用UiPath把Excel数据汇总效率提升10倍

财务小姐姐的RPA初体验:零代码用UiPath把Excel数据汇总效率提升10倍

作为财务部门的"Excel表姐",每个月最头疼的就是处理来自13个银行账户的流水数据。记得第一次接手这个任务时,光是核对不同格式的表格就花了整整两天,眼睛盯着屏幕直到发酸。直到同事推荐了UiPath这个"数字员工",才发现原来重复性工作可以如此优雅地交给机器人完成——而这一切,完全不需要写一行代码。

1. 财务人的Excel噩梦与自动化曙光

财务部小王每月1号都会收到13个分公司的银行流水Excel,需要手动完成以下操作:

  1. 按月份筛选各账户交易记录
  2. 分别计算借贷方总额
  3. 制作透视表汇总净收支
  4. 按差额排序生成最终报表

这个过程中最折磨人的是:

  • 各分公司表格格式不统一(有的用"日期"列名,有的用"交易时间")
  • 金额单元格常混入文本备注(如"含手续费¥15")
  • 手工排序时容易错选数据范围

传统操作耗时统计

操作步骤平均耗时错误率
数据清洗2.5小时23%
透视表制作1小时15%
最终校验0.5小时8%

提示:80%的财务错误发生在数据搬运和格式转换环节,这正是RPA最擅长的领域

第一次看到UiPath的录制功能时,就像发现了新大陆。只需要像录屏一样操作一遍Excel,机器人就能记住所有动作。不过很快发现,简单的录制无法应对实际工作中的复杂情况...

2. 零代码入门:UiPath三大神器实战

2.1 录制器:小白的第一块敲门砖

通过"录制器"自动生成的操作流程:

1. 打开【银行流水.xlsx】 2. 选择【1月】工作表 3. 选中A1:D100范围 4. 插入透视表 5. 拖拽【借方金额】到值区域

但实际应用中会遇到:

  • 工作表名称随月份变化(1月/2月...)
  • 数据范围不固定(上月80行,本月120行)
  • 表头位置可能偏移

解决方案

  • 使用"相对选择"代替绝对定位
  • 添加"查找数据表"活动自动识别范围
  • 配合"文本存在判断"处理异常情况

2.2 模板库:现成方案的宝藏库

UiPath官方模板中最实用的三个财务模板:

模板名称适用场景改造难度
Excel数据提取多表格合并★☆☆☆☆
银行对账借贷方匹配★★☆☆☆
报表生成定时发送★★★☆☆

注意:直接使用模板时要检查Excel版本兼容性,特别是.xls和.xlsx的区别

2.3 数据表操作:处理复杂结构的利器

当遇到含合并单元格的报表时,这段配置就派上用场:

dt = ReadRange("Sheet1", "A1:D100") dt.Columns("金额").Expression = "REPLACE([金额],'¥','')" dt = dt.Select("[日期] >= #1/1/2023# AND [日期] <= #1/31/2023#")

3. 踩坑日记:那些教科书不会告诉你的问题

3.1 双引号引发的血案

第一次运行时出现的报错:

Error: Invalid character in 'select * from [Sheet1$A1:D100]'

原因竟是中文引号与英文引号混用。解决方法:

  1. 在Notepad++中检查所有引号
  2. 使用UiPath的"转义字符串"活动
  3. 设置默认输入法为英文状态

3.2 表头识别失败的应急方案

当遇到非标准表头时,可以:

  • 添加"重试机制"循环尝试不同列名组合
  • 使用列索引代替列名(如Col(1)代替"金额")
  • 配置备选表头字典:
{ "金额": ["Amount","交易额","金额(元)"], "日期": ["Date","交易日期","时间"] }

3.3 异常值处理的三种策略

针对金额栏可能出现的异常情况:

  1. 文本清洗:正则表达式提取数字\d+\.?\d*
  2. 缺省值处理:空值自动填充为0
  3. 错误拦截:发现异常时弹出确认窗口

4. 从玩具到工具:打造生产级自动化流程

4.1 参数化设计:让机器人真正通用化

将硬编码改为可配置参数:

  • 文件路径 → 通过启动参数传入
  • 月份筛选 → 自动获取系统上月日期
  • 输出格式 → 配置文件预设模板

参数表设计示例

参数名类型默认值说明
InputFolderStringC:\BankData输入目录
OutputNameString月度汇总_{MM}月输出文件名

4.2 错误处理:给流程装上安全气囊

必须添加的三种错误处理机制:

  1. 文件不存在时自动下载邮件附件
  2. 数据校验失败时发送Teams通知
  3. 流程超时后自动生成诊断报告

关键代码块:

Try dt = ReadRange(...) Catch ex As Exception Log.Error($"读取失败:{ex.Message}") Retry(3) // 最多重试3次 End Try

4.3 部署技巧:一键运行的终极形态

最终打包方案:

  1. 创建独立快捷方式
  2. 设置每天9:00自动触发
  3. 输出日志自动上传SharePoint
  4. 添加语音提示:"报表已生成啦~"

现在每月1号上午,我的工作变成了:

  • 泡一杯咖啡
  • 双击"财务汇总"图标
  • 检查机器人生成的日志 整个过程不超过10分钟,而过去需要花费4小时。最惊喜的是,自从使用RPA后,月末对账差异率从6%降到了0.3%。
← 返回列表