几百条查找公式,一个数据模型全替了
用 Excel 做报表的人,多半离不开 XLOOKUP。要把一张表里的信息拉到另一张表,它确实最顺手。可表一多、公式一叠,工作簿就会悄悄膨胀:为了出一份报告,往往要加一堆辅助列、复制一遍数据。有没有更干净的办法?Power Pivot 给出的答案是:别合并表,先告诉 Excel 这些表之间是什么关系。

从三张表说起
以个人记账本为例。一个含数千条记录的文件,通常拆成三张表,各占一个工作表:
- 交易表存每笔支出,含日期、金额、类别编号、账户编号;
- 类别表存支出类别的名称,比如买菜、交通、娱乐,靠类别编号关联回交易表;
- 账户表存支票、储蓄、信用卡等账户信息,靠账户编号关联回每笔交易。
这样设计很合理:类别名只写一次,不必在几千行里重复;每笔交易也只需一个账户编号。麻烦出在出报告时——Excel 得想办法把交易表和另外两张表连起来。
老办法:加列,再用 XLOOKUP 拉数据
最常见的思路,是给交易表再加几列,把缺的信息拉进来。把交易表复制到第四个工作表,新增「类别名称」「预算分组」「账户名称」「账户类型」四列,再用 XLOOKUP 逐个填:
=XLOOKUP([@类别编号],类别表[类别编号],类别表[类别名称])
=XLOOKUP([@账户编号],账户表[账户编号],账户表[账户名称])
其余两列同理。公式都对,报告也能做:把类别名称拖进数据透视表的行、账户名称拖进列、金额拖进值,就能看清钱花在了哪类、哪个账户。代价是工作簿结构变了样——原本三张干净的表,变成了「原交易表 + 类别表 + 账户表 + 第二张交易表(重复信息)+ 一张透视表」。说白了,为了让 Excel 懂表之间的关系,平白多造了一份数据和几个工作表。
新办法:用数据模型连关系,不复制数据
Power Pivot 的思路相反:表继续保持分开,只告诉 Excel 它们怎么连。操作不复杂:选中每张表,点「Power Pivot」选项卡里的「添加到数据模型」,把三张表都装进数据模型;再打开 Power Pivot 窗口切到「图示视图」,把对应编号字段拖到一起建立关系:
交易表[类别编号] → 类别表[类别编号]
交易表[账户编号] → 账户表[账户编号]
关系建好,Excel 就懂了。接下来同样从「数据模型」建透视表,行放类别名称、列放账户名称、值放金额——出来的支出报告,和用 XLOOKUP 那份一模一样。区别在过程:XLOOKUP 要先往几千行交易里塞类别和账户信息;Power Pivot 让原表各归各位,建透视表时靠关系现取,既不合并、也不复制。
启用也不麻烦:在 Microsoft 365 或 Excel 2016 及以上 Windows 桌面版里,若看不到 Power Pivot 选项卡,到「文件 → 选项 → 加载项」,管理下拉选「COM 加载项」,勾上「Microsoft Power Pivot for Excel」即可。网页版 Excel 没有这个功能。
顺手多得的本事
把工作簿收拾干净只是起点。数据模型还解锁了普通透视表没有的功能,比如「非重复计数」——在值字段设置里直接就有。想少写辅助公式、少做汇总表,这又是一个理由试试 Power Pivot。
XLOOKUP 依然好用,小工作簿里它最省事。可一旦数据散在多张关联表,Power Pivot 提供更利落的出路:不必先拼成一张大表,也能直接出报告。要是手头版本不支持 Power Pivot,还可以用 Power Query 合并关联表、自动生成干净的报表表,走一条类似的路。
来源:How-To Geek(作者 Tony Phillips)







