Excel的某些行为往往会让用户感到疑惑、对VBA不甚了解的人在初次使用代码时也会碰到一些貌似奇怪的问题。下面我们就从最简单的说起。 问题1:为什么在打开有些Excel文件时出现安全警告? 在打开......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
在一个单元格区域中含有重复值,使用公式来获取该区域中的不重复值。
例如,下图所示的工作表单元格区域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函数结合使用。
公式中蕴含着一些通用思想,可以在其他类似情形中借鉴。
标签: excel公式 excel技巧 excel教程 Excel表格 Excel教程 excel 单元 区域 重复 获取 excel单元格 excel单元格怎么自动填
相关文章
Excel的某些行为往往会让用户感到疑惑、对VBA不甚了解的人在初次使用代码时也会碰到一些貌似奇怪的问题。下面我们就从最简单的说起。 问题1:为什么在打开有些Excel文件时出现安全警告? 在打开......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
有时候,我们希望将公式应用于一组值而不是一个值,这可以简单地将公式作为数组公式(按Ctrl+Shift+Enter键)来实现。然而,并不是所有公式都能如此轻松地产生这样的效果,有些公式很“顽强”地抵制......
2023-05-29 0 Excel函数,excel函数公式,excel表格制作,Excel教程
使用公式将单元格区域中的数据颠倒过来。例如,下图所示工作表中的单元格区域Data(即A1:A7),使用公式将原来处于区域Data中第一个单元格A1中的数据放置到最后一个单元格,本例中为单元格C7,将区......
2023-05-29 0 excel公式,excel技巧,excel教程,Excel表格,Excel教程
本文将教你如何用EXCEL制作货币转换计算器。如果你只想将某个货币值转换成另一个货币值,可以用EXCEL的乘法公式,用汇率乘以现有数据,这个很简单。如果你用的是Windows系统的电脑,还可以安装一个......
2023-05-29 0 excel公式,excel技巧,excel教程,Excel表格,Excel教程
你可以通过筛选功能,方便、快速地查找数据,管理电子表格。在Excel 2007中,使用自动筛选功能筛选数据,可以只显示符合指定条件的数据。筛选后的数据无需移动到新的电子表格中,直接就可以复制、编辑或打......
2023-05-29 0 excel公式,Excel函数教程,excel技巧,excel教程,Excel表格,Excel教程