结构化引用语法规则
你也可以在公式中手动输入或更改结构化引用,但要执行此操作,了解结构化引用语法会比较有帮助。 我们来看看下面的公式示例:
=SUM(DeptSales[[#Totals],[Sales Amount]],DeptSales[[#Data],[Commission Amount]])
此公式具有以下结构化引用组成部分:
表名称:
“部门销售”是自定义表名称。 它引用表数据(不包含任何标题或汇总行)。 您可以使用默认的表名称,如 Table1,也可更改为使用自定义名称。
列说明符:
[销售额]
和
[佣金金额] 是使用其所表示的列名称的列说明符。 它们引用列数据(不包含任何列标题或汇总行)。 始终将说明符用所示的方括号括起来。
项目说明符:
[#汇总] 和 [#数据] 是引用表的特定部分(如汇总行)的特殊项目说明符。
表说明符:
[[#汇总],[销售额]] 和 [[#数据],[佣金金额]] 是表示结构化引用外层部分的表说明符。 外部参照跟在表名称之后,并括在方括号中。
结构化引用:
部门销售[[#汇总],[销售额]] 和 部门销售[[#数据],佣金金额]] 是结构化引用,使用以表名称开头、以列说明符结尾的字符串表示。
要手动创建或编辑结构化引用,请使用以下语法规则:
使用括号将说明符括起来 所有表格、列和特殊项目说明符都需使用一对方括号 ([ ]) 括起。 对于包含其他说明符的说明符,需要在其他说明符的内方括号对的外侧使用方括号对括起。 例如,=部门销售[[销售人员]:[区域]]
所有列标题都为文本字符串 但是,在结构化引用中使用时,它们不需要引号。 数字或日期,例如 2014 或 2014/1/1,也被视为文本字符串。 不能对列标题使用表达式。 例如,表达式 DeptSalesFYSummary[[2014]:[2012]] 将不起作用。
用方括号将包含特殊字符的列标题括起来 如果包含特殊字符,整个列标题就需要括在括号中,这意味着列说明符中需要使用双重括号。 例如:=DeptSalesFYSummary[[Total $ Amount]]
下面是公式中需要额外括号的特殊字符的列表:
Tab
换行符
回车符
逗号(,)
冒号(:)
句号 (.)
左中括号 ([)
右中括号 (])
井号 (#)
单引号 (')
双引号 (")
左大括号 ({)
右大括号 (})
美元符号 ($)
脱字符号 (^)
与号 (&)
星号(*)
加号 (+)
等于号 (=)
减号 (-)
大于符号 (>)
小于符号 (<)
除号 (/)
at sign (@)
反斜杠 (\)
感叹号 (!)
左括号 ( ()
右括号 () )
百分号 (%)
问号 (?)
反引号 (')
分号 (;)
波形符 (~)
下划线 (_)
对列标题中的特殊字符使用转义字符 某些字符具有特殊的含义,需要使用单引号 (') 作为转义字符。 例如:=DeptSalesFYSummary['#OfItems]
下面是公式中需要转义字符 ( ) 的特殊字符的列表:
左中括号 ([)
右中括号 (])
井号 (#)
单引号 (')
at sign (@)
使用空格字符提高结构化引用的可读性 可以使用空格字符来提高结构化引用的可读性。 例如:=部门销售[[销售人员]:[区域]] 或 =部门销售[[#标题],[#数据],[佣金比率]]
建议使用一个空格:
在第一个左中括号 ([) 之后;
在最后一个右中括号 (]) 之前;
在逗号之后。