玖叶教程网

前端编程开发入门

Excel函数:使用Unique、Filter和Textjoin函数实现快速汇总

在日常工作中,我们经常需要对数据进行整理和汇总。如下图所示,在D列整理出A列部门的列表,并在E列统计汇总部门对应的B列人员姓名。

本文将分享介绍如何利用UNIQUE、FILTER函数和TEXTJOIN函数,快速实现对数据的去重和汇总。

一、使用Unique去重

UNIQUE(array, [by_col], [exactly_once])

  • array:要去重的数据范围;
  • by_col:可选,默认为FALSE,表示按行去重;为TRUE时,表示按列去重;
  • exactly_once:可选,默认为FALSE,表示允许重复值;为TRUE时,表示只保留出现一次的值。

如下图所示,先要对A列的部门进行去重,在D2单元格输入公式:=UNIQUE(A2:A8),UNIQUE是数组公式,会根据唯一值的数自动填充公式,本例中,在D2输入公式后,D2:D4会自动填充公式。

  • 如果没有UNIQUE函数,可以使用=IFERROR(INDEX(A:A,1+MATCH(,COUNTIF(D$1:D1,A$2:A$8),)),"")。

二、使用Filte筛选

FILTER(array, include, [if_empty])

  • array:要筛选的数据范围;
  • include:包含的条件,可以是一个数组或一个区域;
  • if_empty:可选,如果没有匹配项,则返回的值。

接下来,我们使用FILTER函数,根据去重后的部门列表,筛选每个部门的人员。在E2单元格中输入公式:=FILTER(B2:B8,A2:A8=D2))。FILTER函数同样也是数组函数,在E2输入公式会返回财务部门对应的人员。

  • 如果没有Filter函数,可以使用=IFERROR(INDEX($B$2:$B$8, SMALL(IF($A$2:$A$8=D2, ROW($A$2:$A$8)-ROW($A$2)+1, ""), ROW(INDIRECT("1:"&COUNTIF($A$2:$A$8,D2)))))。

三、使用Textjoin汇总

TEXTJOIN(delimiter, ignore_empty, text1, [text2], ...)

  • delimiter: 合并文本之间的分隔符;
  • ignore_empty: 是否忽略空值,为TRUE时忽略;
  • text1, text2, ...: 要合并的文本。

最后利用TEXTJOIN函数将筛选出的人员合并成一个字符串,并用"、"分隔。在E2单元格的Filter前嵌套Textjoin函数:=TEXTJOIN("、",1,FILTER(B2:B8,A2:A8=D2)),并下拉填充公式。

通过以上步骤,我们使用UNIQUE、FILTER和TEXTJOIN函数,快速地去重了部门,并在另一列中汇总了每个部门的人员信息。

希望这篇文章对你有帮助,欢迎关注和留言,本号将持续分享更多Excel技巧和方法。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言