夜雨聆风学习资料网

ARTICLE · 1278767

Excel 表格你真的用对了吗

Excel 表格你真的用对了吗

表格不就是加个底色?

按完 Ctrl+T,

公式换了套语言

结构化引用 · 五处静默算错 · 表名规则

技术写作 · 表格模式

可照做五个坑

📦 6 Parts + Conclusion

👉 滑动

PART 01

换了什么

THE SWITCH

PART 02

引用写法

SYNTAX

PART 03

迁移四步

MIGRATE

PART 04

静默算错

SILENT BUGS

PART 05

两个开关

OPTIONS

PART 06

边界

LIMITS

PART ///

写在最后

收尾

同一个数,两种写法看起来只差格式——

差别在三个月后加一行时,它还认不认。

01

PART

一、Ctrl+T 换掉的三样东西

THE SWITCH

选中数据里任意一格,按 Ctrl+T,确认「我的表具有标题」,确定。Excel 给这块区域起了个名字(默认 表1、表2…),同时给了它三样普通区域没有的能力:一个能被公式引用的名字、一条会随数据增长自动伸缩的边界、一整列同步的公式。

第三样最容易被忽略。在表格某列的空格里敲一条公式回车,整列会立刻铺满,包括你敲字那一格的上方和下方。官方把它叫计算列:一个单元格里的一条公式,等于整列的一条规则。

名字有规则,手写公式之前必须知道:

开头字符

只能是字母、下划线 _ 或反斜杠 \,其后才可以用字母、数字、句点、下划线。

不能有空格

Sales_Tax、First.Quarter 可以,Sales Tax 不行。

不能叫 C 或 R

这两个字母不分大小写,已被 Excel 占作选中整列、整行的快捷方式。

不能像单元格地址

Z$100 这种会被当成引用。

不能重名

同一工作簿内唯一,且不区分大小写,Sales 与 SALES 算同一个。

长度上限

255 个字符。

改名在「表设计」选项卡左侧的「表名称」框里,回车生效。改完之后,所有引用它的公式会跟着改,这是表格模式最大的回报。

02

PART

二、结构化引用长什么样

SYNTAX

表名 + 列名的组合,就是结构化引用。表内写公式可以用非限定形式,只写列名:

...text

=[@[销售额]]*[@[佣金比率]]

@ 这一段表示「本行」。多行数据的表格里,手输 #This Row 会被 Excel 自动换成 @,两者等价。

表外引用同一份数据,必须带表名:

...text

=SUM(销售表[销售额])

官方把这条规则讲得很直白:表内可用非限定引用,表外必须用完全限定的写法。所以把表内公式复制到表外,它仍然是 [销售额] 这种没头没尾的样子,出了表格范围就找不到列。

要引用表格的某个部位,用特殊项说明符:

说明符
引用什么
#全部
整个表格,含标题行、数据、汇总行
#数据
只有数据行
#标题
只有标题行
#汇总
只有汇总行,没有汇总行时返回空值
@
 与 #此行
与公式同行的那个单元格

