夜雨聆风学习资料网

ARTICLE · 1158522

从 Excel、VBA、SQL 到一款本地审计助手:我的内审工具实践

从 Excel、VBA、SQL 到一款本地审计助手:我的内审工具实践

做内部审计,常常需要在业务资料和数据清单之间来回核对。拿到一批表格之后,合并、整理、计算、汇总,每一步都要认真完成。其中一些操作,也会在不同项目中反复出现。

我一直在想:已经做过、核对过的方法,能不能留下来,让下一次工作少一些重复准备?

从使用 Excel,到编写 VBA、SQL,再到借助 AI 开发本地软件,我逐步把这些积累整理成了一款本地审计助手。目前,它已经用于日常内审工作,也仍在随着使用反馈持续完善。

展示说明: 本文记录个人在内部审计数字化方面的学习与实践。软件已形成较为丰富的功能体系,考虑到内部审计工作的特殊性,部分功能及具体业务模型不便公开展示,本文仅选取部分通用功能进行介绍。文中界面均经过简化和脱敏处理,文档及结果示例均为虚构,不展示实际业务数据、内部审计规则和具体检查方法。本文不提供软件下载、试用或对外注册,软件仅在内部使用。

图1|软件工作台,保留实际界面布局,模型名称与说明为通用演示标签。

一、工具的起点,是日常工作中的重复操作

最初,我做的事情是把 Excel 用熟。函数、透视表、数据验证,以及各种整理表格的操作,帮助我更快地完成数据核对和统计,也让我逐渐形成按步骤处理问题的习惯。

当相同操作反复出现时,我开始编写 VBA:合并同格式文件、整理清单、按条件拆分表格,把原来需要多次点击的步骤交给程序执行。写宏的过程,也促使我重新梳理工作:哪些步骤可以固定,哪些情况必须单独处理,遇到不规范的数据又该怎么办。

数据量更大、表格之间的关系更复杂时,我进一步使用 SQL。多张清单的关联、批量查询和统计汇总,让一些原本繁琐的处理变得更有条理。与此同时,我也更重视字段含义、统计范围和例外情况:查询能运行,并不意味着结果就可以直接使用。

2023年,我围绕《Excel、VBA编程和SQL数据库在审计实务中的应用》做过专题交流;2024年的农业保险数据治理审计交流,又推动我将分散的处理方法整理成更完整的分析思路。

这些经历积累下来的,既有公式和代码,也有对业务和数据的理解。 后来开发软件时,我需要反复回到这些基础:输入是什么,结果代表什么,怎样才能回到原始资料复核。

二、借助 AI,把方法做成本地工具

接触 AI 辅助编程之后,我开始借助 Codex 等工具梳理逻辑、编写代码、构造测试样例和改善界面。不少原本需要反复查资料、试错的开发工作,效率明显提高。

我也尝试将常用任务整理成 Skills。可以把 Skill 理解为交给 AI 助手的一套任务说明和配套工具:说明需要什么输入、执行哪些步骤、按什么形式输出。这样,一些稳定的方法就能重复使用,减少每次重新描述需求的工作。

一个自然的想法是:直接让 AI 助手处理清单,包括自己调用skills进行数据处理。但在审计场景中,数据去向必须先想清楚。使用联网 AI 助手时,需要了解哪些内容可能进入模型上下文、工具调用或日志。Skill 本身并不决定数据是否外传,具体边界取决于运行环境和使用方式。

因此,我选择将经过核对的方法进一步落实为本地程序:开发环节借助 AI,日常清单分析由本机程序执行。 软件在本地读取清单、完成计算并导出结果,这些分析步骤无需向在线大模型提交业务数据。

AI 帮助我完成了不少开发工作;业务需求的拆解、分析口径的确认、结果的复核和使用反馈的取舍,仍需要我自己持续投入。遇到一个结果,我需要能够解释它的来源,判断它是否符合原来的工作目的。

做成本地软件,也让原来分散在公式、宏和SQL查询中的步骤有了统一入口,便于在后续工作中继续使用和完善。

三、把分散的数据处理连接起来

目前,软件的分析功能主要围绕农业保险审计中的实际需要展开。我更关注的是,一项工作能否从资料准备顺畅地走到结果复核。

在数据处理方面,软件将清单读取、数据检查、辅助分析和结果导出连接起来。使用者可以先确认输入资料,再查看分析结果,并将需要继续核查的记录整理出来。原始清单与分析输出分别保存,方便回到来源核对。

图2|通用工作流程示意,具体分析条件和内部规则不在图中展示。

