Excel中的超级表Table详细介绍(⼆)前⾯我们介绍了T a b l e的使⽤。今天我们来介绍结构化引⽤
结构化引⽤介绍
使⽤了表之后,公式中引⽤单元格时就会发⽣变化,这种新的引⽤⽅式叫做“结构化引⽤”。
我们先来直观感受⼀下结构化引⽤。在⼀个“Tabel”右侧相邻的单元格中,输⼊“=sum(”,然后点击“Table”中任意单元格,会得到如下的公式(在2007中,公式稍有不同):
=SUM(表1[@销售额])
公式不再是=sum(E3)这样的形式,这⾥:
“表1”:代表“Tabel”的名字
[销售额]: 代表列的名字
@代表这⼀⾏(公式所在的同⼀⾏)
所以这⼀个公式的意思⾮常直截了当:对“表1”的“销售额”列求和
注:我们使⽤的表,可以参见下图
结构化引⽤详解
⼀个结构化引⽤是指上⾯的例⼦中sum函数的括号中的内容(本来这个地⽅是写单元格区域的)。这个引⽤有⼏部分组成:
表1[@销售额]
1.表名,在这⾥叫做表1
2.  [],界定符,指明引⽤的范围和⽅式
3.列名,例⼦当中的”销售额”
4.  @,表⽰引⽤的项⽬,@标识当前⾏。
其中,引⽤项⽬还有其他⼀些关键字:
#全部表⽰整个表,包括标题⾏,数据区域,汇总⾏
#数据表⽰数据区域
#标题表⽰标题⾏
#汇总表⽰汇总⾏
@              表⽰本⾏
下⾯通过⼀些例⼦说明这些引⽤⽅式的使⽤。
表1[客户]
表⽰整个表1的客户列(只包含数据部分,不含标题⾏和汇总⾏。你可以使⽤公式:counta(表1[客户]),结果就是客户列中的数据个数。使⽤公式:index(表1[客户],1,0),结果就是返回表中的第⼀个客户名称
表1[[#全部],[客户]]
与上⾯类似,不过表⽰的是客户数据部分加上标题⾏,使⽤公式:counta(表1[[#全部],[客户]]),结果就是客户个数+1;使⽤公式index(表1[[#全部],[客户]],1,0),返回的是该列的标题。
表1[[#数据],[客户]]
与表1[客户]结果相同
表1[[#汇总],[销售额]]
引⽤销售额的汇总。要说明的是,这⾥的汇总指的是表1的汇总⾏,如果该表格没有汇总⾏,引⽤会返回
#REF错误。如果有汇总⾏,你可以直接使⽤公式=表1[[#汇总],[销售额]],结果与sum(表1[销售额])相同
表1[[#标题],[销售额]]
引⽤销售额的标题⾏。直接使⽤公式=表1[[#标题],[销售额]],返回销售额列的列名
表1[#标题]
引⽤表1的标题⾏区域,使⽤公式counta(表1[#标题]),结果就是表1的列的个数。公式index(表1[#标
题],0,2),结果就是第⼆列的标题
表1[#全部]
引⽤表1的整个区域
表1[#数据]
引⽤表1的数据区域(除了标题⾏和汇总⾏的部分)
表1[#汇总]
引⽤表1的汇总⾏(如果有的话)
表1[[#数据],[客户]:[销售额]]
引⽤表1从客户列到销售额列之间的所有数据区域
注:
1.你可能已经发现,#全部,#标题,#数据,#汇总都可以省略,这时就表⽰相应的数据区域。
2.所有的引⽤(除了表名外),都应该放在⼀对英⽂⽅括号[]之内
相对引⽤和绝对引⽤的变化
与普通单元格引⽤⼀样,结构化引⽤同样有相对引⽤和绝对引⽤。
在表格区域外,⼀个单元格,写公式:
=sum([销售额])
然后试着左右拖动⿏标讲这个单元格公式填充到左右相邻的单元格区域,你会发现引⽤的区域变了,效果跟单元格引⽤中的相对引⽤类似。多试验⼏次,可以总结如下的规律tabletable
1.相对引⽤只发⽣在⿏标拖拽填充时,复制/粘贴时不影响
2.相对引⽤只发⽣在⿏标左右拖拽填充时,上下拖拽填充不影响
3.如果应⽤的是表格“Table”中最右边⼀列时,继续向右拖拽填充,引⽤会变成第⼀列
尽管与引⽤单元格时相⽐,填充单元格公式时已经⽅便了⾮常多,但是,我们还是需要在某些时候左右⿏标拖拽填充时能够绝对引⽤。
这时,我们就需要采⽤这种⽅式来引⽤相应区域:
表1[[销售额]:[销售额]]
⾮常简单,这么引⽤的⽅式就是绝对引⽤!
总结
与单元格引⽤相⽐,结构化引⽤对公式的可读性来说,会带来⾮常明显的改进,在后期公式维护⽅⾯(考虑到其他⼈读你的公式)就更是具有⾮常⼤的优点。⽽且,由于表格区域是⾃动扩展的,也会极⼤的减轻了对公式进⾏后期修改的需要,所以,建议⼤家都来学习结构化引⽤,很可能会为你带来意外的惊喜。
⽽且,这种引⽤的书写⾮常简单,只要你写出了表的名字,Excel会⾃动出现相应的提⽰。
结构化引⽤在VBA编程⽅⾯也会带来⾮常⼤的⽅便,在后⾯的相关⽂章中,我们会介绍相关的改进。敬请期待
取得本⽂模板⽂件的⽅式:
本⽂没有模板⽂件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。