获取Excel单元格区域中的不重复值
时间:2023-01-04 13:59:09
在一个单元格区域中含有重复值,使用公式来获取该区域中的不重复值。
例如,下图所示的工作表单元格区域A1:A13,将其命名为Data。在该区域中,含有很多重复值。现在要获取该区域中的不重复值。
先不看答案,动手试一试。
公式思路
首先求出单元格区域Data中每个值在区域中第1次出现的行号,然后根据行号取出这些值。
公式解析
在单元格区域C1:C13中输入下面的数组公式:
=INDEX(Data,SMALL(IF(MATCH(Data,Data,0)=ROW(INDIRECT(“1:”&ROWS(Data))),MATCH(Data,Data,0),””),ROW(INDIRECT(“1:”&ROWS(Data)))))
按Ctrl+Shift+Enter组合键,即可得到区域Data中不重复值,如下图所示:
公式中,MATCH(Data,Data,0)得到数组{1;1;1;4;4;4;7;7;7;10;10;7;1},即区域Data中每个值在该区域中出现的行号。ROW(INDIRECT(“1:”&ROWS(Data)))得到数组{1;2;3;4;5;6;7;8;9;10;11;12;13},INDIRECT函数将“1:13”转换成行区域$1:$13。
MATCH(Data,Data,0)=ROW(INDIRECT(“1:”&ROWS(Data)))即上述两个数组相比较,得到数组{TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE},IF函数根据该数组获取MATCH(Data,Data,0)所得数组中的值,即{1;””;””;4;””;””;7;””;””;10;””;””;””},SMALL函数分别取这个数组的第1、2、3、…、13最小值,即{1;4;7;10;””;””;””;””;””;””;””;””;””},将此数组作为INDEX 函数的参数,分别取区域Data中对应行的值。
从上图所示的工作表中可以看出,对于数组公式中多余的单元格会显示#NUM!。使用下面的数组公式避免显示#NUM!。
=IFERROR(INDEX(Data,SMALL(IF(MATCH(Data,Data,0)=ROW(INDIRECT(“1:”& ROWS(Data))),MATCH(Data,Data,0),””),ROW(INDIRECT(“1:”& ROWS(Data))))),””)
IFERROR函数在错误值时输入空。
小结
ROW函数中不能再包括其它求值的函数,此时使用INDIRECT函数来间接引用。
IFERROR函数是Excel 2007及其后的版本中的函数,当第一个参数为错误值时,将另一个参数作为返回值。若要在Excel 2013中得到同样的结果,则要将IF函数和ISERR函数结合使用。
公式中蕴含着一些通用思想,可以在其他类似情形中借鉴。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
如何去掉Word2013网格线
![](https://img.aspxhome.com/file/2023/6/20986_0s.jpg)
word必备的基本排版知识
如何在独立窗口打多个开excel表格
如何在excel2003表格中创建数据透视表的方法
![](https://img.aspxhome.com/file/2023/7/a140437_0s.jpg)
Win10双显卡怎么切换到独立显卡?Win10双显卡切换到独立显卡教程
![](https://img.aspxhome.com/file/2023/6/47866_0s.png)
win10系统如何在任务栏上面显示个性名称?win10系统任务栏显示个性名称的方法
![](https://img.aspxhome.com/file/2023/4/46694_0s.png)
word 如何利用替换功能也可以批量删除文字?
![](https://img.aspxhome.com/file/2023/0/35420_0s.png)
Word自动恢复功能的两个使用技巧
![](https://img.aspxhome.com/file/2023/6/25356_0s.jpg)
手机版wps office怎么手写签名
![](https://img.aspxhome.com/file/2023/7/53387_0s.jpg)
在Word 2010表格中,表格内容的输入和编辑与文档的编辑是否一致?
![](https://img.aspxhome.com/file/2023/8/32278_0s.png)
Excel表格行列互换动画教程
![](https://img.aspxhome.com/file/2023/1/39241_0s.gif)
word摄氏度符号的输入方法,包括使用快捷键、输入法、插入符号输入摄氏度
![](https://img.aspxhome.com/file/2023/6/33286_0s.gif)
Word2016如何自定义快速访问工具栏
![](https://img.aspxhome.com/file/2023/7/17737_0s.jpg)
福昕阅读器怎么设置禁止缩放pdf页面比例?
![](https://img.aspxhome.com/file/2023/6/15226_0s.png)
word文档如何将排版打印设置为a4
![](https://img.aspxhome.com/file/2023/8/31758_0s.png)
excel合并单元格怎么求和
![](https://img.aspxhome.com/file/2023/7/55137_0s.gif)
32位win10系统支持多大内存
![](https://img.aspxhome.com/file/2023/7/46607_0s.png)
excel表格怎么放大打印? excel表格设置放大打印的的教程
![](https://img.aspxhome.com/file/2023/4/39854_0s.jpg)
Word2010中Shift键的妙用
0x0000003b蓝屏完美解决办法
![](https://img.aspxhome.com/file/2023/0/53370_0s.jpg)