写法是嵌套方括号,=销售表[[#全部],[销售额]]。相邻多列用冒号 [销售额]:[佣金比率],不相邻用逗号并列,取交集用空格。

列名里带特殊字符时会突然写不通,这是手写公式最常见的语法错误。空格、$、%、括号这类字符要求整个列名再套一层方括号,列名叫 Total $ Amount 就得写成 [[Total $ Amount]];而 []#'@ 五个字符还要在前面再加单引号转义,#OfItems 写成 ['#OfItems]。

03

PART

三、把 A1 公式换成列名

MIGRATE

顺序从外往内:先给表起名,再改跨表汇总,最后改表内计算列。

第一步别偷懒。表1、表2 除了好打没有任何好处,用 tbl_销售、tbl_成本 这类带前缀的名字,官方推荐的正是按对象类型加前缀(tbl_ 表、pt_ 透视表、chrt_ 图表),名称管理器里会自然排在一起。

第二步把汇总公式改成 =SUM(tbl_销售[金额])。收益立刻可见:以后在表尾粘一百行,这个 SUM 一个字都不用动。

第三步改表内计算列,写成 =[@[单价]]*[@[数量]] 回车,整列自动铺满,且以后新增行自动带公式。

第四步才是改列名。把「金额」改成「销售额」,所有引用自动跟随;但反过来也成立——新名字必须能被公式拼出来,一旦带了空格或 #,引用写法要跟着加括号与转义,否则那条公式当场变成 #NAME?。

04

PART

四、会静默算错的五处

SILENT BUGS

这一节是全篇的重点。下面五种情况都属于静默算错:不弹窗、不报错,数字照样出来,只是不对。

筛选之后,SUM 还是全量

=SUM(销售表[金额]) 对筛选视而不见,永远算全部行。要只算筛出来的,用 =SUBTOTAL(109,销售表[金额])。表格的汇总行默认走的就是 SUBTOTAL,官方写明它会忽略被筛选器隐藏的行;109 连手动隐藏的行一起排除,换成 9 则把手动隐藏的行算回来。

从筛选后的视图里挑数字汇报,又用表外的 SUM 复核,两边永远对不上,根源就在这里。

汇总行复制粘贴,列引用不跟着走

官方的注意事项里藏了一条:汇总行公式要复制到相邻单元格,必须用填充柄拖;直接复制粘贴不会更新列引用,值会算错。汇总行是 SUBTOTAL 与结构化引用叠在一格的地方,两种「复制」在这一格上行为不同。

只有一行的表,@ 不会自动缩写

#This Row 与 @ 等价,但等价有条件:多行数据时 Excel 自动换成 @,只有一行时它不换。等你后来加了第二行,那条没被换掉的引用就可能算出意外结果。官方的建议很直接——建模板表时先填几行数据,再写公式。

跨工作簿引用,源文件没开就报错

表名引用指向另一个工作簿时,那个文件必须先打开,否则目标工作簿里全是 #REF!。官方给的处理顺序是:先开了目标工作簿看到错误,随后打开源工作簿即可恢复;先开源工作簿则不会看到错误码。

一个人用没问题,发给同事就出事——他手上只有你发的那一个文件。

转了区域、关了标题行,引用当场失效

「表设计」里的「转换为区域」会把所有结构化引用一次性换成绝对 A1 引用,且不可逆;反过来把区域转成表格,已有的 A1 引用不会自动变成结构化引用,得手工重写。

关掉「标题行」更隐蔽:用列名的引用照常工作,但直接引用标题的公式,比如 =销售表[[#标题],[佣金率]],会变成 #REF!。

05

PART

五、两个开关,一条默认值

OPTIONS

第一个开关在「文件 → 选项 → 公式」里的「在公式中使用表名称」。默认勾选,此时在公式里点选表格单元格,Excel 自动写成结构化引用;取消勾选,点选就退回 C2 这种坐标。这个开关一关,之后新建的公式都不会随数据增长,而且没有任何提示。

第二个是「表设计」里的「汇总行」。勾上会在表底插一行,每列一个下拉,选完自动变成 SUBTOTAL;反复开关时,Excel 会记住你填过的公式。

默认值这件事值得单独说。汇总行选 SUM,Excel 落进去的是 SUBTOTAL,因为它要尊重筛选;而你在表外手写的 SUM 不会。同一个词,两种口径,这就是对不上账的常见起点。

06

PART

六、什么时候不该用表格

LIMITS

三条边界,碰到就别硬转。

需要合并单元格的报表

表格不接受合并单元格。官方的「合并后居中」帮助里直接写了,被格式化为表格的单元格无法合并,双层表头、跨列大标题的版式与表格互斥。

一个单元格塞多个值

张三、李四 挤在一格,或者金额与单位写在同一格,结构化引用按列取数就取不准,先拆列再转表。

只是想要个底色

数据不加行、公式不改的话,手动填充比表格省事;而且表格的镶边行会随筛选重排,跟你手涂的颜色必然打架。

///

LAST

写在最后

FINALE

Ctrl+T 真正的价值不在样式,在于它给一块数据起了名字,并承诺边界自己会长。代价是它与合并单元格、跨工作簿、手写公式的容错都不兼容——一次「转换为区域」、一次关掉标题行、一个带空格的新列名,都足以让引用失效。

公式记住的是列名,不是格子位置。这句话反过来读就是使用纪律:列名要能被拼出来,边界要让它自己长,别去手动改那条已经铺满整列的公式。

如果这篇内容对你有帮助,欢迎点赞、在看、转发三连,我们下篇见。

既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。

点赞
在看
转发

THANKS FOR READING

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料