Excel高级函数使用FILTER、UNIQUE、INDEX
=IFERROR(INDEX(UNIQUE(FILTER(明细表副本!B:B,(明细表副本!I:I>=$B$1)*(明细表副本!I:I<=$B$2)*(明细表副本!C:C<>$B$3)*(明细表副本!V:V=$B$4))),ROW(明细表副本!B2)),"")
解读
一、FILTER 过滤
FILTER(过滤列,过滤条件过滤条件)
过滤条件过滤条件 两个条件都要满足,过滤条件+过滤条件 两个条件只要满足一个。
二、UNIQUE 获取唯一值
UNIQUE(array,[by_col],[exactly_once])
参数 描述array
必需 : 要返回唯一行或列的范围或数组
[by_col]:可选
by_col参数是一个逻辑值,指示如何进行比较。
TRUE 将比较列彼此并返回唯一列
FALSE (或省略) 将行彼此比较并返回唯一行
[exactly_once]:可选
exactly_once参数是一个逻辑值,它将返回在区域或数组中恰好出现一次的行或列。 这是唯一的数据库概念。
TRUE 将返回范围或数组中恰好发生一次的所有非重复行或列
FALSE (或省略) 将返回区域或数组中所有不同的行或列
三、INDEX
INDEX(array,Row_num,column_num) 返回数组中指定单元格或单元格数组的数值。
UNIQUE 返回的是数组,ROW(明细表副本!B2)返回行号2,INDEX根据行号从去重结果中提取第2行的值。