大数跨境
0
0

FILTER函数:任意指定条件列的动态筛选(8)

FILTER函数:任意指定条件列的动态筛选(8) Excel数据分析之道
2023-06-13
0

FILTER函数的筛选条件必须是指定的列区域(或行区域),如果要对任意指定列进行筛选呢?此时,需要使用OFFSET函数来引用指定的列数据区域,再进行判断。

下图是一个示例,要求筛选出指定产品、指定最低发货量以上的客户数据。
由于是任意指定的产品,因此需要使用OFFSET函数引出这列数据,此时,首先使用OFFSET函数引用指定产品的数据区域的表达式如下:
OFFSET($A$3,,MATCH($J$2,$B$2:$F$2,0),COUNTA($A$3:$A$26),1)
然后将对这个OFFSET函数引用的区域进行条件判断,是否大于指定的最低发货量:
OFFSET($A$3,,MATCH($J$2,$B$2:$F$2,0),COUNTA($A$3:$A$26),1)>$J$3
这样,使用FILTER函数筛选公式如下:

FILTER($A$3:$F$26,

OFFSET($A$3,,MATCH($J$2,$B$2:$F$2,0),COUNTA($A$3:$A$26),1)>$J$3)
FILTER函数得到的结果是一个筛选数据表,因此需要使用INDEX函数从这个筛选结果数据表中提取出客户名称和指定产品的数据,其中客户名称在第1列,指定产品的列位置可以使用MATCH函数确定:
MATCH($J$2,$A$2:$F$2,0)
这样,单元格I6的公式如下:
=IFERROR(INDEX(FILTER($A$3:$F$26,OFFSET($A$3,,MATCH($J$2,$B$2:$F$2,0),COUNTA($A$3:$A$26),1)>$J$3),ROW(A1),1),"")
单元格J6的公式如下:
=IFERROR(INDEX(FILTER($A$3:$F$26,OFFSET($A$3,,MATCH($J$2,$B$2:$F$2,0),COUNTA($A$3:$A$26),1)>$J$3),ROW(A1),MATCH($J$2,$A$2:$F$2,0)),"")

==============================

近期文章一览表



【声明】内容源于网络
0
0
Excel数据分析之道
全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
内容 1106
粉丝 0
Excel数据分析之道 全面介绍Excel在企业数据分析中的各种应用,实际案例模板分享,经验心得,帮助个人和企业提升Excel应用能力。
总阅读382
粉丝0
内容1.1k