首页 / Excel中的结构化引用:你需要知道的一切

Excel中的结构化引用:你需要知道的一切

2024/11/28 05:30:13
结构化引用是Excel中一种强大的功能,它允许用户通过表名和列名来引用数据,而不是使用列和行的数字标签。这种引用方式在处理复杂数据表时尤其有用,因为它提高了公式的可读性和可维护性。在表格中使用结构化引用时,首先需要将数据格式化为表格,并为表格命名。这样,即使在添加或删除行时,引用也会自动更新。此外,结构化引用还支持在表格外部使用,例如通过XLOOKUP函数根据表格中的数据进行查找。使用结构化引用的好处包括提高公式可读性、自动适应数据变化、减少内存使用等。
Excel中的结构化引用:你需要知道的一切
快速链接什么是结构化引用在表格中使用结构化引用在表格外使用结构化引用为什么使用结构化引用?Excel 以其允许你创建复杂数据表而闻名。然而,一些人对这些表格中包含的一种特殊引用类型不太熟悉:结构化引用。未找到针对“below first paragraph”区域的获胜广告!在Excel 2016或更高版本(包括Excel 365)中可以使用结构化引用。未找到针对“native in content”区域的获胜广告!什么是结构化引用?在Excel中,直接单元格引用使用列和行标题标签将一个单元格链接到另一个单元格。例如,单元格A1位于第一列和第一行,而单元格C10位于第三列和第十行。另一方面,而不是使用列和行标题标签,结构化引用使用表和列名称。在下面的例子中,=

=SUM([@[Daily profit]]*7)

将“每日利润”列中每个单元格的值乘以七。在表格中使用结构化引用要在表格中使用结构化引用,如上例所示,首先需要在Excel工作表中添加一些数据,并在数据顶部包含列名。如果不添加列名,Excel将默认为Column 1、Column 2等,这在以后使用公式时会使头部更加模糊。在使用任何数据进行计算之前,请选择数据中的一个单元格,然后在功能区的“开始”选项卡中点击“格式化为表格”。在那里,选择最适合您的设计。现在,使用“创建表”对话框来验证所有数据是否已选中,勾选“我的表有标题”复选框,然后点击“确定”。现在,你的数据已经在一个格式化的Excel表格中,你可以使用结构化引用。在我例子中,我将选择单元格C2(我想要创建计算的第一个单元格),然后输入:=SUM(现在,我将点击“每日利润”列中包含数据的第一个单元格,Excel将插入对该列的结构化引用。=方括号是Excel用来表示它正在使用结构化引用的方式,而@符号(也称为交集运算符)意味着计算将分别应用于表格中的每一行。最后,我需要将“Daily profit”列中的值乘以七以生成每周利润,并关闭圆括号。=

=SUM([@[每日利润]]*7)

按下Enter键后,公式会自动复制到“每周利润”列的其他单元格中。如果我手动移除@符号,"每周利润"列中的计算将汇总"每日利润"列的全部内容,并将该总和乘以七。

在表格外使用结构化引用

结构化引用也用于在Excel表格外部的公式中引用表格数据。在这个例子中,我将使用XLOOKUP公式在单元格E4中根据单元格E2中提到的站点生成每周利润。第一步是给表格命名。否则,Excel会将我的数据命名为Table1,这在工作簿中有多个表格时可能会引起混淆。事实上,在Excel中创建表格时养成命名习惯是很好的,即使你不想在其他地方引用它们。要实现这一点,我将选择表格中的任何单元格,然后在功能区上打开“表格设计”选项卡,并在“表格名称”字段中输入适当的名称。在我的情况下,我将把我的表格命名为“利润”。在命名你的表格时,必须遵循以下规则:
  • Your table name must start with a letter, an underscore (_), or a backslash (\).
  • The rest of the table name can be a combination of up to 255 letters, numbers, periods, and underscores.
  • Your table can't be called "C," "c," "R," or "r," because these are used for other purposes in Excel.
  • Your table also can't be the same as a cell reference, such as A1 or $A$1.
  • Try to keep the table name to one word so that it's easy to reference. However, if you must use more than one word, use an underscore (not a space) between each word.
  • Make sure the table name has not been used elsewhere in your workbook.
现在,在单元格E4中,我可以开始我的XLOOKUP公式,输入:=XLOOKUP(E2然后,我需要选择查找数组,即单元格A2到A9。请注意,我的公式会自动将其转换为结构化引用,“Profits”是我之前创建的表名,“Site”是列标题。=XLOOKUP(E2,利润[站点],

最后,我可以选择返回数组,即单元格C2到C9,然后关闭我的圆括号。再次,Excel会自动将这转换为结构化引用。=XLOOKUP(E2,利润[站点],利润[每周利润])当我按下回车键时,本周的利润成功从我的表格中获取。为什么使用结构化引用?你可能会想,“这有什么意义吗?”实际上,在Excel中使用结构化引用而不是直接引用处理表格时,有许多好处。首先,结构化引用比直接引用更容易创建和阅读。因此,我只需 glance 一眼公式,就能理解它们的意图,如果 Excel 返回错误,我也能轻松解析公式。第二,如果我通过点击并拖动表格右下角的句柄(如截图中所示的“A”标记)添加一行,并在新行中填充额外数据,我之前在电子表格中使用的结构化引用将自动应用到这些新数据上。在这个例子中,我添加了一个额外的站点(第10行)的数据。不仅在添加每日利润时,每周利润会自动计算,我还更改了单元格E2中的站点引用为站点I,并且数据已被正确检索。如果我使用直接引用,我将不得不进行多次手动调整才能达到相同的效果。如果我在“每日利润”和“每周利润”列之间再添加一列,我可以确保任何对现有列的引用仍然安全,因为我引用的是列名而不是与每个列关联的字母。最后,结构化引用是动态的。如果我更改了其中一个表格列的名称,所有相关的结构化引用将相应地更新。在这个例子中,我将“Weekly profit”列更改为“TOTALS”,单元格E4中的XLOOKUP公式也采用了这一更改。简而言之,一旦你在Excel中创建了一个表格,你就应该开始考虑使用结构化引用,以充分利用你的数据。 除了上述列出的好处外,结构化引用还比直接引用使用更少的计算机内存——这是许多加快Excel电子表格速度的方法之一。