《偷懒的技术》答疑008:公式中各种符号起什么作用,如何划分
说明
《“偷懒”的技术:打造财务Excel达人》出版三年以来,得到了广大读者的喜爱。《偷懒的技术》2017年名列当当网办公类年度畅销榜第二名,Excel类第一名,好评率99.8%!
为了帮助大家掌握书中的知识点,将选择读者QQ群中问得较多的一些问题录成操作演示、或予以详细解答。
请教:
问题一:为什么“&b$3&"前面要加&?只需要链接后面的财务报表工作簿,后面加一个”&“就可以了,为什么前面还要加"&"?
问题二:为什么公式中“&b$3&"要加双引号?
问题三:函数中那些需加双引号,单引号,&这些链接符怎么用,哪里可查询?谢谢
《偷懒的技术:打造财务Excel达人》的读者真用功,晚上11点了还在认真学习,点赞
01
问题详情
为了帮助其他读者弄清问题的原貌及根源,我们把图片中的《“偷懒”的技术:打造财务Excel达人》书上相关的上下文摘抄过来:
我们仍以第三节第二部分快速翻新表格中的公式的示例为例:
还是假定《财务报表》文件夹在E盘目录。打开1月文件夹中《资产负债表(2014年1月合并)》和《重庆A公司财务报表(2014年1月)》工作簿,我们观察《资产负债表(2014年1月合并)》B4:C14单元格区域引用的公式会发现,他们的公式分别如下:
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!C4
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!C5
='[北京B公司财务报表(2014年1月).xlsx]资产负债表'!C4
='[北京B公司财务报表(2014年1月).xlsx]资产负债表'!C5
如图2-43所示:
图2-43 链接到各公司报表的引用公式
不难看出,这些公式都具有一定的规律,变化的只是表格的名称和依次递增的单元格行号,因而我们完全可以使用INDIRECT函数来实现自动引用。具体操作如下:
Step1:检查B3:F3单元格区域各单位的名称与1月文件夹中各单位财务报表工作簿名称中的单位名称是否一致。这步很重要,否则,使用INDIRECT函数引用结果会出错。
Step2:在资产负债表(1月合并)的B4单元格编辑下面的公式:
=INDIRECT("'["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!C4")
往下填充公式会发现,计算结果都等于重庆A公司资产负债表C4单元格的值,而不是依次等于C5、C6单元格的值,下面使用取当前行号的函数ROW(关于ROW函数的功能介绍请参见第四章第四节)来代替公式中的行号“4”,以便往下拖动公式时会自动递增,会自动变为引用C5、C6单元格。公式修改如下:
=INDIRECT("'["&B$3&"财务报表(2014年1月).xlsx]资产负债表'!C" &ROW())
02
相关知识
上面公式用到了以下符号:
双引号""
单引号'
中括号[、]
连接符号&
括号(、)
英文句号.
感叹号!
下面分别介绍:
双引号""
公式中的文本都要用双引号括起来,单元格不能用双引号括起来,否则就会视为文本。
双引号都是成对出现的,一般来说先是左双引号,然后后面就是右双引号,不会象括号那样可以括号里面套括号。因而,读者所问的第二问:
为什么公式"&b$3&"要加双引号
有此疑问的根源是乱点鸳鸯谱,把前一对引号的后半部分,与后一对引号的前半部分,看成一对。
单引号'
一般来说,引用处于打开状态的其他工作簿,会显示为省掉地址的简写形式,比如:
=[工作簿4]Sheet1!$N$6
如果目标工作簿处于关闭状态,则显示带路径的完整地址:
='D:\我的桌面\[工作簿4.xlsx]Sheet1'!$N$6
此时,单元格引用中的地址(感叹号之前的部分)会添加单引号。
另外, 如果其他工作表或工作簿的名称包含非字母字符,则名称 (或路径) 必须用单引号括起来。比如:
='[重庆A公司财务报表(2014年1月).xlsx]资产负债表'!C4
方括号[ ]
工作簿名称(含文件后缀名)要用方括号[ ]括起来
连接符号&
&是连接符号,将两个字符串连接起来,成为一个整体。
英文句号.
文件名与后缀名之间用英文句号分隔
感叹号!
工作表与单元格地址中间用感叹号分隔。
学习了各种符号的相关知识,我们就可以轻松地将前面公式进行正确的分段,不会犯乱点鸳鸯谱的错误: