CHOOSEROWS+CHOOSECOLS原来是一个超级查找函数组合!

场景一:

要在学生名册中,抽查一名学生成绩。

公式:

=CHOOSEROWS(A1:D5,2)

解析:

第一参数A1:D5为数据区域,第二参数2表示提取第2行数据。

把数据区域改为A2:D5,结合RANDBETWEEN(1,4)随机生成1到4的整数,即可达到随机抽查的效果。

=CHOOSEROWS(A2:D5,RANDBETWEEN(1,4))

场景二:

要在学生名册中,抽查多名学生成绩。

公式:

=CHOOSEROWS(A1:D5,2,5)

解析:

第一参数A1:D5为数据区域,第二参数2表示提取第2行数据,第三参数5表示提取第5行数据。

也可这样写:

=CHOOSEROWS(A1:D5,{2,5})

同样,也可实现随机抽查多条数据:

=CHOOSEROWS(A2:D5,RANDBETWEEN(1,4),RANDBETWEEN(1,4))

=CHOOSEROWS(A2:D5,RANDARRAY(2,,1,4,1))

场景三:

要在学生名册中,抽查多名学生的语文成绩。

公式:

=CHOOSECOLS(A1:D5,2,3)

解析:

学生姓名位于第2列,语文成绩位于第3列,表示提取A1:D5数据区域范围内第2列、第3列数据。

公式也可以写成:

=CHOOSECOLS(A1:D5,2,-2)

参数-2表示从右往左数第2列,即从左往右数的第3列。

场景4:

查看第三行,第四列数据,即李四的数学成绩。

公式:

=CHOOSEROWS(CHOOSECOLS(A1:D5,4),3)

解析:

CHOOSECOLS(A1:D5,4)表示提取出数据的第4列,再用CHOOSEROWS提取出第3行,从而实现交叉定位查找的功能。

等同于:

=INDEX(A1:D5,3,4)

场景5:

查找李四、王五的班级及语文、数学成绩。

如果用VLOOKUP查找,需要处理逆向查找问题,并且写好一个公式,还要向下填充计算。

=VLOOKUP(F3,HSTACK($B$1:$B$5,$A$1:$A$5,$C$1:$D$5),{2,3,4},0)

=VLOOKUP(F4,HSTACK($B$1:$B$5,$A$1:$A$5,$C$1:$D$5),{2,3,4},0)

这时,也可以考虑用提取行列交叉查找的方式查找。

公式:

=CHOOSECOLS(CHOOSEROWS(A1:D5,XMATCH(F3:F4,B1:B5)),XMATCH(G2:I2,A1:D1))

解析:

CHOOSEROWS(A1:D5,XMATCH(F3:F4,B1:B5)

用XMATCH定位出李四、王五所在的行序数,提取出整行数据。

再用同样的办法,定位出班级及语文、数学所在的列序数,用CHOOSECOLS提取出范围内的整列数据。

这样,通过行列交叉提取,最终轻松查找出所需要的信息。

当然,用INDEX+XMATCH同样可以办到:

=INDEX(A1:D5,XMATCH(F3:F4,B1:B5),XMATCH(G2:I2,A1:D1))

原文链接:,转发请注明来源!