Excel跨文件引用
标题只说了Excel是为了方便搜索,其实Excel和wps表格都是通用的,跨文件引用方式是一模一样的。
所以以下内容在Excel和WPS中是通用的。
一些概念
表格文件与表格
表格文件:我们用Excel或WPS创建一个表格文件,它的后缀名是.xlsx
(旧版格式是.xls
),这就是表格文件。
表格:一个表格文件中可以有多张表格(简称多张表),如下图两个箭头指出的是两张表(Sheet就是“表”的意思),点击+
可以添加表格
如何定位格子
行号好说,就是数字一直递增,但列号呢?毕竟字母只有26个,如果超过26列怎么办?
很简单,超过26个就用两个字母表示,比如:AA,AB,AC,…,就是第一个字母是A,第二个字母又是A-Z,这样又有26个,然后第一个字母是B,第二个字母是A-Z,这样又有26个,其实总数量就是:26×26=676+26=702列
那如果超过702列呢?说实话,超过702列已经非常离谱了,我想也没多少情况会超过702列的,但是总有离谱的,万一真有人需要超过702列怎么办?你得满足呀,所以就开始用三个字母来表示,这样会有:26x26x26=17576列,如果这个还不够用,那我觉得这真的是做表格的人自己有问题了
表格内容引用
同表引用
比如B1格想引用A1格的内容,则可以在B1格写上=A1
,当然更便捷的方法是不需要手动写的,只需要你敲入等号之后,鼠标点一下A1格,此时A1格会用虚线显示,表示你想要引用它的内容,但还没有确定,你要敲一下回车才会确定。
此时你选中B1格,你会发现上面的“fx”值为=A1
,fx就是数学中常用的函数符号f(x)=
,
如果你双击B1格,B1格会显示公式,同时A1格会被用其它颜色显示,意思就是B1引用了它,这样你一眼就能看出来
绝对引用与相对引用
相对引用:=A1
就是相对引用
绝对引用:在相对引用中的行号和列号前面都加一个$
符号,即变成=$A$1
就是绝对引用,绝对引用永远固定引用一个格子,而相对引用在复制表格时,公式中的格子会自动变为目标格子,但保持相对关系不变。
这里我要具体讲一下相对引用与绝对引用的区别,但在讲两者的区别之前,我要先讲一下表格填充(即十字拖移),表格填充就是你选中一个格子后,这个格子的右下角会有一个点,你把鼠标放在这个点上,鼠标光标会变成实心的十字形状(表格中的光标默认是空心十字),如下图所示
此时你按下鼠标左键不放,然后往下或往右拖动,就会把它的内容往下或往右填充,填充的规则,如果是数字或日期,它会往下或往右依次递增,而如果是公式,就跟公式中用的是相对引用还是绝对引用有关。
如果是相对引用,那么引用的格子也是会依次递增的,比如你从=A1
格开始往下拖,下边的格子就会被依次填充为=A2
,=A3
,……,而如果是绝对引用,也就是=$A$1
,那么所有格子都会是=$A$1
,这样的话,如果你复制这个表格区域到其它位置,这次引用关系是不会生效的,它会永远引用固定的格子
比如:A6引用了A5的内容,现在我同时复制A5和A6到A10和A11(相当于把A5和A6挪了个位置到A10和A11,但两者还是挨着),那么A11中的公式就是=A10
,也就是说,A6引用的是A6上方格子(A5)的内容,而A11引用的也是它上方的A10的内容,两者之间的相对关系没有变。
所以一般来说,引用内容的公式,我们都要写相对引用比较好,除非特殊需求才填绝对引用。
跨表引用
跨表引用,是指同一个表格文件中的多张表之间相互引用(比如Sheet2引用Sheet1)。
比如Sheet2中的A33,想引用Sheet1中的A33中的内容,其实实际用的时候跟同表引用没啥区别,也是你在一个格子中输入等号,然后鼠标点击另一个格子,按回车确定,只不过这两个格子不在同一个Sheet中,你要切换一下Sheet而已。
所以实际操作就是:鼠标点击Sheet2切换到Sheet2→鼠标选中Sheet2中的A33格子→输入等号→鼠标点击Sheet1→鼠标选中Sheet1中的A33→此时Sheet1的A33会以虚线显示→按回车→它会自动跳回Sheet2的A34格(我没写错,是A34而不是A33,这个效果就好像你在A33中输入内容后按回车,光标自然就会定位到A34)
此时我们再双击Sheet2的A33,就可以看到它的公式是Sheet1!A33
(或者单击选中它,然后看上面的fx那里也一样)。
可以看到,其实它只是比同表引用多了一个表名而已,表名和引用的格子之间用感叹号分隔,如果表名有空格,需要用单引用引起来(注意不能是双引号),当然没有空格你也可以用单引号引起来
跨文件引用
现在我有“工作簿1.xlsx”和“工作簿2.xlsx”两个表格文件,现在我要在“工作簿2.xlsx→Sheet1→A1”中引用“工作簿1.xlsx→Sheet1→A1”中的内容。
步骤:首先要保证这两个文件在同一个文件夹下,然后分别打开两个文件→切换到“工作簿2.xlsx→Sheet1”→选中A1→输入等号→切换到“工作簿1.xlsx→Sheet1”→选中A1(选中后A1格会有虚线)→按回车,它会自动跳回“工作簿2.xlsx→Sheet1”中的A2格。
但这样还不行,我们双击“工作簿2.xlsx→Sheet1”,双击A1格就可以看到公式(或者单击选中它,看上面的fx也能看到公式),它的公式是这样的=[工作簿1.xlsx]Sheet1!$A$1
可以看到,它其实就是在“跨表引用”的基础上,在前面用方括号指定了名称,只不过它是绝对引用(A1
是相对引用,$A$1
是绝对引用),由于绝对引用不方便复制表格和内容填充(十字拖动),所以我们要把它改成相对引用,即把$
符号删掉变成=[工作簿1.xlsx]Sheet1!A1
即可。
但手动删掉太麻烦了,其实它是有快捷键的,就是按前面的步骤,最后一步是按回车,你在按回车之前(也就是选中要引用的单元格后),按三次F4就可以按它切换为相对引用,为什么是按三次呢?
因为它默认是“行绝对,列绝对”:=[工作簿2.xlsx]Sheet1!$A$1
按一次后,变成:=[工作簿2.xlsx]Sheet1!A$1
,即列变相对(行还是绝对)
再按一次,变成:=[工作簿2.xlsx]Sheet1!$A1
,即行变相对(列还是绝对)
按第三次,变成:=[工作簿2.xlsx]Sheet1!A1
,即行列都变成相对。
同理,如果文件名有空格,它也会自动用单引号引起来(注意不能用双引号)。