公式体检:读懂会算的模型

一份自造的季度预算工作簿(4 张表、121 个对象、124 条依赖关系)。下面的判据、依赖树和过期传播全部由你的浏览器当场重算——没有后端,不上传任何东西,也不是截图。素材是教学卷,不是真实客户数据。

Live · 本页加载时计算
对象
依赖关系
机器约束可判定
error
warning
与案例包记录比对

数据来源:cases/xlsx-budget-model-audit.origin/graph/ 里的 objects.jsonl / relations.jsonl / constraints.json / limits.json 原样打包(demo-xlsx/data.js),判据、追踪、传播逻辑在 demo-xlsx/engine.js 里按 Node 原件重写。页面底部有「浏览器重算 vs 案例包记录」的逐字比对。

Workbook

工作簿视图

点任意格看它的字段;点公式格可追依赖
errorwarning依赖链上缓存值已过期被改动的输入格ƒ 公式格
点一个格子。
Diagnose

判据结果

    Trace

    这个数凭什么是这个数

    
          
    Stale

    改一个数,看谁变脏了

    本象不重算公式(边界 xlsx-no-recalc)。它做的是另一件事:顺着依赖图正向传播,把「缓存值已经不可信」的公式格全部点名。
    下面看到的 假设!B3 当前值 0.06 已经是案例包定稿状态——案例历史记录着它由 0.05 改到 0.06 那一次(README 里描述的正是这次改动),本页不重演那一次,而是让你现在再模拟一次新的改动,看传播会怎么发生。

    当前
    还没有改动。
    Self-check

    浏览器重算 vs 案例包记录

    案例包里由 Node 命令行生成的三份产物(projections/diagnose.txtstale-after-tx.jsontrace-汇总-B3.txt)也被原样打包进了 data.js。页面加载时把浏览器算出的文本与它们逐字比对,任何一处不一致都会在这里显示出来——不一致就说明本页实现有错,不是案例包有错。

    展开浏览器算出的 diagnose 原文

    不能推出

    这台机器保证不了什么(graph/limits.json 原文)

    复核命令(仓库根目录):node compiler/cli.mjs diagnose cases/xlsx-budget-model-audit.origin · node adapters/xlsx/trace.mjs cases/xlsx-budget-model-audit.origin "汇总!B3" --depth 8 · node website/zh/demo-xlsx/verify.mjs(本页引擎与案例包记录的逐字比对)。完整案例包 ↗