Excel中利用函数和数组公式进行高级筛选的方法
2017-04-01
相关话题
在数据库中,面对一组重复度很高的数据时,若想提取其中出现过哪些数据,去掉冗余项,那么我们可以有group by语句来实现,在Excel中,若想实现这个功能,就需要借助数组公式和Excel函数来实现,数组公式用于产生一组结果,函数用于控制结果。今天,小编就教大家在Excel中利用函数和数组公式进行高级筛选的方法。
Excel中利用函数和数组公式进行高级筛选的步骤如下:
首先我们有一列数据,B2:B14,其数据有重复。

在D2输入公式=INDEX($B:$B,MIN(IF(COUNTIF($D$1:D1,$B$2:$B$14),2^20,ROW($B$2:$B$14))))&"",
$B:$B是数据源所在的列的引用。
$D$1:D1,这个需要解释,对于公式所在的单元格,它必须能够包含该单元格之前所有已经产生结果的区域,例如当公式填充到D4单元格时,这个区域就是D1:D3,能包含D2单元格和D3单元格已经产生的两个结果。如果我们从D列的第n行(n>=2)开始写公式,那么这里就可以写$D$k:Dn-1,这里的k取0到n之间的任何值都是可行的,
$B$2:$B$14是数据所在的区域。

输入完后,不要急于退出公式编辑模式,同时按下键盘Ctrl+Shift+Enter,生成数组,表现为公式两端出现花括号。

利用填充柄将D2向下拖动,得到结果。

按行输出结果需要修改公式:=INDEX($B:$B,MIN(IF(COUNTIF($F$1:F1,$B$2:$B$14),2^20,ROW($B$2:$B$14))))&"",
这里主要将之前的$D$1:D1改为了$F$1:F1,即与公式所在单元格处于同一行。

同样同时按下键盘Ctrl+Shift+Enter,生成数组。

填充柄向右拖动,得到结果。
