excel查找首行某个数值,返回这一列的数据。就是要从一堆数据里找出想要的那列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel查找首行某个数值,返回这一列的数据。就是要从一堆数据里找出想要的那列相关的知识,希望对你有一定的参考价值。

    例如查找下图中首行的5这一列,公式如下:

    =INDEX(A:G,ROW(A1),MATCH(5,$A$1:$G$1,))

    如图所示:

追问

把原始数据那一页的数据,按第二也得顺序把需要的列拿出来

追答

你能看清你的图吗?截图,不要拍照

追问

被压缩太狠了

追答

不是压缩问题,截图,不要拍照。

追问

按照sheet1!A1查找原始数据里面的第一行,把它所在的一列放到sheet1里面,

技术不好试着改了几次不成功

追答

=index(原始数据!A:ZZ,row(a1),match(b1,$A$1:$ZZ:$1,))

追问

没数值可以不执行吗?

参考技术A

可以考虑使用VLOOKUP函数实现类似功能。如果对此函数不太熟悉了解,也可使用WPS表格的常用公式里“查找其他表格数据”比较简单明了地定义此公式(下图)。定义的函数公式可直接在Excel中打开使用。

EXCEL里怎样引用某数值对应的另一列的值?

A列是人名,张三、李四、王五、赵六
B列是分数,40,30,60,50
C列是根据分数得出的排名,3,4,1,2

现在要在某单元格,比如$E$6里根据排名引用第一名的人名,在$E$7里引用第二名的名字,该用什么公式?

多谢了!!

一、这可以用VLOOKUP函数或用INDEX函数配合MATCH函数来完成。

二、相关函数的定义

(1)VLOOKUP函数

在表格或数值数组的首列查找指定的数值,并由此返回表格或数组当前行中指定列处的数值。当比较值位于数据表首列时,可以使用函数 VLOOKUP 代替函数 HLOOKUP。

在 VLOOKUP 中的 V 代表垂直。

语法

VLOOKUP(lookup_value,table_array,col_index_num,range_lookup)

Lookup_value    为需要在数组第一列中查找的数值。Lookup_value 可以为数值、引用或文本字符串。

Table_array    为需要在其中查找数据的数据表。可以使用对区域或区域名称的引用,例如数据库或列表。

    如果 range_lookup 为 TRUE,则 table_array 的第一列中的数值必须按升序排列:…、-2、-1、0、1、2、…、-Z、FALSE、TRUE;否则,函数 VLOOKUP 不能返回正确的数值。如果 range_lookup 为 FALSE,table_array 不必进行排序。

    通过在“数据”菜单中的“排序”中选择“升序”,可将数值按升序排列。

    Table_array 的第一列中的数值可以为文本、数字或逻辑值。

    文本不区分大小写。

Col_index_num    为 table_array 中待返回的匹配值的列序号。Col_index_num 为 1 时,返回 table_array 第一列中的数值;col_index_num 为 2,返回 table_array 第二列中的数值,以此类推。如果 col_index_num 小于 1,函数 VLOOKUP 返回错误值值 #VALUE!;如果 col_index_num 大于 table_array 的列数,函数 VLOOKUP 返回错误值 #REF!。

Range_lookup    为一逻辑值,指明函数 VLOOKUP 返回时是精确匹配还是近似匹配。如果为 TRUE 或省略,则返回近似匹配值,也就是说,如果找不到精确匹配值,则返回小于 lookup_value 的最大数值;如果 range_value 为 FALSE,函数 VLOOKUP 将返回精确匹配值。如果找不到,则返回错误值 #N/A。

说明

    如果函数 VLOOKUP 找不到 lookup_value,且 range_lookup 为 TRUE,则使用小于等于 lookup_value 的最大值。

    如果 lookup_value 小于 table_array 第一列中的最小数值,函数 VLOOKUP 返回错误值 #N/A。

    如果函数 VLOOKUP 找不到 lookup_value 且 range_lookup 为 FALSE,函数 VLOOKUP 返回错误值 #N/A。

 

(2)INDEX函数

返回指定的行与列交叉处的单元格引用。如果引用由不连续的选定区域组成,可以选择某一连续区域。

函数 INDEX 有两种语法形式:数组和引用。数组形式通常返回数值或数值数组;引用形式通常返回引用。

语法

引用形式

INDEX(reference,row_num,column_num,area_num)

Reference    对一个或多个单元格区域的引用。

    如果为引用输入一个不连续的区域,必须用括号括起来。

    如果引用中的每个区域只包含一行或一列,则相应的参数 row_num 或column_num 分别为可选项。例如,对于单行的引用,可以使用函数 INDEX(reference,,column_num)。

Row_num    引用中某行的行序号,函数从该行返回一个引用。

Column_num    引用中某列的列序号,函数从该列返回一个引用。

