index公式?只需要在D3单元格输入公式:=INDEX($A:$A,COLUMN(A2)+(ROW(A2)-1)*2)&然后双击鼠标,就可以秒填写全列数据,是不是提高整理数据的效率一丢丢!嘿哈,有隔行取值,那是不是也有隔列取值的功能哪?YES,绝对有的,那么,index公式?一起来了解一下吧。
一般提到定位,大家可能会想到VLOOPUP,但它不是万能的。今天介绍一款MATCH加INDEX组合函数几乎能解决所有Excel表格中的定位问题。
先介绍一下INDEX函数。
INDEX函数是把某个区域中第几行第几列的数据找出来。
比如说上图案例,是要找出C10到L19(红色框内)这个区域内,第6行,第7列的值是什么。答案是57。
所以index函数中的三个参数是区域,行号,列号。
那MATCH函数呢?
MATCH函数查找的一个数据某个区域排在哪个位置。
比如说上图案例查找李四在C11到C16(红色框内)区域所在的位置,答案是2。
match函数的参数是查找的内容,被查找的区域,查找的类型。其中查找的类型一般是0,为精确查找的意思,如果表中数据按升序排列,那填1,如果按降序排列,那填-1。
一般index和match函数不会单独使用,而是嵌手猜闭套着运用。讲完基本概念,我们进行综合运用。
上案例中,想得到不同宝贝对应的爸爸的名字。
所以想得到的是值,先使用的index函数。那相对应的参数填写兆乱的是固定区域($A$1:$E$13),行号,列号。
行号需要用match进行匹配,相对应的参数是查找的内容(A17),被查找的固定区域($E$1:$E$13),查找的类型(精确查找0)
因为爸爸毕裂在第一列,所以列号为1。
提供详细的参数及举例说明
Excel版本参考:2010
1、功能:返回表格或区域中的值或庆册值的引用
2、语法:INDEX(array, row_num, [column_num])
3、参数说明:
Array必需。单元格区域或数组常量。
如果数组只包含一行或一列,则相对应销差销的参数 row_num 或 column_num 为可选参数。
如果数组有多行和多列,但只使用 row_num 或 column_num,函数 INDEX
返回数组中的整行或整列,且返回值也为数组。
Row_num必需。选择数组中的某行,函数从该行返回数值。如果省略 row_num,则必须有
column_num。
Column_num可选。选择数组中的某列,函数从该列返回数亏游值。如果省略
column_num,则必须有 row_num。
4、举例说明:
公穗宽唤式=INDEX(B$2:D$4,MATCH(B7,A$2:A$4,0),MATCH(A7,B$1:D$1,0))
公式表示:通过INDEX将B2:D4作为引用区域,通过MATCH(B7,A$2:A$4,0)返回行猜凯数2,通过MATCH(A7,B$1:D$1,0)返巧蔽回列数3,以行数和列数交叉的位置,作为引用单元格,即D3单元格。
VLOOKUP函数输入
=VLOOKUP(B7,A$2:D$4,MATCH(A7,A$1:D$1,0))
HLOOKUP函数输入
=HLOOKUP(A7,$1:$4,MATCH(B7,A$1:A$4,0))
详见附图
首先这是个数组公式,(所以C:C)实现的功能是:如果B列中的数值等于J1单元格的,则依次生成B列对应的C列的数据。模旅袜
先解释Row(A1),这个函数是生成1.2.3.4这样一个序列,A1是相对引用,row(A1)是A1的行号,也就是1;往下拖就是A2,行号是2,以旦激此类推
If函数,是假设B1(依次至B1000)等于J1,那么就返回B1的行号(Row(B1)),假设不等于,镇咐则放回4^8(65536,Excel最大行号)
Small函数是将If函数的结果排序,也就是实现只要B1等于J1,则行号(1-1000)以此排在最前面;如果不等于,则行号(65536)排在后面;
index函数,返回C列对应的行号(也就是Small函数排序后的前最多1000个行号)对应的值
如果还是不懂,建议先去了解下数组公式
index(),是返回特定区域,第几行 第几列的值
例如,index(B2:C6,1,1)就是返回B2:C6这个区域,第1行,第1列的值,也就是B2的值。
small(),是返回比较区域中的第n个较小值。
例如small(a1:b3,2)是返回a1:b3,这个区域中的第2个较小值
if()是条件判断,有三个参数余雀,第一个是条件,第二个是如果为真是的值,第三个是如果条件为假时的值。
row()是求行号
其实你这个公式是错误无意义的。简单的事搞的复杂化了。
先从if里面开始,IF($B$1:$B$1000=$J$1,ROW($B$1:$B$1000),4^8),拿岁条件是$B$1:$B$1000=$J$1 实际上等同于判断B1=J1,这样写没有意义。
如果为B1=J1,则求ROW($B$1:$B$1000),这样写也没有意义,实际求出来的是B1的行号,结果是1。如果B1不等于J1,则结果是4的8次方,就是65536。
small(if(),row(a1))= small(if(),1)
if判断出来,要么等于1,要么等于65536,就只有一个值,再small()也没有意义。
简化以后的结果,如果B1=J1
INDEX(C:C,1),就是C1的值
如果B1<>J1 ,INDEX(C:C,65536),就是C65536的值,
如果是这样竖敏早的话,直接用一个If()就搞定了。
以上就是index公式的全部内容,找到该公式,然后点击选中,之后点击确定;弹出的界面,我们点击确定;注:数组形式=index(array,row_num,column_num) =index(数据表区域,行数。