1. MATCH 匹配值所在的行号
黄金组合(MATCH + INDEX),一般情况下所有的查找都可以通过match+index实现,有些vlookup做不到的都可以通过黄金组合来实现。
MATCH(查找值, 查找区域, [匹配类型])
参数:
查找区域必须是单行或者单列,不能是多行多列
匹配类型:0表示匹配,1小于,-1大于。
查找值所在的行索引行,索引行从0开始而不是从1开始
MATCH(B2,B1:B4,0)
2. INDEX 获取索引值
INDEX(数据范围,行号,列号,[第几块数据范围])
描述:
查找某个范围某行某列所在的单元格的值。
示例:
INDEX(A1:C4,2,3)
=INDEX(A1:C4,MATCH("GO",B1:B4,0),3): 通过MATCH("Go",B1:B4,0)找到Go所在的索引行,获取到行哈再指定列获取指定行的指定列。
3. OFFSET 获取偏移后的值
以指定单元格为参照,行数和列偏移后返回定位后的单元格值。
使用场景:通常已经知道或者计算出某个数据了,还想获取相关联的其它的数据。常用来获取原始区域所在的一整行数据。
offset(原始区域,偏移几行,偏移几列,[扩展为几行], [扩展为几列])
偏移几行:负数向上偏移,正数向下偏移
偏移几列:负数向左偏移,正数向右偏移。
扩展为几行:根据偏移后的坐标再进行扩展,可以依次为基础获取多行
扩展为几列:根据偏移后的坐标再进行扩展,可以依次为基础获取多列
4. TAKE
从数组的开头或结尾返回行和列
TAKE(D1:D5,3)
5. INDIRECT 引用(根据地址找值)
根据门牌号找人。
INDIRECT(单元格应用,[引用样式])
引用样式:True表示A1(默认),False表示R1C1
示例:
文本引用 INDIRECT("A2") 返回文本B3
地址引用 INDIRECT(A2) 先定位到A2的位置对应的值,然后再找对应坐标的值。返回100
indirect也常用来实现多级联动,首先通过公式/根据所选内容创建,将某个值和后面的整列或者后面的整行其它值做成映射,这样可以通过前面的key查找到后面的值value。
"A": {"A1"; "A2"}
"A1": {"A11"; "A12"; "A13"}
"A2": {"A21"; "A22"}
数据验证可以将单元格的内容设置下拉。
WPS:
注意:这里的A1变成了A1_, A2变成了A2_,实际使用时要查看是否发生了变化。
6. CHOOSECOLS & CHOOSEROWS
返回范围内的指定列,第二个参数可以是单值也可以是数组多个值。
CHOOSECOLS(A1:C3,{2,3})
返回范围内的指定行
CHOOSEROWS(A1:C3,2,3)