公式还是宏?
公式随数据重算、属于表格;宏重放固定流程、属于按下运行键的那一刻——算答案用公式,自动化杂务用宏,永远不要自动化仍需思考的东西。
Elysia Tools
导航
Workflow Playbook
把公式当代码,配上完整工具链——用常用函数与操作符构建公式、对真实单元格值求值并解释其引用、展开并反向翻译 Excel 365 动态数组公式(LET、LAMBDA、MAP、REDUCE)、把一切重复劳动升级为生成的 VBA 宏。
专题
电子表格公式具备代码的一切属性——写一次、跑多次,像代码依赖 import 一样依赖引用,引用漂移时静默失败。代码有而公式通常没有的,是工具链:构建器、调试器、给密集继承件的反编译器,以及把重复升级为自动化的途径。本工作流就是这条工具链。它从软件工程借来的纪律不多但够用——装配前谈定逻辑,立即对真实数据验证,绝不未经阅读就继承逻辑,只自动化被重复证明固定的东西。
“看着对”的公式与“真的对”的公式之间,恰好隔着一个错误引用,而求值器就是为了关掉这道缝。拿真实单元格值——脏的也算——跑公式,读它解释的结果连同引用与依赖,一个貌似合理的公式就变成了经过验证的公式。能回本的习惯在时机:公式一建成就求值,此刻意图新鲜、错误区间是两秒钟的修复;等表格报错再求值,同一个错误区间藏在三周别人的改动下面,还要牵连别人的编辑。
Excel 365 的 LET、LAMBDA、MAP、SCAN、REDUCE、MAKEARRAY 把变量、函数定义与高阶操作带进了网格——强大,对没写过它们的人也相应地不透明。反向翻译器把这种不透明当作可解的问题:它展开公式,把它复述成审阅者跟得上的平实步骤。使用它的两条规则——展开为理解、注释为保留——因为带命名阶段的完整形态重算高效,展开形态是给读的人;两者之间的转换不该让任何一方失去自己的版本。
宏是一份承诺——宣告某流程的步骤固定、顺序正确、中间不需要判断。这份承诺由重复挣得,不由乐观挣得:每周一模一样的导入值得冻结;随数据而变的清理值得留给人。生成器按写明的流程产出 VBA,验收也很严格——宏在副本上运行、严格执行列出的步骤、不带任何破坏性搭车。超出授权的自动化不是自动化,是带键盘快捷键的事故。
本页做的是逻辑工程——构建、求值、翻译、自动化。把逻辑安装进工作簿——公式沿列下填、公式单元格上锁、输入端设闸——属于工作簿装配工作流。把数据装配成报表与仪表盘是报表包工作流,外部数据搬进是摄取工作流,填充设计好的模板是模板生成工作流,修理受损表格结构是清洗工作流。公式在这里工程完成,然后交给掌管它栖身之所的那一页。
工作流指南
等计算的逻辑与边界情形都已敲定,再用常用函数与操作符装配公式——构建器是装配工,不是设计师。
对样例单元格值运行公式,读解它解释的结果、引用与依赖——这是趁意图还新鲜抓住错误引用的早期调试。
在接手、审阅或升级函数化变深的表格逻辑时,把 Excel 365 的 LET/LAMBDA/MAP/SCAN/REDUCE/MAKEARRAY 公式展开并反向翻译成平实语言步骤。
为以同一方式反复执行的流程生成 VBA 宏——当步骤凭固定顺序挣得资格时,把它们冻结成一个可运行的动作。
公式随数据重算、属于表格;宏重放固定流程、属于按下运行键的那一刻——算答案用公式,自动化杂务用宏,永远不要自动化仍需思考的东西。
公式一建成就对样例单元格求值,趁意图还新鲜抓住错误引用;等表格报错再调,就要隔着好几层别人的改动找病因——早验证花几秒,晚验证花一下午。
LET/LAMBDA 公式展开后的可读形态,是给正在弄懂它的人——半年后的你,或你的同事;带命名阶段的完整形态,是给必须高效重算的表格——展开为理解,注释为保留。