Excel常用的查找引用函数及方法
- 格式:doc
- 大小:204.50 KB
- 文档页数:10
一、概述Excel中有许多函数可以用来引用满足条件区域的数据,在数据分析和报告生成过程中,这些函数可以帮助我们快速准确地提取所需信息。
本文将对几种常用的引用函数进行介绍和讲解,以帮助读者更好地理解和运用这些函数。
二、VLOOKUP函数1. 作用和语法VLOOKUP函数是Excel中最常用的引用函数之一,它的作用是在指定的区域中查找某个值,并返回该值所在行的指定列数据。
其基本语法为:VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])。
2. 使用示例如果我们有一个销售数据的表格,其中包括产品名称和对应的销售额,我们可以使用VLOOKUP函数来查找特定产品的销售额。
具体操作是在一个单元格中输入公式:=VLOOKUP("产品A", A1:B10, 2, FALSE),这样就可以得到产品A的销售额。
三、INDEX和MATCH函数组合1. 作用和语法INDEX和MATCH函数的组合也是一种常用的引用函数,它的作用是在指定的区域中查找满足条件的值,并返回该值所在位置的数据。
INDEX函数用于返回指定行和列的单元格数据,MATCH函数用于查找特定值在数组中的位置。
其基本语法为:INDEX(array, row_num, [column_num])和MATCH(lookup_value, lookup_array, [match_type])。
2. 使用示例假设我们需要根据销售数据表格中的产品名称来获取销售额,我们可以使用INDEX和MATCH函数组合来实现。
具体操作是在一个单元格中输入公式:=INDEX(B1:B10, MATCH("产品B", A1:A10, 0)),这样就可以得到产品B的销售额。
四、SUMIF和SUMIFS函数1. 作用和语法SUMIF和SUMIFS函数是用于在指定的区域中根据条件进行求和的函数。
EXCEL常用查找引用三大函数的使用说明在Excel中,查找和比对数据是非常常见的操作。
为了简化这个过程,Excel提供了三个常用的查找(比对)引用函数:VLOOKUP、HLOOKUP和MATCH。
本文将详细介绍这三个函数的使用说明。
1.VLOOKUP函数:VLOOKUP函数用于在一个区域中查找一些值,并返回该值所在行或列的相对位置。
其基本语法为:```VLOOKUP(lookup_value, table_array, col_index_num,range_lookup)```- lookup_value:要查找的值。
- table_array:要查找的区域,包括待查找的值和结果所在的列。
- col_index_num:结果所在的列相对于table_array的位置,从1开始计数。
- range_lookup:指定查找方式,可选值为TRUE或FALSE。
如果为TRUE(默认值),则进行近似匹配;如果为FALSE,则进行精确匹配。
2.HLOOKUP函数:HLOOKUP函数与VLOOKUP函数类似,不同之处在于它用于在一个区域中按行查找一些值,并返回该值所在列的相对位置。
其基本语法为:```HLOOKUP(lookup_value, table_array, row_index_num,range_lookup)```- lookup_value:要查找的值。
- table_array:要查找的区域,包括待查找的值和结果所在的行。
- row_index_num:结果所在的行相对于table_array的位置,从1开始计数。
- range_lookup:指定查找方式,可选值为TRUE或FALSE。
如果为TRUE(默认值),则进行近似匹配;如果为FALSE,则进行精确匹配。
3.MATCH函数:MATCH函数用于查找一些值在一个区域中的相对位置。
其基本语法为:```MATCH(lookup_value, lookup_array, match_type)```- lookup_value:要查找的值。
excel引用表格多个数据的函数在Excel中,你可以使用多个函数来引用表格中的多个数据。
下面是一些常用的函数:1. VLOOKUP函数:用于在一个数据区域中查找指定的值,并返回该值所在的单元格或该单元格所在的行、列。
可以使用VLOOKUP函数在一个表格中查找多个数据。
例如,VLOOKUP函数的语法为:VLOOKUP(lookup_value,table_array, col_index_num, [range_lookup]),其中lookup_value 是要查找的值,table_array是要查找的数据区域,col_index_num是返回值所在的列号,[range_lookup]是一个可选参数,用于指定是否按近似匹配查找。
2. INDEX函数和MATCH函数的组合:INDEX函数用于返回表格中指定行和列的单元格的值,MATCH函数用于在一个数据区域中查找指定的值并返回其位置(行号或列号)。
可以使用INDEX函数和MATCH函数的组合在一个表格中引用多个数据。
例如,INDEX函数和MATCH函数的组合的语法为:INDEX(array, MATCH(lookup_value, lookup_array,[match_type]), col_num),其中array是要引用的数据区域,lookup_value是要查找的值,lookup_array是要查找的数据区域,[match_type]是一个可选参数,用于指定匹配类型,col_num是返回值所在的列号。
3. OFFSET函数:用于返回一个单元格或一组单元格的引用,可以通过指定行数和列数来指示要返回的引用相对于指定单元格的位置。
可以使用OFFSET函数引用表格中的多个数据。
例如,OFFSET函数的语法为:OFFSET(reference, rows, cols, [height], [width]),其中reference是要参照的单元格,rows是要偏移的行数,cols是要偏移的列数,[height]是一个可选参数,用于指定引用的高度,[width]是一个可选参数,用于指定引用的宽度。
Excel中常用的20个查找与引用函数及其用法如下:1. IF函数:条件判断,用法为IF(判断的条件,符合条件时的结果,不符合条件时的结果)。
2. AND函数:对两个条件判断,如果同时符合,IF函数返回“有”,否则为无。
3. SUMIF函数:用法为SUMIF(条件区域,指定的求和条件,求和的区域)。
4. SUMIFS函数:用法为SUMIFS(求和的区域,条件区域1,指定的求和条件1,条件区域2,指定的求和条件2,……)。
5. COUNTIF函数:统计条件区域中,符合指定条件的单元格个数。
常规用法为COUNTIF(条件区域,指定条件)。
6. COUNTIFS函数:统计条件区域中,符合多个指定条件的单元格个数。
常规用法为COUNTIFS(条件区域1,指定条件 1,条件区域 2,指定条件2……)。
7. VLOOKUP函数:函数的语法为VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还是近似找)。
8. LOOKUP函数:多条件查询写法为LOOKUP(1,0/((条件区域 1 =条件1)*(条件区域2 =条件2)),查询区域)。
9. EVALUATE函数:计算单元格中的文本算式,先单击第一个要输入公式的单元格,定义名称 : 计算= EVALUATE(C2)。
10. &符号:连接合并多个单元格中的内容。
11. TEXT函数:把日期变成具有特定样式的字符串。
12. EXACT函数:区分大小写,但忽略格式上的差异。
此外还有以下函数也常用于查找与引用:13. INDEX函数:可以返回表格或数组中的元素值,而不必输入公式。
14. MATCH函数:在数据表中查找指定项,并返回其位置。
15. OFFSET函数:从指定的引用中返回指定的偏移量。
16. CHOOSE函数:根据索引号从数组中选择数值。
17. HLOOKUP函数:在表格或数值数组的首行查找指定的数值,并返回同一行的中指定单元格的值。
18. HYPERLINK函数:创建超链接,以便快速跳转到指定的位置。
EXCEL中多条件查找并引用数据的方法在Excel中,多条件查找并引用数据是一种常见的需求。
它指的是同时使用多个条件来和筛选数据,并使用引用函数将符合条件的数据提取或者计算出来。
本文将介绍三种常用的方法,分别是使用多个条件的IF函数、使用VLOOKUP函数和使用INDEX-MATCH函数。
方法一:使用多个条件的IF函数IF函数是Excel中非常常用的逻辑函数,它可以根据指定的条件返回不同的值。
当需要使用多个条件进行筛选时,可以多次嵌套IF函数。
例如,假设我们有一个数据表,包含了销售员的名字、销售额和销售地区等信息。
我们想要根据销售员的名字和销售地区来查找对应的销售额。
首先,在一个单元格中输入要查找的销售员的名字,然后在另一个单元格中输入要查找的销售地区。
然后,可以使用如下的公式进行查找并提取销售额:=IF(AND(A2=E2,B2=F2),C2,"")其中,A2、B2和C2分别是数据表中的销售员名字、销售地区和销售额的列标记。
E2和F2分别是要查找的销售员名字和销售地区的单元格引用。
公式中的AND函数用于判断两个条件是否同时满足,如果是,则返回对应的销售额;如果不是,则返回空白。
将公式拖动复制到需要的单元格中,就可以获取到对应的销售额了。
方法二:使用VLOOKUP函数VLOOKUP函数是Excel中非常强大的查找函数,可以根据指定的条件查找并引用数据。
当需要使用多个条件进行查找时,可以将条件合并为一个复合条件,然后使用VLOOKUP函数进行查找。
例如,假设我们有一个数据表,包含了销售员的名字、销售额和销售地区等信息。
我们想要根据销售员的名字和销售地区来查找对应的销售额。
首先,在一个单元格中输入要查找的销售员的名字和销售地区,用逗号隔开。
然后,可以使用如下的公式进行查找并提取销售额:其中,E2和F2分别是要查找的销售员名字和销售地区的单元格引用。
A2:C10是数据表的范围,其中A2是销售员名字的列标记,C2是销售额的列标记。
Excel系列:查找和引⽤函数上篇⽂章分享了⽇期和时间函数,这篇介绍查找引⽤函数。
在数据量⾮常少的时候,可能并不需要使⽤查找引⽤函数,但是数据量⼀⼤,你就能感受到查找引⽤函数有多重要。
接下来跟着⼩鱼⼀起来学习查找引⽤函数吧!知识点:column columns row rows match vllookup hlookup lookupindex indirect offset⼀、查找函数1.column函数、columns函数语法:column(区域)、columns(数组或区域)作⽤:column函数——返回⼀个引⽤的列号columns函数——返回某⼀引⽤或数组的列数⽰例:2.row函数、rows函数语法:row(区域)、rows(数组或区域)作⽤:row函数——返回⼀个引⽤的⾏号rows函数——返回某⼀引⽤或数组的⾏数⽰例:3.match函数语法:match(查找值,查找区域或数组,[配备类型])作⽤:返回查找值在查找区域或数组的相对位置⽰例:解读:公式的第三个参数⽤中括号表⽰该参数为选填项,有两种匹配类型可选。
第⼀种是0(FALSE),代表精确匹配;第⼆种是1(TRUE),代表近似匹配。
如果不填写第三参数,默认为0(精确匹配)。
4.vlookup函数语法:vlookup(查找值,查找区域,区域内第⼏列,[匹配类型])作⽤:根据⾸列满⾜查找值的⾏序号,返回在区域内对应列数的值⽰例:5.hlookup函数语法:vlookup(查找值,查找区域,区域内第⼏⾏,[匹配类型])作⽤:根据⾸列满⾜查找值的列序号,返回在区域内对应⾏数的值⽰例:6.lookup函数(1)向量形式语法:lookup(查找值,查找区域,[结果区域])作⽤:从单⾏/列中查找⼀个值⽰例:解读:公式的第三个参数⽤中括号表⽰该参数为选填项。
需要注意的是,查找区域和结果区域的范围应该相等。
仔细的朋友应该有注意到,前四位⼩陈、⼩林、⼩罗、⼩张的班级查询结果都是对的,第五位⼩汤显⽰班级为三班,但依照数据来看,其实应该是五班才对。
Excel查找引用函数-LookupExcel中的查找引用函数LOOKUP是一种强大的工具,用于在数据集中查找并返回指定值的相应值。
LOOKUP函数可以用于两种类型的查找:近似查找和精确查找。
通过LOOKUP函数,用户可以快速、准确地找到他们所需的信息,而不必手动整个数据集。
LOOKUP函数的语法如下:LOOKUP(lookup_value, lookup_vector, [result_vector])该函数有三个参数:1. lookup_value:要查找的值。
可以是一个数字、文本、逻辑值或引用。
2. lookup_vector:用于查找的单行或单列数据集。
3. result_vector(可选):包含结果的单行或单列数据集。
现在,我将详细介绍LOOKUP函数的使用方法和一些常见的应用场景。
1.精确查找LOOKUP函数可以实现精确查找,即查找与查找值完全匹配的值。
以下是一个示例:=LOOKUP(A2,B2:B10,C2:C10)在这个例子中,我们要在B2:B10范围内查找A2单元格中的值,并在找到的相应行中返回C列的值。
如果找到多个匹配项,LOOKUP函数将返回最后一个匹配项。
2.近似查找LOOKUP函数还可以进行近似查找,即查找一个范围内最接近(但不大于)查找值的值。
以下是一个示例:=LOOKUP(E2,F2:F10,G2:G10)在这个例子中,我们要查找G2:G10范围内最接近E2单元格中的值,但不能大于该值的值,并返回相应的F列值。
3.使用LOOKUP进行条件查找LOOKUP函数还可以与其他函数结合使用,实现条件查找。
以下是一个示例:=LOOKUP(MAX(A2:A10),A2:A10,B2:B10)在这个例子中,我们要找到A2:A10范围内的最大值,并返回相应的B列值。
通过使用MAX函数,我们可以首先确定最大值,然后将其作为LOOKUP函数的查找值。
4.使用LOOKUP进行区间查找LOOKUP函数还可以用于区间查找,即查找一个值所在的区间,并返回对应区间的值。
查找和引用函数全部用法查找和引用函数是Excel中非常常用的功能,通过使用函数,我们能够快速、准确地进行数据计算和分析。
本篇文章将介绍查找和引用函数的全部用法,帮助您更好地利用Excel进行数据处理。
1. VLOOKUP函数VLOOKUP函数是Excel中最常用的查找函数之一。
它可以在数据表格中查找特定的值,并返回该值所在行或列的其他信息。
该函数通常由四个参数组成:要查找的值、数据表格区域、要返回的列数或行数以及是否进行精确匹配。
2. INDEX函数INDEX函数可以在数据表格中查找特定的行和列,并返回这些行和列中的值。
该函数通常由三个参数组成:数据表格区域、要返回的行数和要返回的列数。
3. MATCH函数MATCH函数可以在数据表格中查找特定的值,并返回该值在数据表格中的位置。
该函数通常由三个参数组成:要查找的值、数据表格区域和匹配类型。
4. HLOOKUP函数HLOOKUP函数与VLOOKUP函数类似,但是它是按照行进行查找,而不是按照列进行查找。
该函数通常由四个参数组成:要查找的值、数据表格区域、要返回的行数以及是否进行精确匹配。
5. CHOOSE函数CHOOSE函数可以根据指定的序号返回一组值中的某个值。
该函数通常由两个参数组成:序号和值组。
6. OFFSET函数OFFSET函数可以从指定的单元格开始,沿着指定的行列偏移量查找某个单元格,并返回该单元格中的值。
该函数通常由五个参数组成:起始单元格、行偏移量、列偏移量、返回的行数和返回的列数。
7. INDIRECT函数INDIRECT函数可以将一个文本表示的单元格地址转换为有效的单元格引用,并返回该单元格中的值。
该函数通常只有一个参数:单元格地址。
以上就是查找和引用函数的全部用法。
通过熟练掌握这些函数,您将能够更加高效地利用Excel进行数据处理和分析。
EXCEL常用查找引用三大函数的使用说明在Excel中,有三个常用的查找(比对)引用函数,分别是VLOOKUP 函数、HLOOKUP函数和INDEX-MATCH函数。
这些函数主要用于在大量数据中查找一些特定值,并返回与该值相关的数据。
下面将详细介绍这三个函数以及它们的使用方法。
1.VLOOKUP函数VLOOKUP函数用于垂直查找一些特定值,并返回与该值相关的数据。
它的基本语法如下:VLOOKUP(lookup_value, table_array, col_index_num,[range_lookup])- lookup_value:要查找的值。
- table_array:包含要查找的值和相关数据的表格区域。
- col_index_num:要返回的数据所在的列号(从左到右的顺序)。
- range_lookup:一个逻辑值,指定是否要进行近似匹配。
例如,假设有一个包含员工工资信息的表格,要在工资表中查找一些特定员工的工资。
可以使用VLOOKUP函数来实现。
例如,要查找员工编号为1001的员工的工资,可以使用以下公式:=VLOOKUP(1001,A1:C10,3,FALSE)其中,A1:C10是包含员工工资信息的表格区域,3表示要返回的数据所在的列是第3列(工资数据)。
2.HLOOKUP函数HLOOKUP函数与VLOOKUP函数类似,但是它是用于水平查找一些特定值,并返回与该值相关的数据。
它的基本语法如下:HLOOKUP(lookup_value, table_array, row_index_num,[range_lookup])- lookup_value:要查找的值。
- table_array:包含要查找的值和相关数据的表格区域。
- row_index_num:要返回的数据所在的行号(从上到下的顺序)。
- range_lookup:一个逻辑值,指定是否要进行近似匹配。
与VLOOKUP函数类似,HLOOKUP函数也可以用于在包含员工工资信息的表格中查找一些特定员工的工资。
Excel常用的20个查找与引用函数及用法1. VLOOKUP():垂直查找某个值在表格中的位置并返回对应的值。
2. HLOOKUP():水平查找某个值在表格中的位置并返回对应的值。
3. INDEX():返回某个区域或数组中指定位置的值。
4. MATCH():查找某个值在区域或数组中的位置。
5. OFFSET():返回基于给定的起始位置和偏移量的新区域。
6. ADDRESS():返回特定单元格的地址。
7. CHOOSE():基于特定条件选择相应的值。
8. INDIRECT():返回以文本形式表示的单元格地址的值。
9. AREAS():返回区域中单元格数目的数量。
10. COLUMN():返回单元格所在的列号。
11. ROW():返回单元格所在的行号。
12. COUNTIF():计算符合特定条件的单元格数量。
13. SUMIF():计算符合特定条件的单元格汇总值。
14. AVERAGEIF():计算符合特定条件的单元格平均值。
15. MAX():返回给定区域内的最大值。
16. MIN():返回给定区域内的最小值。
17. LARGE():返回给定区域内的第n个最大值。
18. SMALL():返回给定区域内的第n个最小值。
19. COUNTBLANK():计算给定区域内的空单元格数量。
20.IF():基于特定条件返回不同的值。
用法:1. VLOOKUP(要查找的值, 表格区域, 返回值所在列数, 是否按近似匹配)2. HLOOKUP(要查找的值, 表格区域, 返回值所在行数, 是否按近似匹配)3. INDEX(数组或区域, 行号, 列号)4. MATCH(要查找的值, 数组或区域, 是否按近似匹配)5. OFFSET(基准单元格, 行偏移量, 列偏移量, 返回区域的行数, 返回区域的列数)6. ADDRESS(行号, 列号)7. CHOOSE(条件序号, 值1, 值2, ...)8. INDIRECT(以文本形式表示的单元格地址)9. AREAS(区域)10. COLUMN(单元格)11. ROW(单元格)12. COUNTIF(区域, 符合条件的值)13. SUMIF(区域, 符合条件的值, 求和的区域)14. AVERAGEIF(区域, 符合条件的值, 求平均的区域)15. MAX(区域)16. MIN(区域)17. LARGE(区域, n)18. SMALL(区域, n)19. COUNTBLANK(区域)20. IF(条件, 如果条件为真返回的值, 如果条件为假返回的值)。
Excel常用的查找引用函数及方法在excel函数的运用中,查找引用函数是经常用到的。
像VLOOKUP的运用,还有有条件的引用等等。
在这里,我想讲讲比较常用的几个函数,还有一些网上常见到的经典问题。
一、VLOOKUPVLOOKUP是初学者问得比较多的一个函数,许多人学引用就是从它开始的。
它是功能是:在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。
说白一点就是:根据首列进行查找。
它的格式:VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)用中文来表示:VLOOKUP(查找条件,查找范围,要引用的数据在范围内的第几列,查找方式<精确与否>)。
这里有点得说明一下,它的第一个参数lookup_value(查找条件)必须是查找范围的最左列,也就是首列。
第四个参数,查找方式,有两种状态,一种为False(或0),函数以精确匹方式查找,并支持无序查找;一种为True(或1),函数以模糊匹配方式查找,定位在小于它的最大值。
图一如图,在B12里的公式:=VLOOKUP(A12,$A$1:$E$10,2,0)这公式根据A12的数据。
在A1:A10里查找与A12精确匹配的数据,找到后,取相对应的第二列的数据。
如果找不到,就会返回#N/A。
这里,A12的“A003”就是查找条件,$A$1:$A$10是查找范围,2是取值列,最后的0是精确匹配。
如果用模糊查找:=VLOOKUP(A12,$A$1:$E$10,2,1),并把A12的值改为:A013,大家请看图二图二函数就会查找小于A013的最大值A009,并取出第2列里的对应值,得到:陈平。
如果我们要根据姓名来查询学号,VLOOKUP能否完成呢?因为姓名在学号的右边,是不合乎“查找范围的最左列”的条件的。
办法总是有的,以下公式就是了:=VLOOKUP(A13,IF({1,0},$B$1:$B$10,$A$1:$A$10),2,0)如图三:图三此公式利用IF函数来产生一个新的内存数组来提供给VLOOKUP作第二个参数(查找范围)进行查询,最终达到目的。
除了用这个方法外,还可以用以下公式来实现:=INDEX($A$1:$A$10,MA TCH(A14,$B$1:$B$10,0))如图四:图四这里用到了两个有关查找与引用的函数:index和match二、index与match2.1 函数基础我们先看看index在帮助里是怎么说的:返回表或区域中的值或值的引用。
函数 INDEX() 有两种形式:数组和引用。
数组形式通常返回数值或数值数组;引用形式通常返回引用。
INDEX(array,row_num,column_num) 返回数组中指定单元格或单元格数组的数值。
INDEX(reference,row_num,column_num,area_num) 返回引用中指定单元格区域的引用。
这里用到的是第一种:index(引用区域,引用区域的第几行,引用区域的第几列)当引用区域只是一行或只是一列时,第二或第三个参数就得省略。
举个简单的例子:=INDEX(A1:E10,3,2)这公式就是引用A1:D10区域的第三行第二列的数据。
如图五:图五面公式:=INDEX(B1:B10,3)也一样得到“贝瑶”。
这里的引用区域只是在D列,所以把列的参数省了。
Match的功能是:返回在指定方式下与指定数值匹配的数组中元素的相应位置格式:MATCH(lookup_value,lookup_array,match_type)MAT(要查找的数据,查找区域,查找方式)这里的第三个查找方式与VLOOKUP的一样。
=MATCH(A16,B1:B10,0) 返回A16的数据(贝瑶)在B1:B10的位置,得到3。
如图六:图六现在回头来看公式:=INDEX($A$1:$A$10,MA TCH(A14,$B$1:$B$10,0))这回明白了吧:用Match函数取得A14(王春燕)在第几行(4),然后用index函数在A1:A10里取第四行就得到了A003。
2.2 两个经典2.2.1同名横排在此讲一个许多网友问过的问题。
做一个简单的例子,如下图A列里的姓名有重复,要求把相对应的B列的值横排在唯一姓名的右边。
E2的公式:(数组公式){=IF(COUNTIF($A$1:$A$7,$D2)<COLUMN()-4,"",INDEX($B$1:$B$7,SMALL(IF($A$1:$A$7=$D2,ROW($ A$1:$A$7),""),COLUMN(A$1))))}D列的值可以用高级筛选得到,也可以用公式(此公式一会就说)公式中红色的部分是公式的核心。
蓝色的部分作用是去错误值。
红色部分公式还是index的引用,第一个参数是$B$1:$B$7,只在一列引用,所以后面的还要一个参数就够。
这个参数就是:SMALL(IF($A$1:$A$7=$D2,ROW($A$1:$A$7),""),COLUMN(A$1)),先看IF的部分:IF($A$1:$A$7=$D2,ROW($A$1:$A$7),""),意思是:$A$1:$A$7里的数据与D2的相等的,就取得它的行号,否则为空(""),得到的结果是:{"";2;3;"";"";6;""}。
外面套的是SMALL函数,这是了个取第N个最小值的函数。
格式:SMALL(array,k) 《SMALL(取值区域或数组,取第几个)》前面的公式,把结果放进去就得到:SMALL({"";2;3;"";"";6;""},COLUMN(A$1))COLUMN(A$1)的结果是1,也就是列号。
这里运用行绝对列相对的引用,当公式向右拖拉复制时,COLUMN(A$1)公变成COLUMN(B$1)、COLUMN(C$1)、COLUMN(D$1)、、、、、、,这样依次会得到1,2,3,4、、、、、、这样的值。
用这方法,SMALL就会在E1、F1、G1里依次得到{"";2;3;"";"";6;""}的第一、第二、第三、、、、、第N个最小值。
这个就是所有“张三”所在行的行号了。
最后用index函数分别在B列里依次取得相对应的值。
再说说前面那蓝色部分吧,刚才已经说了,是去除错误值的。
IF(COUNTIF($A$1:$A$7,$D2)<COLUMN()-4,""Countif函数是计数的,这里是计算A1:A7里有几个D2的数据,COLUMN()-4,是列号减去4,因为E 列并不是第一列,所以得用-4来调整,在E1里,COLUMN()就等于5,COLUMN()-4=1。
也就是这是公式开始的第一列。
当列数大于COUNTIF($A$1:$A$7,$D2)时,就清空。
这样,就把#NUM!这个错误值去了,这样就美观多了。
2.2.2一列中取唯一值D列的数据又如何自动生成呢?D列的值可以用高级筛选得到,也可以用公式,这里说一个公式。
取一列中唯一值的公式有许多,我们也可以运用上面的原理来到得,当然,这并不是很好的方法,但在此为了了解与熟悉这个原理,我们就拿它来开刀吧。
因为D1的标题也是唯一的,我们就从D1开始放入公式:=IF(ROW()>SUM(1/COUNTIF($A$1:$A$7,$A$1:$A$7)),"",INDEX($A$1:$A$7,SMALL(IF(MATCH($A$1:$A$7 ,$A$1:$A$7,0)=ROW($A$1:$A$7),ROW($A$1:$A$7),""),ROW(A1))))这公式可以分为两大部分,红色部分是主体,是index的引用,外层是IF,是用判断去错误值的。
在这个Index引用里,主体是IF(MATCH($A$1:$A$7,$A$1:$A$7,0)=ROW($A$1:$A$7),ROW($A$1:$A$7),""),下面看看这公式的计算机理:MATCH($A$1:$A$7,$A$1:$A$7,0)=ROW($A$1:$A$7),这一段公式,用MATCH函数分别得到$A$1:$A$7里的每一个元素在$A$1:$A$7里的位置,因为这里用了精确匹配的查找方式,得到的位置是第一次出现的位置,这样,就会得到这么一组数据:{1;2;2;4;4;2;7},也就是说,第一个数据“姓名”在$A$1:$A$7里的位置是1,同理,第二个数据“张三”的位置是2,第三个数据“张三”的位置还是2,明白了吧?那MATCH($A$1:$A$7,$A$1:$A$7,0)=ROW($A$1:$A$7)又得到什么呢?ROW($A$1:$A$7),得到$A$1:$A$7的行号:{1;2;3;4;5;6;7},MATCH($A$1:$A$7,$A$1:$A$7,0)=ROW($A$1:$A$7)就是一个判断,把两个结果放入公式就可以看到,{1;2;2;4;4;2;7}={1;2;3;4;5;6;7},两组数据进行对比,相对应位置上的数据相等的话,就会返回TRUE(真),否则返回FALSE(假),这样就会得到这样的结果:{TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE},在外层加上IF再一次选择:IF({TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;TRUE},ROW($A$1:$A$7),""),是TRUE值的,返回行号,否则返回空值。
(这里,也可以把后面的,""省略,这样,公式会在条件为FALSE时返回值为FALSE,这样的结果所以得到的效果是一样的。
)得到:{1;2; "";4; "";"";7}(省略,"":{1;2;FALSE;4;FALSE;FALSE;7})最后,用SMALL函数结合ROW函数把这几个数值依次取出来,做为INDEX的第二个参数,完成取唯一值的大任。
三、INDIRECT3.1.1基础返回由文本字符串指定的引用。
此函数立即对引用进行计算,并显示其内容。
当需要更改公式中单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
上面是帮助里对INDIRECT函数功能的讲述。