判断两个Excel单元格区域是否有重复值
如下图所示的工作表,使用公式来判断单元格区域A1:A3与C1:C3中是否有重复值。
从工作表中可以明显看出,这两个区域中都含有“Excel”,因此有重复值。
如何使用公式来判断呢?
先不看答案,自已动手试一试。
公式思路
将单元格区域A1:A3中的每个值与C1:C3中的每个值比较,若都不相同,则没有重复值,否则就存在重复值。
公式解析
在单元格E1中输入下面的数组公式:
=OR(TRANSPOSE(A1:A3)=C1:C3)
其值为TRUE,表明两个区域中存在重复值。如下图所示。
公式中,使用TRANSPOSE函数将A1:A3转置成水平方向的数组,即{“ Excel”,”excelperfect”,”Excel”},然后,C1:C3中的值{“Office”;”Excel”;”Word”}逐一与转置的数组相比较,即C1中的值“Office”与{“ Excel”,”excelperfect”,”Excel”}比较,C2中的值“Excel”与{“ Excel”,”excelperfect”,”Excel”}比较,C3中的值与{“ Excel”,”excelperfect”,”Excel”}比较,总共进行9次比较。若值相等,则返回TRUE,否则为FALSE。最后得到一个3行3列的数组:
{FALSE,FALSE,FALSE;FALSE,FALSE,TRUE;FALSE,FALSE,FALSE}
该数组作为OR函数的参数,获取比较后的结果。只要数组中有一个值为TRUE,OR函数的返回值就为TRUE。本例中,数组中有一个值为TRUE,因此返回TRUE,则表明存在重复值。
应用扩展
扩展1:要判断有无重复值的单元格区域方向不同
上文中判断重复值的单元格区域都在列中,然而如果要判断有无重复值的一个区域在列中,一个区域在行中,如下图所示的工作表,判断单元格区域A1:A3与C1:G1是否有重复值,那么如何编写公式呢?
这种情形下,公式更简单!在单元格C3中输入数组公式:
=OR(A1:A3=C1:G1)
由于这两个区域没有重复值,因此其结果为FALSE,如下图所示。
单元格区域A1:A3中的每个值逐一与单元格区域C1:G1中的每个值相比较,共进行15次比较,得到数组:
{FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE}
作为OR函数的参数。由于数组中全为FALSE,因此结果为FALSE,表明两个区域中没有重复值。
扩展2:要比较的单元格区域具有更多的行列数
上述比较判断两个单元格区域是否具有重复值的方法,要求两个区域的方向不同,一个是逐行,一个是逐列。然而,对于Excel 2003来说,工作表列数为256列,对于Excel 2007及以上版本来说,工作表列数为16384列,若数据量超过这些列数,就不能使用上面的方法了。
此时,可以使用MATCH函数与COUNT函数组合来判断两个单元格区域是否有重复值。
例如,对于前面的例子,可以使用数组公式:
=COUNT(MATCH(A1:A3,C1:G1,0))
如果结果为0,那么表明两个单元格区域没有重复值。如果结果为数字,那么该数字就表示这两个区域具有的重复值个数。
注:可以给要比较的两个区域命名,例如Data1和Data2,然后使用名称代称公式里的区域,例如=COUNT(MATCH(Data1,Data2,0)),这样更灵活。
MATCH函数在区域Data2中查找区域Data1中的值,若没有找到则产生错误值#N/A,若找到则获取该值所在的列号。这样,生成由#N/A或数字组成的数组。将该数组作为COUNT函数的参数,统计数组中的数字。若没有数字,表明没有重复值,则为0。若有数字,则返回数字的个数,也即重复值的个数。
小结
要比较两个区域中的数据,这两个区域的方向应不同。若两个区域的方向相同,应使用TRANSPOSE函数将其中一个区域转置。TRANSPOSE函数的用法详情参见《Excel函数学习23:TRANSPOSE函数》。
上述方法比较的次数,也就是说产生的数组中元素个数取决于两个区域所占的行列数,例如第1个例子比较的次数为3×3=9次,第2个例子比较的次数为3×5=15次。
Excel工作表中列的数据代表数组中的每行,即每个数据后都是分号;而工作表中的行数据代表数组中的每列,即每个数据后都是逗号,最后才是分号。
COUNT函数不会统计#N/A值,只返回非#N/A值的数量。
最新推荐
-
手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
手机剪映怎么删除多余视频片段?手机剪映是一款强大的视频剪辑工具,它可以对用户们所拍摄的视频进行编辑,比如常 […]
-
win10如何把电脑改为无密码 win10取消开机账户登录的步骤
win10如何把电脑改为无密码?在win10系统中,开机密码可以帮助用户保护自己电脑的安全性。但是时间长了 […]
-
win10访问共享文件要求输入网络凭据 访问共享电脑需要输入网络凭据怎么办
win10访问共享文件要求输入网络凭据怎么办?网络凭据是系统为共享文件设置的一个功能,通过输入凭据,让访问 […]
-
手机剪映如何只导出音频mp3 剪映导出音频mp3
手机剪映如何只导出音频mp3?剪映是一款功能强大的视频编辑软件,通过软件附带的功能,用户可以只需要导出视频 […]
-
edge怎么导入其他浏览器数据 edge浏览器导入chrome浏览器数据
edge怎么导入其他浏览器数据?Edge浏览器是一款电脑自带的浏览器工具,丰富的搜索功能,帮助用户们更好的 […]
-
华硕笔记本的移动热点怎么开启 win10笔记本开热点
华硕笔记本的移动热点怎么开启?通过将电脑设置为移动热点,其他设备可以通过连接到您的电脑热点来共享网络连接。 […]
热门文章
手机剪映怎么删除多余视频片段 剪映怎么删掉部分视频
2win10如何把电脑改为无密码 win10取消开机账户登录的步骤
3win10访问共享文件要求输入网络凭据 访问共享电脑需要输入网络凭据怎么办
4手机剪映如何只导出音频mp3 剪映导出音频mp3
5edge怎么导入其他浏览器数据 edge浏览器导入chrome浏览器数据
6华硕笔记本的移动热点怎么开启 win10笔记本开热点
7wps全部删除页眉页脚怎么删除
8win11默认浏览器怎么更换 win11更换默认浏览器
9剪映自动续费怎么关 剪映app怎么取消自动续费支付宝
10google浏览器怎么添加信任站点 谷歌浏览器给网址添加信任
随机推荐
专题工具排名 更多+