学习_Excel_查找和引用函数
按照用途分类出以下查找和引用函数:
ADDRESS
用途:以文字形式返回对工作簿中某一单元格的引用。
语法:=ADDRESS(row_num,column_num,abs_num,a1,et_text)
参数:Row_num
是单元格引用中使用的行号;Column_num
是单元格引用中使用的列标;Abs_num
指明返回的引用类型(1
或省略为绝对引用,2
为绝对行号、相对列标,3
为相对行号、绝对列标,4
是相对引用);A1
是一个逻辑值,它用来指明是以“A1”或“R1C1”返回引用样式。如果“A1”为TRUE
或省略,函数ADDRESS返回“A1”样式的引用;如果“A1”为FALSE
,函数ADDRESS返回“R1C1”样式的引用。Sheet_text
为一文本,指明作为外部引用的工作表的名称,如果省略sheet_text
,则不使用任何工作表的名称。
实例:公式=ADDRESS(1,4,4,1)
返回“D1”。
AREAS
用途:返回引用中包含的区域个数。
语法:AREAS(reference)
参数:Reference
是对某一单元格或单元格区域的引用,也可以引用多个区域。
注意:如果需要将几个引用指定为一个参数,则必须用括号括起来,以免Excel将逗号作为参数间的分隔符。
实例:公式=AREAS(a2:b4)
返回1
,=AREAS((A1:A3,A4:A6,B4:B7,A16:A18))
返回4
。
CHOOSE
用途:可以根据给定的索引值,从多达29个待选参数中选出相应的值或操作。
语法:CHOOSE(index_num,value1,value2,...)
参数:Index_num
是用来指明待选参数序号的值,它必须是1到29之间的数字、或者是包含数字1到29的公式或单元格引用;Value1
,value2
,...为1到29个数值参数,可以是数字、单元格,已定义的名称、公式、函数或文本。
实例:公式=CHOOSE(2,"电脑","爱好者")
返回爱好者
。公式=SUM(A1:CHOOSE(3,A10,A20,A30))
与公式=SUM(A1:A30)
等价(因为CHOOSE(3,A10,A20,A30)
返回A30
)。
COLUMN
用途:返回给定引用的列标。
语法:COLUMN(reference)
参数:Reference
为需要得到其列标的单元格或单元格区域。如果省略reference
,则假定函数COLUMN是对所在单元格的引用。如果reference
为一个单元格区域,并且函数COLUMN作为水平数组输入,则COLUMN函数将reference
中的列标以水平数组的形式返回。
实例:公式=COLUMN(A3)
返回1
,=COLUMN(B3:C5)
返回2
。
HLOOKUP
用途:在表格或数值数组的首行查找指定的数值,并由此返回表格或数组当前列中指定行处的数值。
语法:HLOOKUP(lookup_value,table_array,row_index_num,range_lookup)
参数:Lookup_value
是需要在数据表第一行中查找的数值,它可以是数值、引用或文字串;Table_array
是需要在其中查找数据的数据表,可以使用对区域或区域名称的引用,Table_array
的第一行的数值可以是文本、数字或逻辑值。Row_index_num
为table_array
中待返回的匹配值的行序号。Range_lookup
为一逻辑值,指明函数HLOOKUP查找时是精确匹配,还是近似匹配。
实例:如果A1:B3
区域存放的数据为34
、23
、68
、69
、92
、36
,则公式=HLOOKUP(34,A1:B3,1,FALSE)
返回34
;=HLOOKUP(3,{1,2,3;"a","b","c";"d","e","f"},2,TRUE)
返回c
。
HYPERLINK
用途:创建一个快捷方式,用以打开存储在网络服务器、Intranet(Internet)或本地硬盘的其它文件。
语法:HYPERLINK(link_location,friendly_name)
参数:Link_location
是文件的路径和文件名,它还可以指向文档中的某个更为具体的位置,如Execl工作表或工作簿中特定的单元格或命名区域,或是指向Word文档中的书签。路径可以是存储在硬盘驱动器上的文件,或是Internet或Intranet上的URL路径;Friendly_name
为单元格中显示的链接文字或数字,它用蓝色显示并带有下划线。如果省略了Friendly_name
,单元格就将link_location
显示为链接。
实例:HYPERLINK("http://www.mydrivers.com/","驱动之家")
会在工作表中显示文本“驱动之家”,单击它即可连接到http://www.mydrivers.com/
。公式=HYPERLINK("D:\README.TXT","说明文件")
在工作表中建立一个的蓝色说明文件
链接,单击它可以打开D盘上的README.TXT文件。
INDEX
用途:返回表格或区域中的数值或对数值的引用。函数INDEX()有两种形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。
语法:INDEX(array,row_num,column_num)
返回数组中指定的单元格或单元格数组的数值。
INDEX(reference,row_num,column_num,area_num)
返回引用中指定单元格或单元格区域的引用。
参数:Array
为单元格区域或数组常数;Row_num
为数组中某行的行序号,函数从该行返回数值。如果省略row_num
,则必须有column_num
;Column_num
是数组中某列的列序号,函数从该列返回数值。如果省略column_num
,则必须有row_num
。Reference
是对一个或多个单元格区域的引用,如果为引用输入一个不连续的选定区域,必须用括号括起来。Area_num
是选择引用中的一个区域,并返回该区域中row_num
和column_num
的交叉区域。选中或输入的第一个区域序号为1
,第二个为2
,以此类推。如果省略area_num
,则INDEX函数使用区域1
。
实例:如果A1
=68
、A2
=96
、A3
=90
,则公式=INDEX(A1:A3,1,1)
返回68
,=INDEX(A1:A3,1,1,1)
返回68
。
INDIRECT
用途:返回由文字串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,即可使用INDIRECT函数。
语法:INDIRECT(ref_text,a1)
参数:Ref_text
是对单元格的引用,此单元格可以包含A1样式
的引用、R1C1样式
的引用、定义为引用的名称或对文字串单元格的引用;A1
为一逻辑值,指明包含在单元格ref_text
中的引用的类型。如果a1
为TRUE
或省略,ref_text
被解释为A1-样式
的引用。如果a1
为FALSE
,ref_text
被解释为R1C1-样式
的引用。
实例:如果单元格A1
存放有文本B1
,而B1
单元格中存放了数值68.75
,则公式=INDIRECT($A$1)
返回68.75
。
LOOKUP
用途:返回向量(单行区域或单列区域)或数组中的数值。
该函数有两种语法形式:向量和数组,其向量形式是在单行区域或单列区域(向量)中查找数值,然后返回第二个单行区域或单列区域中相同位置的数值;其数组形式在数组的第一行或第一列查找指定的数值,然后返回数组的最后一行或最后一列中相同位置的数值。
语法1(向量形式):LOOKUP(lookup_value,lookup_vector,result_vector)
语法2(数组形式):LOOKUP(lookup_value,array)
参数1(向量形式):Lookup_value
为函数LOOKUP在第一个向量中所要查找的数值。Lookup_value
可以为数字、文本、逻辑值或包含数值的名称或引用。Lookup_vector
为只包含一行或一列的区域。Lookup_vector
的数值可以为文本、数字或逻辑值。
参数2(数组形式):Lookup_value
为函数LOOKUP在数组中所要查找的数值。Lookup_value
可以为数字、文本、逻辑值或包含数值的名称或引用。如果函数LOOKUP找不到lookup_value
,则使用数组中小于或等于lookup_value
的最大数值。Array
为包含文本、数字或逻辑值的单元格区域,它的值用于与lookup_value
进行比较。
注意:Lookup_vector
的数值必须按升序排列,否则LOOKUP函数不能返回正确的结果,参数中的文本不区分大小写。
实例:如果A1
=68
、A2
=76
、A3
=85
、A4
=90
,则公式=LOOKUP(76,A1:A4)
返回2
,=LOOKUP("bump",{"a",1;"b",2;"c",3})
返回2
。
MATCH
用途:返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用MATCH函数。
语法:MATCH(lookup_value,lookup_array,match_type)
参数:Lookup_value
为需要在数据表中查找的数值,它可以是数值(或数字、文本或逻辑值)、对数字、文本或逻辑值的单元格引用。Lookup_array
是可能包含所要查找的数值的连续单元格区域,Lookup_array
可以是数组或数组引用;Match_type
为数字-1
、0
或1
,它说明Excel如何在lookup_array
中查找lookup_value
。如果match_type
为1
,函数MATCH查找小于或等于lookup_value
的最大数值。如果match_type
为0
,函数MATCH查找等于lookup_value
的第一个数值。如果match_type
为-1
,函数MATCH查找大于或等于lookup_value
的最小数值。
注意:MATCH函数返回lookup_array
中目标值的位置,而不是数值本身。如果match_type
为0
且lookup_value
为文本,lookup_value
可以包含通配符(“*
”和“?
”)。星号可以匹配任何字符序列,问号可以匹配单个字符。
实例:如果A1
=68
、A2
=76
、A3
=85
、A4
=90
,则公式=MATCH(90,A1:A5,0)
返回3
。
OFFSET
用途:以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以是一个单元格或单元格区域,并可以指定返回的行数或列数。
语法:OFFSET(reference,rows,cols,height,width)
参数:Reference
是作为偏移量参照系的引用区域,它必须是单元格或相连单元格区域的引用;Rows
是相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用5
作为参数Rows
,则说明目标引用区域的左上角单元格比reference
低5行。行数可为正数(代表在起始引用的下方)或负数(代表 在起始引用的上方);Cols
是相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用5
作为参数Cols
,则说明目标引用区域的左上角的单元格比reference
靠右5列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用 的左边);Height
是要返回的引用区域的行数,Height
必须为正数;Width
是要返回的引用区域的列数,Width
必须为正数。
实例:如果A1
=68
、A2
=76
、A3
=85
、A4
=90
,则公式=SUM(OFFSET(A1:A2,2,0,2,1))
返回177
。
ROW
用途:返回给定引用的行号。
语法:ROW(reference)
参数:Reference
为需要得到其行号的单元格或单元格区域。
实例:公式=ROW(A6)
返回6
,如果在C5单元格中输入公式=ROW()
,其计算结果为5
。
ROWS
用途:返回引用或数组的行数。
语法:ROWS(array)
参数:Array
是需要得到其行数的数组、数组公式或对单元格区域的引用。
实例:公式=ROWS(A1:A9)
返回9
,=ROWS({1,2,3;4,5,6;1,2,3})
返回3
。
RTD
用途:从支持COM自动化的程序中返回实时数据。
语法:RTD(ProgID,server,topic1,[topic2],...)
参数:ProgID
已安装在本地计算机中,经过注册的COM自动化加载宏的ProgID
名称,该名称用引号引起来。Server
是运行加载宏的服务器的名称。如果没有服务器,程序是在本地计算机上运行,那么该参数为空白。topic1,topic2,...
为1到28个参数,这些参数放在一起代表一个唯一的实时数据。
TRANSPOSE
用途:返回区域的转置(所谓转置就是将数组的第一行作为新数组的第一列,数组的第二行作为新数组的第二列,以此类推)。
语法:TRANSPOSE(array)
参数:Array
是需要转置的数组或工作表中的单元格区域。
实例:如果A1
=68
、A2
=76
、B1
=85
、B2
=90
,那么公式{=TRANSPOSE(A1:B1)}
返回C1
=56
、D1
=98
、C2
=90
、D2
=87
。
VLOOKUP
用途:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数VLOOKUP代替函数HLOOKUP。
语法:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)
参数:Lookup_value
为需要在数据表第一列中查找的数值,它可以是数值、引用或文字串。Table_array
为需要在其中查找数据的数据表,可以使用对区域或区域名称的引用。Col_index_num
为table_array
中待返回的匹配值的列序号。Col_index_num
为1
时,返回table_array
第一列中的数值;col_index_num
为2
,返回table_array
第二列中的数值,以此类推。Range_lookup
为一逻辑值,指明函数VLOOKUP返回时是精确匹配还是近似匹配。如果为TRUE
或省略
,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回 小于 lookup_value
的最大数值;如果range_value
为FALSE
,函数VLOOKUP将返回精确匹配值。如果找不到,则返回错误值#N/A
。
实例:如果A1
=23
、A2
=45
、A3
=50
、A4
=65
,则公式=VLOOKUP(50,A1:A4,1,TRUE)
返回50
。
相关文章目录