我也逐步补上了日常使用中的细节,例如结果预览、数据问题提示和常用操作的衔接。这些功能看起来不大,却关系到工具能否稳定地融入工作。

一个应用片段:赔付数据分析

以赔付数据分析为例,审计人员有时需要从不同角度观察业务数据,再结合相关资料交叉核对。传统处理往往涉及多张清单的整理、关联、统计和汇总,某一步需要调整时,后面的计算也要重新检查。

针对这类重复性较强的需求,我把已有的分析思路整理为程序功能。准备相应清单、核对输入后,软件完成相关数据处理,将需要进一步关注的记录汇总展示,并支持继续分析和导出。

这样形成的结果,可以成为后续核查的起点:审计人员能够带着整理好的记录回到业务资料中复核,也便于在工作底稿中保留分析过程。

相关记录是否真正存在问题,仍需要结合业务背景、适用依据和实际证据判断。我希望软件承担更多重复的数据处理工作,让自己把更多精力放在理解业务、核实情况和形成审计判断上。

图3|辅助分析结果展示示意。图片为虚构演示,不涉及实际业务数据及内部审计规则。

四、把资料查阅也放进工作流程

分析清单之外,审计中的另一项高频工作是查找制度依据:文件在哪里,具体条文怎么写,检查期间适用的是哪一版。当资料分散在不同文件夹中时,查找、阅读、摘录和版本核对往往需要花费不少时间。

因此,我在软件中加入了本地农业保险制度库,将资料检索、原文阅读和日常维护整合到同一个工作环境中。

在资料查找方面: 支持按照发布层级、效力状态、适用地区和业务标签等条件筛选,也可以通过文件标题、文号或正文关键词进行搜索。对于支持文本检索的 PDF 文件,能够显示关键词命中位置,并直接跳转到原文对应页,减少反复翻找资料的时间。

在资料阅读方面: 内置 PDF 阅读器,支持页码跳转、关键词查找、文字选择与复制,并可保留阅读位置,方便后续继续查阅。同时,可以查看同一制度关联的历史文件,辅助核对不同版本。

在资料管理方面: 支持批量导入 PDF、补充文件信息、关联历史版本和维护常用制度,也可以通过资料包更新基础库,让常用资料逐步得到整理和积累。

找得到、读得顺、查得回,是我对这项功能的基本期待。 软件可以帮助提高资料查找和阅读效率,但制度的效力、适用期间以及具体条文是否适用,仍需要审计人员结合实际情况核实。

图4|实际检索与阅读界面的局部组合,演示文档为虚构内容。

五、让工具适合日常使用

除了核心分析功能,我也逐步完善软件的日常使用体验,包括内部注册与授权管理、常用参数设置等,让工具不仅能够完成分析任务,也更加方便日常使用。

内部注册与授权。 软件采用本地授权机制,对审计模型的使用进行管理,相关授权操作不涉及业务清单上传。同时,制度库支持独立使用。不提供软件下载、试用或对外注册,软件仅在内部使用。

设置。 可以指定默认结果保存目录,选择是否记住上次导入位置,重启后继续沿用,减少重复选择文件夹的操作。

图5|把常用设置集中起来。图中的授权及机器信息均来自隔离的模拟演示环境。

六、开发体会与下一步探索

做这款工具的过程,让我更加认识到,业务理解、数据分析和程序开发需要相互配合。写出代码只是其中一步,使用中出现的数据差异、例外情况和理解偏差,都需要继续修正。

对我而言,最值得保留的是这套工作习惯:先把需求说清楚,再把处理过程拆开,用样例核对结果,回到实际使用中观察是否还有遗漏。每次完善,都尽量让输入更明确、结果更容易解释、来源更方便复核。

软件仍在持续优化。目前,我会继续完善农业保险相关功能和资料查阅体验;后续也希望结合自己的学习与工作积累,逐步探索商业保险、财务、综合、反洗钱等业务领域的数据分析需求。这些是个人后续探索的方向,具体功能将根据实际需要和验证情况推进。

从 Excel 到本地软件,工具的形式在变化,我想解决的问题一直很具体:让已经积累的经验能够继续发挥作用,让反复进行的数据处理更有条理。

这款助手,是我在这条路上的一项阶段性成果,也是下一步继续学习和完善的起点。


关于作者:HeatonHsu,中国准精算师、国际注册信息系统审计师。从事内审工作,具有统计学学习背景,持续探索业务经验、数据分析与技术工具在内部审计中的结合。

平时喜欢折腾 AI:用它写代码、做工具、整理知识,也乐于把这些尝试用到实际工作中。

如果你也对 AI、数据分析或审计数字化感兴趣,欢迎相互交流。

相关学习资料