excel相同内容怎么拉出来(大猫闲聊--excel中如何快速提取两列中的相同数据)

首页教程更新时间:2023-06-12 00:11:35

要处理的问题类型,如图1所示:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(1)

图1

图1中有两列数据,如何快速识别出两列的相同项,并提取出来。

下边猫哥就教你们怎么装×

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(2)

同样,高阶的装×行为需要高阶的技能,此处就需要利用数组,能否熟练应用数组,是一个excel猎手进1阶的标志。

此次共要达到如图2所示的3种效果:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(3)

图2

第1种:提取出左列独有的项目

第2种:提取出右列独有的项目

第3种:提取出双边都有的项目

第1种解答:提取出左列独有的项目

在E3单元格中输入公式(同时按Ctrl shift enter键,然后下拉)

=INDEX(B:B,SMALL(if(COUNTIF(C:C,$B$3:$B$22)=0,ROW($B$3:$B$22),1000), ROW(A1)))&""

公式解析:

先拆:

第1层:index(),也是最外边的一层

第2层:small()

第3层:if()

第4层:countif()最里边的一层

从里到外:

countif函数,COUNTIF(C:C,$B$3:$B$22)=0,这里即用到数组,即c:c是备查找的区域,$B$3:$B$22是要查找的目标值组合,此处用数组代替以前你们常用的单个单元格的值,即判断数组$B$3:$B$22中的每一个单元格的值在区域C:C中是否有数,即如果都没有,则返回false,因为false参与计算是值为0。

注意,看黑板,重点来了

数组的一个特性就是逐一判断,比如上边提到的这个公式:

COUNTIF(C:C,$B$3:$B$22)=0,即是先判断b3单元格1猫在c列中是否有对应的值,如果有则判断一次,同时if函数也判断一次,返回值集合见图3:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(4)

图3

因为1猫在c列中不存在,故countif函数结果为0,if函数返回ROW($B$3:$B$22),对应位置的数组值为3,同理推敲至b4值2猫,在c列中有对应的值,则countif函数结果不为0,则if函数返回值为1000,如上图所示,依次类推。

if函数,这个就简单了,如果COUNTIF(C:C,$B$3:$B$22)=0成立,则返回数组ROW($B$3:$B$22),否则返回值1000(这个1000是随便设定的,只要大于数组的元素数即可,比如数组ROW($B$3:$B$22)的元素个数是20,1000大于20了)。

此处仍然有一个数组ROW($B$3:$B$22),这个数组返回值为如图4所示:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(5)

图4

如何理解呢?建议去单独学习一下数组,这里简单介绍一下,数组无法在单元格中单独全部显示,单元格只能显示出一个元素值,如果要全部显示数组的值,需要根据数组的维度,选择对应的区域,同时按Ctrl shift enter键,完成输入,之后你会看到函数中会出现{}这个大括号,即为数组形式,手动敲一下就明白了。

small函数:

语法small(数组,第n个最小值)

small函数是专用于数组计算的,即返回数组中的第n个最小值

row(a1),是辅助用于生成small函数中的n,用以参与计算数组元素的取值

但是此例子中,参与small函数判断的是数组

IF(COUNTIF(C:C,$B$3:$B$22)=0,ROW($B$3:$B$22),1000), ROW(A1)),该数组的值见下图5所示:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(6)

图5

small(上述数组,row(a1)),返回值为3,因为

row(a1)=1,所以返回数组中第1个最小值为3。

接着判断small(上述数组,row(a2)),因为row(a2)=2,则返回上述数组中的第二个最小值,即为13,依次类推。最后生成的数组为下图所示:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(7)

index函数:

index()返回目标区域的目标位置的值,small函数生成的值为3,则返回在目标区域中的位置3,即第3行,即1猫

最后公式后边&"",是为了将0转化为空值,美化视图,如果不加这个,空单元格的返回值是0,不加这个符合也无所谓。

第2种解答:提取出右列独有的项目

在如图所示f3单元格输入((同时按Ctrl shift enter键,然后下拉)

=INDEX(C:C,SMALL(IF(COUNTIF(B:B,$C$3:$C$12)=0,ROW($B$3:$B$12),1111),ROW(A1)))&""

具体逻辑同理第一种方法,只是将查找区域与查找值调换个位置,比如index函数的查找区域有b:b变为右列的c:c,同理countif函数中的查找值、查找区域一样调换一下,仔细比较一下即可,此处不做详细讲解。

第3种解答:提取出双边都有的项目

这个与上述两种方法变动有点大。大体逻辑也是一样的。

按照此例子excel模板图6所示:

excel相同内容怎么拉出来,大猫闲聊--excel中如何快速提取两列中的相同数据(8)

图6

在g3单元格输入(同时按Ctrl shift enter键,然后下拉)

=INDEX(B:B,SMALL(IF(COUNTIF(C:C,$B$3:$B$22)>0,ROW($B$3:$B$22),1000), ROW(A1)))&""

此公式中,将countif函数改为>0,而不是等于0,即改为判断目标值数组$B$3:$B$22中的元素是否在目标区域中存在,存在则>0成立,返回对应的数组值,继续重复方法1中的逻辑。

,
图文教程
相关文章
热门专题
推荐软件
奇热小说
奇热小说
下载
QQ2019手机版
QQ2019手机版
下载
王者荣耀
王者荣耀
下载
百度浏览器迷你版
百度浏览器迷你版
下载
2345浏览器手机版
2345浏览器手机版
下载
网易邮箱
网易邮箱
下载
爱奇艺
爱奇艺
下载
网易云音乐
网易云音乐
下载
WPSOffice
WPSOffice
下载
优酷
优酷
下载
谷歌浏览器(Chrome)
谷歌浏览器(Chrome)
下载
迅雷看看播放器
迅雷看看播放器
下载
UC浏览器
UC浏览器
下载
QQ音乐
QQ音乐
下载
阿里旺旺买家版v9.12.10C官方版
阿里旺旺买家版v9.12.10C官方版
下载
360安全卫士v12.1官方版
360安全卫士v12.1官方版
下载
猜你喜欢
颠簸的漂流车
颠簸的漂流车
下载
开锁救人
开锁救人
下载
懿儿帮
懿儿帮
下载
创造你的王国序幕
创造你的王国序幕
下载
数字笔记思维导图插件v5.6.1.32
数字笔记思维导图插件v5.6.1.32
下载
重金属风暴(HeavyMetalThunder)
重金属风暴(HeavyMetalThunder)
下载
水印贴纸P图
水印贴纸P图
下载
模拟人生4亮片薄纱派对礼服MOD
模拟人生4亮片薄纱派对礼服MOD
下载
CameraAwesome
CameraAwesome
下载
怪物猎人世界TERA艾琳族的耳朵MOD
怪物猎人世界TERA艾琳族的耳朵MOD
下载
叮当管家app
叮当管家app
下载
TemplatesHeroMac版V2.3
TemplatesHeroMac版V2.3
下载
全民三国战纪九游版
全民三国战纪九游版
下载
重药云商
重药云商
下载
FluidBrowserMac版V1.5
FluidBrowserMac版V1.5
下载
打团了兄弟们
打团了兄弟们
下载