Area_num    选择引用中的一个区域,并返回该区域中 row_num 和 column_num 的交叉区域。选中或输入的第一个区域序号为
1,第二个为 2,以此类推。如果省略area_num,函数 INDEX 使用区域 1。

    例如,如果引用描述的单元格为 (A1:B4,D1:E4,G1:H4),则 area_num 1 为区域 A1:B4,area_num 2 为区域 D1:E4,而 area_num 3 为区域 G1:H4。

说明

    在通过 reference 和 area_num 选择了特定的区域后,row_num 和 column_num 将进一步选择指定的单元格:row_num 1 为区域的首行,column_num 1 为首列,以此类推。函数 INDEX 返回的引用即为 row_num 和 column_num 的交叉区域。

    如果将 row_num 或 column_num 设置为 0,函数 INDEX 分别返回对整个列或行的引用。

    Row_num、column_num 和 area_num 必须指向 reference 中的单元格;否则,函数 INDEX 返回错误值 #REF!。如果省略 row_num 和 column_num,函数 INDEX 返回由 area_num 所指定的区域。

    函数 INDEX 的结果为一个引用,且在其他公式中也被解释为引用。根据公式的需要,函数 INDEX 的返回值可以作为引用或是数值。例如,公式 CELL("width",INDEX(A1:B2,1,2)) 等价于公式 CELL("width",B1)。CELL 函数将函数INDEX 的返回值作为单元格引用。而在另一方面,公式 2*INDEX(A1:B2,1,2) 将函数 INDEX 的返回值解释为 B1 单元格中的数字。

 

(3)MATCH函数

返回在指定方式下与指定数值匹配的数组中元素的相应位置。如果需要找出匹配元素的位置而不是匹配元素本身,则应该使用 MATCH 函数而不是 LOOKUP 函数。

语法

MATCH(lookup_value,lookup_array,match_type)

Lookup_value    为需要在数据表中查找的数值。

    Lookup_value 为需要在 Look_array 中查找的数值。例如,如果要在电话簿中查找某人的电话号码,则应该将姓名作为查找值,但实际上需要的是电话号码。

    Lookup_value 可以为数值(数字、文本或逻辑值)或对数字、文本或逻辑值的单元格引用。

Lookup_array    可能包含所要查找的数值的连续单元格区域。Lookup_array 应为数组或数组引用。

Match_type    为数字 -1、0 或 1。Match-type 指明 Microsoft Excel 如何在lookup_array 中查找 lookup_value。

    如果 match_type 为 1,函数 MATCH 查找小于或等于 lookup_value 的最大数值。Lookup_array 必须按升序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE。

    如果 match_type 为 0,函数 MATCH 查找等于 lookup_value 的第一个数值。Lookup_array 可以按任何顺序排列。

    如果 match_type 为 -1,函数 MATCH 查找大于或等于 lookup_value 的最小数值。Lookup_array 必须按降序排列:TRUE、FALSE、Z-A、...、2、1、0、-1、-2、...,等等。

    如果省略 match_type,则假设为 1。

说明

    函数 MATCH 返回 lookup_array 中目标值的位置,而不是数值本身。例如,MATCH("b","a","b","c",0) 返回 2,即“b”在数组 "a","b","c" 中的相应位置。

    查找文本值时,函数 MATCH 不区分大小写字母。

    如果函数 MATCH 查找不成功,则返回错误值 #N/A。

    如果 match_type 为 0 且 lookup_value 为文本,lookup_value 可以包含通配符、星号 (*) 和问号 (?)。星号可以匹配任何字符序列;问号可以匹配单个字符。

三、举例

(1)假设数值写在A列,对应的数据在B列,在C1单元格写入一个数值,要在D1单元格得到对应的B列的数据,则D1单元格写入公式

=VLOOKUP(C1,A:B,2,)

=INDEX(B:B,MATCH(C1,A:A,))

 

 

(2)假设数值写在A列,对应的数据在D列,在E1单元格写入一个数值,要在F1单元格得到对应的D列的数据,则F1单元格写入公式

=VLOOKUP(E1,A:D,4,)

=INDEX(D:D,MATCH(E1,A:A,))

参考技术A 简单,光标定位在$E$6,在编辑栏输入“=”,点第一名的人名,下拉就OK了。 参考技术B 如果没有并列排名

e6 =index(a:a,match(row(a1),c:c,0)),下拉本回答被提问者采纳
参考技术C =index(a:a,match(1,c:c,0))
下拉复制格式

以上是关于excel查找首行某个数值,返回这一列的数据。就是要从一堆数据里找出想要的那列的主要内容,如果未能解决你的问题,请参考以下文章

excel表中怎么在一列名字中查找一个名字,并返回同一行相邻列里的数据

EXCEL里怎样引用某数值对应的另一列的值?

EXCEL 如何查询一个数据是不是在某一列中

excel,如何用公式查找J列某个数值对应的前一列数的倒数第二个数值?

EXCEL中在某列中查找指定文本,返回行对应另一列的数据用啥函数

excel中判断一个表中的某一列的数据在另一个表中的某一列中是不是存在