房地产项目可行性研究报告财务测算附表
建模 · 校核 · 调优 — 21 张表 Excel 财务模型的标准做法与确定性工具
这个技能做什么
两条主线,共用一套口径与勾稽标准:
- 搭:用户给原始资料(用地、面积、售价、成本指标、融资条件),独立搭出一套完整、可直接使用的财务附表。
- 校:用户给现成附表,把 21 张表当成一个闭合的会计系统来验——先确认口径,再验勾稽,再定位偏差,最后做定向修改并复算。
核心不是"会算 IRR",而是知道每个数字该从哪张表来、受哪条税法约束、改了会连带哪些表。
何时启用
出现下列任一情形即加载本技能:
- 用户给原始基础数据,要求"做一套财务附表 / 财务分析表 / 测算表" ← 走能力二
- 用户给出
.xlsx财务附表,要求"核查有没有计算错误 / 勾稽错误" ← 走能力一 - 要求改口径、改参数、重建某张表(如资产负债表、现金流量表、敏感性表)
- 问"为什么 IRR 反而降了""怎么才能把税后 IRR 拉到 3.5% 以上"
- 涉及增值税抵减、土地增值税、建设期利息、借款还本、回收期、FNPV、临界点
- 需要把手工敏感性分析改成可自动重算的结构
不适用:政府投资项目可研报告正文撰写(用 feasibility-study-kit);只要三个指标不要明细的快速测算(用 feasibility-finance-calc);纯商业计划书式的经营分析看板(本技能只做可研口径的财务附表)。
铁律(先读,违反即返工)
- 表号必须带表名。写「表2「总投资估算表」」,不写「表2」。表号按工作簿工作表顺序计:表1 指标表、表2 总投资估算表 …… 表21 文本。
- 核查范围只到边框内。边框外的草稿区不核对;但草稿格若被正式格公式引用,必须一并验证。
- 先备份再动手,命名
原名_改前备份_YYYYMMDD_HHMM.xlsx,与源文件同目录。 - 用户说"只答不改"就一个字都不写盘。给结论、给方案、给影响测算,等指令。
- 口径优先于数值。任何"数不对"先问"这个数该不该这么算",再问"算得对不对"。税务口径错 1 个百分点,比任何公式笔误都严重。
- 改完必须复算并报锚点:总投资、税前 IRR、税后 IRR、税后 FNPV、资本金 IRR,五项缺一不可。
- 不用"看起来合理"下结论。每个判断要落到单元格地址与公式。
- 新建模型时,除参数区外不留硬编码。任何一个金额都要能一路追溯到参数或明细行;能改一个参数就联动全表的,才算搭完。
- 同一个数只能有一个来源。利息链:表4 资本化部分 + 表9 费用化部分 = 表17 付息合计,表2 A203 = 表4 合计;临界点链:表19 E 列引表20 G 列。同一个指标在两处出现不同数值就是错的,不要用"口径不同"解释过去。
- 既有项目的结构型口径只能沿用,不能"顺手优化"。克隆或改表时,下列三类一律照抄,要改先问用户:① 公式形态——契税 3% 与印花税 0.025% 必须分两行算,不许合并成 3.025%;② 分年结构——表6「项目总投资使用计划与资金筹措表」K:N 列的分年流出比例(土地 1/0/0/0、地下 0/1/0/0、建设工程 25/20/30/25、配套 5/60/20/15……)只挪时点不改总额,改了所有静态勾稽照样通过、只有 IRR 变;③ 折减位置——表8「营业收入、营业税金及附加和增值税估算表」车位数量是物理个数不折减,0.6 乘在销售比例上。这三类改错,勾稽查不出、错误格是 0,只有和上一版逐格对比才看得见。
- 只改交付物,不改资料。用户提供的成本测算表、强排方案、营销定价表是输入,里面的问题(单方分母被已单列的面积摊薄、计算项名与真实取值不符、同一科目出现多个面积口径)只识别、只记录、只在模型里避开,一个格子都不动源文件。改了就没有比对基准,也说不清是谁改的。用户说"会识别就行"时,连"建议改"都不要提。
- 资料对不上时,金额优先、单方存疑。判据顺序固定:① 金额相同只有单方不同 → 分母问题,记录即可;② 金额不同但能逐项解释 → 口径差异,问用户;③ 单方是派生指标,永远不作为修改依据。用户说"总金额差不多、单项不调整"之后要真的停下来,不要换个说法再提一遍。
能力一 · 校核与调优(从既有表出发)
Step 0 · 备份与只读侦察
cp "<源文件>" "<源文件>_改前备份_$(date +%Y%m%d_%H%M).xlsx"
先只读地把结构摸清,不要边看边改:
python scripts/dump_sheet.py "<book.xlsx>" --all --max-rows 45
python scripts/dump_sheet.py "<book.xlsx>" "总投资估算表" --rows 1-200 --cols B-L
dump_sheet.py 同时打印公式与缓存值,是定位"数从哪来"最快的手段。
Step 1 · 建立表—指标映射
按 references/01-表体系与勾稽.md 的顺序,逐表确认三件事:
| 确认项 | 判断方法 |
|---|---|
| 这张表的输入从哪来 | 看公式引用的是哪张表的哪个区 |
| 这张表的输出流向哪 | 全簿搜索 表名! 反向定位下游 |
| 表内小计/合计是否覆盖全部分项 | 抽查两行,看合计是否等于区间求和 |
把结果写成一张映射清单留在手上,后续每改一处都要回查这张清单。
Step 2 · 跑勾稽
把恒等式写成可执行检查,一次性跑完,不要靠眼看:
python scripts/check_gl.py "<book.xlsx>" checks.json --tol 1.0
checks.json 用"表达式 = 表达式"的写法,支持跨表引用 表名!单元格:
{"checks": [
{"name": "总投资=建设投资+建设期利息+流动资金",
"expr": "总投资估算表!G195",
"equals": "总投资估算表!G189+总投资估算表!G191+总投资估算表!G193"},
{"name": "增值税恒等式",
"expr": "(营业收入、营业税金及附加和增值税估算表!F6-营业收入、营业税金及附加和增值税估算表!F40)/1.09*0.09",
"equals": "营业收入、营业税金及附加和增值税估算表!F39-营业收入、营业税金及附加和增值税估算表!F44",
"tol": 0.05},
{"name": "资产=负债+所有者权益",
"expr": "资产负债表!D5", "equals": "资产负债表!D15", "tol": 0.01}
]}
标准清单见 references/06-校核清单.md,可直接改单元格地址后复用。
Step 3 · 出问题清单(分级)
按三级出清单,每行都要有单元格地址、现状值、应为值、影响:
| 级 | 含义 | 处置 |
|---|---|---|
| A | 计算错误、勾稽不平、税务口径违法 | 必须改,改完复算 |
| B | 参数/假设选择(利率、去化率、折现率) | 只提示,由用户定 |
| C | 表述、注释、展示口径 | 可改可不改 |
用户明确说"B 类是我自己设的参数,全部忽略"这类话后,后续轮次不再重复提 B 类。
Step 4 · 定向修改与复算
修改纪律:
- 一次只动一个因果链。改供电容量就只动容量及其下游,不要顺手调别的。
- 改前算影响:先在副本上试算,报"总投资 +62.84 万元、税后 IRR 3.35%→3.28%",用户认可再落盘。
- 改后必复算:
CalculateFullRebuild(),不是CalculateFull()(后者会漏刷跨表依赖)。 - 报表级联动自查:搜索该单元格被哪些表引用,逐一确认新值合理。
详细 Excel 操作坑(COM 写入、列宽偏移、底色 BGR、WPS 抢锁等)见 references/05-Excel操作要点.md,动手前务必读一遍,这些坑每一个都会让你白跑一轮。
Step 4B · 达标测算(用户问"怎么才能到 3.5%"时走这里)
不要直接给方案。固定四步:
- 锁约束:收入端 / 成本端 / 资金流出计划能不能动。三项全锁就只剩改投资总额,这句结论要放在第一句。
- 算缺口:二分法求"使 IRR = ic 所需的总投资削减额",不要线性外推——利润薄的项目 IRR 曲率大,外推误差能有两成。
- 换科目口径:预备费按
(工程费+二类费−土地费)×5%联动,削减工程费 x 实际降总投资 1.05x,所以所需工程费削减 = 缺口 ÷ 1.05。直接拿缺口去削工程费会多削 5%。 - 筛落点:按"可压缩基数"算需降幅度,不看科目总额(二类费用常被土地费用占满 80% 以上);剔除本身是计算结果的科目(预备费、建设期利息)。
方法论、杠杆换算系数与话术模板见 references/09-达标测算与杠杆选择.md。
提方案时必须同时给出达标后的临界点。只说"已达 3.5%"而不说"投资再超 0.43% 就跌回去",等于隐瞒风险;评审一旦自己算出来,整份报告的可信度都要打折。
Step 5 · 交付
交付物固定三件:
- 变更清单:表号+表名、单元格、原值 → 新值、依据
- 锚点指标前后对比:总投资 / 税前 IRR / 税后 IRR / 税后 FNPV / 资本金 IRR
- 备份路径 + 未处理事项(含被锁、被忽略、待用户决策的)
能力二 · 数据建模与表格搭建(从原始数据出发)
用户给的是原始资料(用地指标、售价、成本、融资条件),要求"做一套财务分析表 / 附表"时走这条线。产出的表必须与能力一的校核标准同构——能被 check_gl.py 直接验,能被 06 清单逐条过,能被用户拿去改参数继续用。
方法论全文见 references/07-从原始数据搭建模型.md,提问与采集流程见 references/08-新项目数据采集与提问.md,此处只给主流程。
Step 0 · 数据采集(先问,再动手)
接新项目的第一句话不是"我来搭表",是"我需要这几项资料"。 顺序固定:先结构、后规模、再价格、最后单价。
第 1 轮只问三个选择题(决定表结构,问错后面全白做):
| 问题 | 选项 | 影响 |
|---|---|---|
| 业态怎么拆? | 沿用五类(普通商品房/洋房11F/洋房6F/商业/车位)|三类|两类|仅住宅 | 表 7 行数、表 2 工程小类 |
| 计算期几年、投资与销售各年怎么分布? | 计算期 n 年 + 投资强度按年(如 45/22/20/13)+ 销售比例按年(如 0/0/82/18)+ 利息资本化年数 | 年度列数、IRR/NPV 区间、表 16 还本节奏、表 19 插值锚区间 |
| 融资口径? | 借款总额第 1 年投放(其余由资本金补足)|按资本金比例逐年反算|全额资本金|另给数 | 表 4/6/11/16 与调整所得税 |
第二个问题不是「建设期几 + 运营期几」。 房地产项目的投资支出一直压到销售年,销售一启动就要还本,两件事同年在发生——金地北第 3 年既有 1.15 亿元建设投资,又卖出 82%、还本 8,200 万元。所谓「建设期」在这类项目里有三个互不相同的含义:利息资本化年数(2 年)、投资支出年数(4 年,与计算期同长)、销售去化年数(第 3~4 年)。问成一个「2+2」就把模型时序做错了。
第 2~4 轮把细节做成清单让对方填,不要口头问 169 个数:
python scripts/scaffold.py --template 既有附表.xlsx --intake 新项目参数填报清单.xlsx
# 对方只在 E 列填有变化的项,其余留空即沿用
python scripts/scaffold.py --template 既有附表.xlsx --apply 新项目参数填报清单.xlsx --clean --out 新项目附表.xlsx
清单 169 项分四类:指标表参数 10、表 2 单价 144、表 2 数量 54、表 7 价格与比例 10。表 7 的均价入口在 L 列草稿区、销售比例入口在指标表分年计划,问错格子白改;且表 7 收入公式只铺在销售期那几列,比例填到建设期年份不产生任何收入。
缺失项三档处置:用户说沿用→保留模板值并写进交付说明;同城有可比项目→类比取值并在「文本」表注明;完全无依据→取 0 并列「待补」清单,不臆造。但「数量型参数」与「比例型参数」都不适用「沿用」这一档——电梯台数、变压器台数与容量、产权登记个数、围墙长度、人防面积这类只能从资料某一格抄来的计数,以及车位去化折减 0.6、分年去化节奏、自持比例这类"分母是物理量、分子是经营判断"的比例,资料缺项时必须向用户提问(模板值属于模板项目),详见 references/08 第七、八节。
输入清单(缺项先问,不臆造)
| 类别 | 必需项 |
|---|---|
| 用地与规划 | 用地面积、容积率、总建筑面积、计容/不计容、可售面积(分业态)、户数、车位数、电梯台数(分业态) |
| 销售 | 分业态售价、分年去化节奏、车位价格、销售期年数 |
| 成本 | 土地出让金与地下空间使用费、建安单方、前期费、其他费、预备费率 |
| 税费 | 增值税率、附加率、土增税口径、所得税率 |
| 融资 | 资本金比例、借款额、利率、期限、还款方式、投放节奏 |
| 时间与基准 | 建设期年数、销售期年数、基准收益率 ic |
缺项先问,问的时候给建议值与依据;能从同期同城项目反推的,直接给区间。
搭建八批(严格按依赖拓扑,不跳批)
| 批 | 建什么 | 完成后立即验证 |
|---|---|---|
| 1 | 参数与指标(表1、参数区) | 面积口径闭合:计容 + 不计容 = 总建筑面积 |
| 2 | 投资(表3 → 表2) | 建设投资 = 工程费 + 其他费 + 预备费 |
| 3 | 融资(表6 → 表4 → 表17) | 资本金 + 借款 = 分年投资 |
| 4 | 收入与税(表8) | 销项 = 含税收入 ÷ 1.09 × 9%;抵减 = 基数 ÷ 1.09 × 9% |
| 5 | 成本与损益(表10、表11、表9 → 表12) | 利润总额 = 收入 − 税金及附加 − 总成本;总投资利润率 = 利润总额 ÷ 总投资 |
| 6 | 支出计划(表7) | 第 1、2 年总投入 = 表6 同期,分毫不差;总投入 = 总投资 + 期间费用 + 税费 |
| 7 | 现金流与报表(表13、表14 → 表15 → 表16) | 资产 = 负债 + 所有者权益 |
| 8 | 分析与输出(表18、表19、表20、指标汇总) | 表19 基准列 = 表13 税后 IRR |
表7 排在第 6 批而不是跟表号一起排在第 3 批,是因为它同时依赖表6(分年投资)、表9(销售费用与销售期利息)和表8(税费)——那三张没建完,它只能是空壳。
不要全部搭完再校。每批收口验一次,错在哪批一目了然。
骨架生成
先问一句:手上有没有同类型的既有附表?
# 路径 A(推荐)· 模板克隆:值、样式、图表、条件格式、模拟运算表原样保留
python scripts/scaffold.py --template 既有附表.xlsx --params p.json --out 新项目.xlsx
# 顺手清掉模板里的零影响错误格(单价除零、#REF! 草稿),一次到位
python scripts/scaffold.py --template 既有附表.xlsx --params p.json --clean --out 新项目.xlsx
# 看模板里哪些格是参数
python scripts/scaffold.py --template 既有附表.xlsx --list
# 路径 B · 从零绘制:无模板时按源文件版式起 20 表骨架
python scripts/scaffold.py --params p.json --out 新模型.xlsx
路径 A 只替换 cells 里点名的参数格(如 "指标表!F3": 45000),其余全部沿用模板公式——改一处参数,21 张表联动。存盘不走 openpyxl(会丢图表),而是复制后直接改 sheet XML,并给 calcPr 打 calcFullOnLoad,开表即重算。实测克隆输出与源文件逐格比对:值差异 0、样式差异 0、67 个压缩包部件全在。
--clean 只动三类零影响格,实测改完指标一位不差:① 表 2 的 J 列 =G/I*10000 在数量为 0 的行除零 → 改 =IF(I=0,0,G/I*10000);② 表 5 打印区外以零作除数的草稿格 → 清空;③ 「文本」表引用已删行的 #REF! 草稿 → 清空。清理前后税后 IRR、FNPV、总投资完全一致。
路径 B 输出:工作表名与顺序、A1 标题(黑体 16,表 1 微软雅黑 Light 18,表 2 黑体 11)、R2 末列「单位:万元」、R3/R4 双层表头(序号 / 项目 / 合计 / 计算期 1..n)、A 列分级序号、C 列合计、宋体 10 + Times New Roman 10、0.00_、行高 20.95、横向 A3、表 12 含「计算指标」区(税前 D 列 / 税后 F 列 × IRR、回收期、动态回收期、FNPV)。明细深度到科目级。
版式一律照抄既有附表,不要按"通用美观"重设——字体、列宽、合计列位置、单位标注位置、纸张,任何一处自创都会让用户认不出这是自家的表。
参数区(表1 右侧或独立「参数与假设」区)是唯一允许出现数字的地方,其余格全部写公式。
独立复算(必做)
python scripts/fsr_calc.py calc.json
不依赖 Excel,从现金流数组重新算 IRR / FNPV / 回收期 / 应纳增值税 / 土地增值税。与表内结果比对,差异 > 0.01 个百分点即视为有错,回到对应批次排查。这一步能抓出 90% 的公式串行错误。
交付自检门槛(十一条全过才算完成)
check_gl.py全部通过;- 06 的六轮清单逐条勾选;
fsr_calc.py与表内指标差异 ≤ 0.01pp;- 除参数区外无硬编码数字;
- 改参数区任一值,全表联动、不出现
#REF!; - 打印预览无跨页断裂,每张表一页宽;
- 表 13 计算指标区四项齐全:税前/税后内部收益率、回收期、动态回收期、财务净现值——只给税前 IRR 属于交付不完整。模板克隆时用
cmp_full.py与源文件逐格比对,值差异和样式差异都必须是 0。 - 利息链条自洽:表4 各年应计利息合计 = 资本化部分,表9 利息支出 = 费用化部分,两者相加 = 表17 付息合计;表2 A203 = 表4 合计;表6 第 6 行分年 = 表4 的 D8/E8。任一处对不上,先查还本时点是否与计息口径匹配。
- 表19 与表20 的临界点同源:表19 E 列四个值 = 表20 G 列四个值的绝对值,一位小数都不差。有差异就是两处用了不同斜率算法。
- 敏感性四因素的驱动范围与名称相符:价格系数覆盖全部业态均价,面积系数覆盖全部业态面积(或把因素名改成单业态),成本系数覆盖经营成本 + 主营业务成本,投资系数覆盖含专项的建设投资。系数绝对值长期低于 1 的因素,八成是驱动范围太窄。
- 表7 支出计划与建设期同源:第 1、2 年总投入必须与表6 同期分毫不差(差一分就是科目映射漏项或重复),总投入与表2 总投资的差额必须恰等于期间费用+税费,占比例合计必须 100%。八类科目里漏掉销售费用或税费,是这张表最典型的错法。
输入规范
| 输入 | 必需 | 说明 |
|---|---|---|
财务附表 .xlsx |
能力一是 | 绝对路径;中文路径与 ★ 等符号可直接用 |
| 原始基础数据 | 能力二是 | 文字、表格、图片、xlsx/docx 片段均可;只要够还原 6 类必需项即可开工 |
| 任务类型 | 是 | 搭建 / 核查 / 修改 / 调优 / 重建单表 |
| 范围限定 | 否 | "忽略表3、5、17、18、19、20"这类,必须严格遵守 |
| 约束条件 | 否 | "不改收入、成本费率和单价"这类硬约束,决定可行杠杆集 |
| 基准参数 | 否 | 折现率、贷款利率、资本金比例;未给则从表内反查,不要臆造 |
参数缺失时的默认动作:先从资料里找(指标表、资金来源、借款计划通常已有),找不到再问,问的时候给出建议值与依据。
输出规范
搭建类:工作簿 + 一页「参数与假设」说明(哪些是用户给的、哪些是我补的、依据是什么)+ 五项锚点指标 + 自检结果(六条门槛逐条打勾)。
核查类:问题清单表(级 / 表号表名 / 单元格 / 现状 / 应为 / 影响 / 建议),末尾一句话总结"共 N 项,其中 A 类 M 项"。
修改类:变更清单 + 锚点前后对比 + 备份路径。
调优类:杠杆方案对比表(杠杆 / 调整幅度 / 税后 IRR / FNPV / 副作用),并明确指出哪个杠杆无效——房地产项目里"调借款额度"对融资前 IRR 完全无效,这类结论比有效方案更省时间。
答问类:先给结论句,再给推导(含数字),最后给"如果要改,改哪里"。
金额单位默认万元、保留两位;比率保留两位小数并带 %;年份写"第 1 年"不写"2027 年"(模型是相对年份)。
经验判断(省时间的几条)
- 利润薄的项目,投资端比收入端更敏感。税后 IRR 3%~4% 时,建设投资临界点常在 0.3%~0.5% 量级,销售价格 0.6%,而经营成本要 7%~12%。排序反直觉是正常的,不要以为算错了。
- "总利息"不等于"建设期利息"。甲方说的总利息通常覆盖建设期 + 销售期,资本化的只是前一段。金地北总利息 700 万元 = 10,000 × 3.5% × 2 年,但资本化只有 525,剩下 175 落在销售期必须费用化。拿到总利息先做除法反推计息年数:
总利息 ÷ 借款额 ÷ 利率;再倒推放款时点:还本时点 − 计息年数。金地北倒推出来是第 1 年年中放款,这正是当年利息要写=D7*F7/2的原因。 - 预备费会跟着工程费一起降。预备费基数通常是
(工程费 + 二类费 − 土地费) × 5%,所以削减工程费 x 会让总投资降 1.05x。算"需要削减多少工程费"时要除以 1.05,直接拿投资缺口去削会多削 5%。 - IRR 对支出时点极敏感。ic=3.5% 时,1000 万元从第 1 年推到第 2 年,现值增加约 32.7 万元;推到第 3 年 64.2 万元;第 4 年 94.7 万元。缺口 100 万元只需后移约 3000 万元支出。等价关系:某年投资后移一年 ≈ 该年投资削减
ic/(1+ic),3.5% 时为 3.38%。 - 改融资方案不动项目投资 IRR。表13 调整所得税的基数是息税前利润(利润总额 + 利息),利息变、利润总额同向反变,两者相加恒定。所以还款节奏调整只影响资本金 IRR 与资产负债表。被牵动的只有建设期利息进开发成本带来的那部分间接影响,量级很小。
- 基准 IRR 低于 ic 时,临界点语义反转:不再是"跌多少跌破",而是"要改善多少才达标",符号与措辞都要跟着改。达标后又要改回来,别沿用上一版的措辞。
- 土地价款抵减是税额,不是成本。抵减上限是全期销项税额;按土地价款全额抵必然把应纳增值税算成负数。
- 房地产项目无流动资金,相关行为 0;硬套工业项目公式会多算一大块现金流出。
- 电梯台数是数量参数,不是单价参数,最容易在克隆时被模板值覆盖。金地北是小高层 28 / 洋房 18 / 公租房 2,那是 14 栋项目的数;直接搬到 11 栋项目上,公式全对、勾稽全过,只有拿台数除以 2 去对栋数/单元数才看得出来。资料的台数藏在各业态成本明细的「电梯工程」行(
台数 = 单元数 × 2或栋数 × 2),且资料自身的单元数常与其户数矛盾(按户数 ÷ 层 ÷ 层户反推才是对的)。资料没给就问用户,别沿用、别折算。 - "总投资一分没变,IRR 却变了"只有一个原因:分年流出比例被改过。表6 的 K:N 列只挪时点不改总额,所以总投资、各项占比、表16 配平、错误格数量全都纹丝不动,静态勾稽一条都抓不到,只有 IRR / FNPV 在动。遇到这种"查不出错但数不一样"的情况,先逐格对比 K4:N11 与既有项目的差异,再去查公式。要改比例必须问用户,不能因为"看着不连续"就调平。
- 比例折减放错位置,勾稽永远查不出来。车位数
(N×0.6)×P×R与N×P×(R×0.6)数值完全相等,但前者数量对不上规划与产权登记、敏感性分析也会重复作用。判据不是"结果对不对",是"这个数能不能追到资料"——物理量取物理值,经营假设取在比例上。 - 合并税种是"看起来更简洁"的典型错误。契税 3% 与印花税 0.025% 合并成 3.025%,合计一分不差,但土增税扣除项要单取契税、税金行要单取印花税,合并后两条路都断。拆分零成本,合并有代价,凡是两个税种就别合并。
- 改到某年几乎不投资,IRR 会多解。现金流出现两次符号翻转(如 −、−、+、−)时,
IRR()在[-0.99, 10]区间两端同号、二分法直接判无解。改用扫描法求全部实根、取最接近 Excel 默认初值 0.1 的那个,可与表内值互验。某项目实根有 9.10% 和 −98.28% 两个,报"无解"就错了。 - 资料里的「元/㎡」只能用来发现异常,不能用来定数。成本测算表的单方分母常含已在别处单列的面积——某项目 3.1 地上建筑工程把抬板层 22,822.6 ㎡ 算进分母,显示 1,609.79 元/㎡,真实计费面积只有 73,126 ㎡、应为 2,112.03 元/㎡,被摊薄 502 元;而金额 15,445.67 万元是对的。按列名找基数更会落空:「计算项」列是统一模板文字(三行都写"总建筑面积"),真实取值要点开单元格看是
=E5还是=E4,或反算基数 = 金额 ÷ 单方 × 10000。这类偏差只记录、不改资料。 - 「总投资利润率」的分子换一个词,结果差四倍。同一项目:全期利润总额÷总投资 9.35%、年均 EBIT÷总投资(规范 ROI)2.42%、年均净利润÷资本金(ROE)2.15%。房地产 3~5 年的计算期没有"正常生产年份",任何年化口径都会与 IRR 自相矛盾(IRR 7.10% 而 ROI 2.42%,评审必问)。默认用全期利润总额÷总投资,注释里必须写"全期累计、非年化";老板或评审明确要《方法与参数》口径时才单列一行 ROI,且要附一句"盈利能力以 IRR/FNPV 为准"。
- 表7 的前两年是最锋利的校验。支出计划表在建设期与表6 同源,第 1、2 年总投入必须分毫不差;差一分就说明八类科目的映射漏项或重复(最常见的两个坑:把建设单位管理费留在"二 工程前后期费用"里,导致"七 管理费用"重复;或者只取表6 的资本化利息 525,漏掉销售期费用化的 175)。
- 打印区出错不会报错,只会印不全。表6「项目总投资使用计划与资金筹措表」的数据全在 I~S 列(I 合计、J 科目、K:N 分年比例、O 资金性质、P:S 分年金额),但模板继承下来的
PrintArea常是$A$1:$D$20或$A$1:$G$20——打印出来只剩序号和项目名,公式全对、勾稽全过、屏幕上也看不出任何异常,只有真按打印预览才暴露。同一批项目里两个项目的表6 打印区都是错的,说明这是模板级缺陷。表6 一律设$A$1:$S$20;表12「利润与利润分配表」的表尾指标行(总投资利润率 R26、净利润率 R27)加完也要把打印区跟到$A$1:$G$27。设之前先看dimensions和最后一个有数据的列,别按视觉宽度猜。 - 表尾指标行加两行就够用:R26 总投资利润率(全期利润总额÷总投资)、R27 净利润率(净利润÷表13 现金流出合计,即项目投资现金流出 R11)。后者衡量"每投出一元钱现金,最后沉淀多少净利润",比净利润÷销售收入更贴近现金视角;口径注释必须写明分母是哪张表的哪一行,否则换个人接手就会改成销售收入。
资源索引
| 文件 | 何时读 |
|---|---|
references/01-表体系与勾稽.md |
每次开工。21 张表的角色、数据流、恒等式全集 |
references/02-计算口径与公式.md |
涉及增值税、土增税、所得税、折旧、建设期利息、还本、回收期时;第九节列契税/印花税分列、表6 分年比例、表8 车位折减三处不得合并擅改的模板口径 |
references/03-敏感性分析.md |
做敏感性表、临界点、情景系数自动化时 |
references/04-问题库与处置.md |
怀疑有问题但不确定时,按症状查。39 条缺陷,第八节收"改完全部勾稽仍能通过"的高危动作,第九节收"引用外部资料时的数值陷阱" |
references/05-Excel操作要点.md |
任何写盘操作之前 |
references/06-校核清单.md |
Step 2 跑勾稽时,逐条对照 |
references/07-从原始数据搭建模型.md |
搭建新模型时必读。输入清单、逐表行结构、参数区设计、格式规范、复用改造 |
references/08-新项目数据采集与提问.md |
接新项目第一件事。提问顺序、三个结构问题、清单化采集、表 7 入口陷阱、缺失项三档处置、数量型参数(电梯台数)与比例型参数(车位折减 0.6)必须问、对甲方话术 |
references/09-达标测算与杠杆选择.md |
用户问"怎么才能到 3.5%"时。约束锁定、缺口计算(含预备费联动)、杠杆换算系数、削减落点筛选、话术模板 |
scripts/scaffold.py |
生成 20 表骨架:--template 模板克隆 / --intake 出参数清单 / --apply 回填 / --clean 清零影响错误格 / 无模板从零绘制 / --list 列参数 |
scripts/sens_batch.py |
批量重算表19/20:逐档设 B12~B15 共 28 次重算,写回技术区与 FNPV 区 |
scripts/cmp_full.py |
两份工作簿逐格比对:值、字体、边框、底色、格式、合并、列宽、打印、压缩包部件(验版式保真) |
scripts/fsr_calc.py |
独立复算 IRR/FNPV/回收期/增值税/土增税,校验新模型 |
scripts/dump_sheet.py |
摸底、定位公式来源 |
scripts/check_gl.py |
批量验勾稽 |
scripts/sensitivity.py |
复算敏感度系数与临界点,验证手工表 |
依赖
openpyxl(读);写盘优先用本机 Excel COM(保留图表与格式),无 Excel 时退回 openpyxl 并明确告知会丢图表。