Excel技术 | 名称3:名称的秘密
在上一篇文章中,我们详细介绍了定义名称的不同方法。下面,我们将探讨一下名称中的一些细节,以便更好地理解和使用名称。
名称引用单元格的方式
在定义名称时,Excel默认使用单元格绝对引用,如图1所示。这表明,无论怎样,名称“姓名”总是指向单元格区域B3:B6。
图1
然而,也可以在定义名称时使用单元格相对引用,这将带来很多有趣的应用。例如,如图2所示,当前单元格为工作表Sheet2中的单元格C2,定义的名称LeftUp的引用位置为:
=Sheet2!B1
使用的是相对引用,即该名称将指向当前单元格向左一列向上一行的单元格。
图2
因此,当在工作表的单元格B2中输入公式:
=LeftUp
将引用单元格A1,如图3所示。
图3
如果我们创建名称:TotalCells
引用位置:=SUM(!A1:!A10)
那么,在工作表第10行以下的任意单元格中输入公式:
=TotalCells
将返回该单元格上方10个单元格数值之和。
也可以使用混合引用来创建名称。如果创建名称:ValueInFirstCol
引用位置:=!$A1
将总是返回工作表当前单元格所在行的列A中的值。
名称与数组
在上文图1中,我们定义了名称“姓名”,那么这个名称实际上是一个数组。选取单元格区域A1:A4,输入
=姓名
按Ctrl+Shift+Enter组合键,结果如图4所示,得到名称引用的4个单元格的数据。
图4
在使用“数据有效性”功能时,我们经常会运用到名称,使用该名称引用的单元格区域作为下拉列表的数据源,如图5所示。
图5
结果如图6所示。此外,使用名称,我们可以将其他工作表中的单元格区域作为数据源。
图6
第七个小矮人
主演:奥托·瓦尔克斯 / Mirco Nontschew / Boris Aljinovic
名称与公式
如果定义的名称引用的是一个公式,那么该公式将被评估为是一个数组公式。
工作表级名称
上一篇文章介绍过,在定义名称时可以定义名称的作用范围,默认为工作簿级名称。可以定义为工作表级名称,只能在该工作表中使用。
如果工作表名中含有空格或者其他特殊字符,那么在定义工作表级名称时必须在工作表名两侧添加单引号,例如:
'完美 Excel’!MyWorksheetName
'完美Excel(1)’!MyName
如果工作表级名称与工作簿级名称同名,那么在定义工作表级名称的工作表中使用时,将会使用该工作表级名称,而在其他工作表中使用这个名称时,则会使用工作簿级名称。如果要在其他工作表中使用某工作表级名称,则要在名称前加上该工作表名。
使用其他工作簿的名称
如果要使用“完美 Excel.xlsx”工作簿中的名称“excelperfect”,输入如下:
=’完美 Excel.xlsx’!excelperfect
如果名称“excelperfect”为工作表级名称,工作表为Sheet1,则输入如下:
=’[完美 Excel.xlsx]Sheet1’!excelperfect
特殊名称
Excel定义了一些内置的名称(有时称之为隐藏的名称),你可以在VBA代码中灵活使用这些名称,但是最好不要人为修改这些名称,或者自已命名与之同名的名称。
下面列出了一些Excel定义的名称:
Print_Area、Print_Titles、Consolidate_Area、Database、Criteria、Extract、FilterDatabase、Sheet_Title
例如,如果在工作表中设置了一个打印区域,那么Excel会为这个区域创建名称Print_Area。一些Excel加载项也会创建隐藏的名称。
快速输入名称
在单元格中输入名称时,随着输入,Excel会自动感应出以输入的文本开头的名称和函数,如图7所示,此时选择要输入的名称,按Tab键即可完成输入。
图7
应用名称到已有的公式
如果工作表中已经定义有公式:
=A1+B1
后来,定义名称FirstCell引用单元格A1,名称SecondCell引用单元格B1,那么可以选取使用公式的单元格,然后单击定义名称中的应用名称,选择相应的名称,单击确定,Excel将公式变为:
=FirstCell+SecondCell