💼 为什么我的 Excel 公式中有双重方括号?

Excel 公式

在 Microsoft Excel 公式中创建引用时,有时会出现两对方括号。如果你像我一样,喜欢整洁简洁的 Excel 公式,这些双重方括号可能会显得碍眼并令人沮丧。但是,它们出现是有充分理由的。

🏷️ 直接单元格引用 vs. 结构化引用

在解释为什么你的公式中有双重方括号之前,重要的是要理解直接引用和结构化引用之间的区别。

直接单元格引用使用列和行标题来定位和引用单元格或单元格区域。例如,在单元格 F2 中输入:

=SUM(D2:D6)

会将单元格 D2 和 D6 之间(包括 D2 和 D6)的值相加。

Excel 公式

另一方面,结构化引用使用表和列的名称。将单元格 A1 到 D6 格式化为表格后,在单元格 F2 中输入:

=SUM(

然后选择 T_Game_1 表格的 "Total" 列中的所有单元格,将创建一个对整个列的结构化引用:

=SUM(T_Game_1[Total])

Excel 公式

请注意列标题是如何用单方括号括起来的。这是为了将这种类型的引用与直接单元格引用区分开来,并使公式更具可读性。

关闭圆括号并按 Enter 键以完成并提交公式。

Excel 公式

不要手动将方括号输入到结构化引用中。当你开始输入公式并使用鼠标选择表格中的相关列时,它们会自动出现。

在上面的示例中,单元格引用中包含表名 (T_Game_1),因为输入公式的单元格不在表格的边界内。但是,在此处,结构化引用不包含表名,因为包含公式的单元格与它引用的列位于同一表格中:

=SUM([@Score]+[@Bonus])

Excel 公式

同样,由于公式引用了列标题,因此它们用单方括号括起来。

at (@) 符号(也称为隐式交集运算符)在 Excel 表格的公式中用于引用同一行上的单元格。当你在公式中选择表格列作为引用时,将自动添加该运算符,以告知 Excel 在每一行上重复计算作为一个单独的公式,而不是尝试从单个公式生成动态数组结果。

但是,有时,你会在结构化引用中看到双重方括号,而不是单方括号对。如果你发现自己处于这种情况,请不要担心,你没有做错任何事!让我来解释一下发生了什么。

🏷️ 结构化引用中出现双重方括号的三个原因

在我完全理解 Excel 中的结构化引用之前,我经常看到双重方括号看似随机地出现在我的公式中。但是,这种行为根本不是随机的。

🏷️ 列标题包含特殊字符

你可能会在结构化引用中看到双重方括号的第一个原因是,它们引用的列标题包含特殊字符。在这些情况下,额外的方括号对是 Excel "转义" 这些字符以避免模糊引用的方式。

Excel 中的特殊字符包括大多数不是数字或字母的字符,例如标点符号、货币或键盘上的任何其他符号。

在此示例中,对 "Score" 列的结构化引用包含单方括号对,因为列标题不包含任何特殊字符。另一方面,当我在公式中添加 "Bonus" 列时,结构化引用包含双重方括号,因为列标题包含星号:

=SUM([@Score]+[@[*Bonus*]])

Excel 公式

空格也被认为是特殊字符。在此处,由于标题中两个单词之间的空格,对 "Items Sold" 列的结构化引用包含双重方括号:

=[@[Items Sold]]*[@Price]

Excel 公式

公式引用多个列

Excel 中结构化引用有时包含两对方括号的另一个原因是,公式引用了多个列。

此公式对 T_Scores 表中每个团队的 Wk1 到 Wk4 列中的值求和:

=SUM(T_Scores[@[Wk1]:[Wk4]])

Excel 公式

请注意,外部括号使用隐式交集运算符定义对每一行的结构化引用,而内部嵌套括号(用冒号分隔)定义所选范围的第一列和最后一列。

此外,即使公式是在表格的边界内输入的,引用多个列的结构化引用也包括表名(在本例中为 T_Scores)。这是为了增加清晰度并避免歧义。

公式引用表格的标题行或总计行中的单元格

导致 Excel 引用中出现双重方括号的第三个也是最后一个场景是,当你引用格式化表格的标题行或总计行中的单元格时。

假设你已通过选中功能区上 "Table Design" 选项卡中的 "Total Row" 向此表格添加了总计行。

Excel 公式

现在,你要使用单元格 F7 中的四周总计来计算年度预测。为此,你需要将总计除以 4,然后将结果乘以 52。因此,在单元格 H2 中,输入:

=SUM(

然后,选择单元格 F7。你会得到以下结果:

SUM(T_Scores[[#Totals],[Total]])

Excel 公式

当你选择单元格 F7 时,结构化引用将 #Totals 括在方括号中以标识总计行,并将 Total 括在单独的方括号中以标识 "Total" 列。然后,它用另一对方括号将整个引用括起来,同时用逗号分隔嵌套引用,以精确定位相交的单元格。

井号 (#)(在这种上下文中也称为特殊项目标识符)确保 Excel 了解引用的行不是标准数据行,而是标题行或总计行。

现在,将该结构化引用除以 4,关闭括号,然后将结果乘以 52:

=SUM(T_Scores[[#Totals],[Total]]/4)*52

Excel 公式

🏷️ 在 Excel 中使用结构化引用的建议

总而言之,Excel 中的双重方括号是该程序确保结构化引用可以应对各种环境并易于阅读的方式。以下是在 Excel 中有效使用结构化引用的一些技巧:

  • 保持表格列标题简短,以确保结构化引用不会太长。
  • 始终命名格式化的 Excel 表格(通过 "Table Design" 选项卡的 "Properties" 组),以便引用它们的公式易于理解。
  • 如果可能,请避免在表格标题中使用空格和特殊字符,以保持结构化引用的整洁。
  • 如果表格列标题必须包含两个或更多单词,请使用下划线 (_) 而不是空格来分隔它们。Excel 将下划线视为标题中的标准字符,因此不需要使用双重方括号进行转义。
  • 你无需浪费时间尝试手动输入方括号、隐式交集运算符或特殊项目标识符。只需在构造公式时使用鼠标选择单元格,Excel 就会为你完成技术工作。
  • 确保可以在 Excel 中高效使用结构化引用的一种方法是确保数据集结构合理。例如,避免使用多个行作为列标题,并确保每个单元格包含单个数据点。此外,每列应包含一致的数据字段,每行应是一个记录,其中包含有关一个项目的不同类型的数据。

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/1600/

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
✅ 好用,这款微信公众号排版工具太板正了,还内置免费AI辅助内容创作!
上一篇 2025年10月23日 08:10
🆕 Nuclear音乐播放器v0.6.48版本更新,免费听歌就是干!
下一篇 2025年10月25日 08:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注