分享

Excel实战技巧5:获取不重复值的几种方法

 L罗乐 2017-10-09

 

在很多情况下,我们都要获取不重复值,以方便进一步使用。

下面介绍几种获取不重复值的方法,供参考。

 

如下图1所示的示例工作表,希望获取不重复的班级列表。

 1

 

方法1:使用高级筛选

Excel中,单击“数据”选项卡“排序和筛选”组中的“高级”按钮。在“高级筛选”对话框中,选中“将筛选结果复制到其他位置”,列表区域为:B1:B7,复制到单元格E1,并选中“选择不重复的记录”复选框,如图2所示。

 2

单击“确定”后的结果如图3所示。

 3

 

方法2:使用数据透视表

首先,选择单元格区域A1:C7中的任一单元格。

然后,单击“插入”选项卡中的“数据透视表”。在“创建数据透视表”对话框中的设置如图4所示。

 4

接着,选择“班级”为行字段,结果如图5所示。

 5

复制并粘贴数据透视表中的值到其他行,如图6所示。

 6

最后,删除创建的数据透视表。

 

上面两种方法都非常方便且简单,但当修改数据后,结果不能自动更新。然而,使用公式时,当数据变化时结果会自动更新。

 

方法3:使用公式

3.1 使用辅助列

在单元格D2中输入公式:

=SUM(COUNTIF(B$2:B2,B2)=1,D1)

然后,下拉至单元格D7

 

在单元格D9中输入公式:

=MAX(D2:D7)

获取单元格区域B2:B7中不重复值的个数。

 

在单元格D13中输入公式:

=IF(C13>D$10,'',INDEX(B$2:B$7,MATCH(C13,$D$2:$D$7,0)))

然后下拉直至出现空单元格。

最终的结果如下图7所示。

 7

 

3.2 使用数组公式(1)

这是在《Excel函数学习38FREQUENCY函数》中介绍的公式。

首先,在单元格E2中输入数组公式:

=SUM(IF(FREQUENCY(IF(B2:B7<>'',MATCH(B2:B7,B2:B7,0)),ROW(B2:B7)-ROW(B2) 1),1))

求出单元格区域B2:B7中不重复值的个数。

 

在单元格E5中输入数组公式:

=IF(ROWS(E$5:E5)>$E$2,'',INDEX($B$2:$B$7,SMALL(IF(FREQUENCY(IF($B$2:$B$7<>'',MATCH($B$2:$B$7,$B$2:$B$7,0)),ROW($B$2:$B$7)-ROW($B$2) 1),ROW($B$2:$B$7)-ROW($B$2) 1),ROWS(E$5:E5))))

得到第1个值。

然后将公式下拉至出现空单元格为止,结果如图8所示。

 8

 

3.3 使用数组公式(2)

这是在《Excel函数学习37SMALL函数》中介绍的公式,也是在《Excel公式练习8:获取单元格区域中的不重复值》中详细讲解过的公式。

 

选取单元格区域E2:E7,输入数组公式:

=IFERROR(INDEX(B2:B7,SMALL(IF(MATCH(B2:B7,B2:B7,0)=ROW(INDIRECT('1:'&ROWS(B2:B7))),MATCH(B2:B7,B2:B7,0),''),ROW(INDIRECT('1:'& ROWS(B2:B7))))),'')

结果如图9所示。

 9

 

你还有什么好方法吗?欢迎分享。

 


 

本文属原创文章,转载请注明出处。

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多