比较两列的值并提取不相同的数据

如下图1所示,要提取列C中西区超市有而列A中东区超市没有的水果,如何编写公式呢?

图1

先不看答案,自已动手试一试。


公式

在单元格A10中的数组公式:

=IFERROR(INDEX($C$2:$C$6,SMALL(IF(ISNA(MATCH($C$2:$C$6,$A$2:$A$5,0)),ROW($C$2:$C$6)-ROW($C$2)+1),ROWS(A$10:A10))),"")

如图2所示。

图2

向下拖至单元格中没有数据为止。

公式解析

公式中的:

MATCH($C$2:$C$6,$A$2:$A$5,0)

在单元格区域A2:A5中依次查找单元格区域C2:C6中的值,如果找到则返回该值在单元格区域A2:A5中的位置,否则返回#N/A值,最后生成的数组为{#N/A;4;1;2;#N/A}。将数组传递给ISNA函数,生成数组{TRUE;FALSE;FALSE;FALSE;TRUE},作为IF函数的第1个参数。

公式中的:

ROW($C$2:$C$6)-ROW($C$2)+1

生成数组{1;2;3;4;5},作为IF函数的第2个参数。

这样,IF函数就生成数组{1;FALSE;FALSE;FALSE;5},作为SMALL函数的第1个参数。

公式中的:

ROWS(A$10:A10)

根据当前单元格生成一个数字,在A10中的数字为1,在A11中为2,将此数字作为SMALL函数的第2个参数。

公式演化为:

=IFERROR(INDEX($C$2:$C$6,SMALL({1;FALSE;FALSE;FALSE;5},1)),"")

SMALL函数求值后公式为:

=IFERROR(INDEX($C$2:$C$6,1),"")

获取单元格C2中的值。

扩展

如果要提取两列中相同的数据。如本例中,提取两个超市中都有的水果,数组公式为:

=IFERROR(INDEX($C$2:$C$6,SMALL(IF(ISNUMBER(MATCH($C$2:$C$6,$A$2:$A$5,0)),ROW($C$2:$C$6)-ROW($C$2)+1),ROWS(E$10:E10))),"")

小结

  • SMALL函数忽略参数中的任何非数字的数据。

  • ISNA函数将错误值转换为TRUE,否则为FALSE。ISNUMBER函数的运用同理。

  • IF函数一次性判断获取数组。

  • 公式适用于Excel2007及以上版本。

(0)

相关推荐

  • 怎样使公式中不出现#N/A等错误值

    经常出现公式结果返回#N/A等错误值,怎样不显示错误值呢,有2个方法,一是IS类函数,一是iferror函数. 用来检验数值或引用类型的12个工作表函数,如表1,概括为 IS 类函数.可以检验数值的类 ...

  • Excel里超好用的“搜索式”下拉菜单,很多人都不知道

    小E为大家准备了40+Excel函数大全 领取直接关注公棕号[秋叶Excel],回复[头条]! 大家好,我是绿水零. 工作中,需要规范收集有固定选项的一类信息时,肯定首选用[数据验证]制作下拉列表. ...

  • 查找不重复记录的几个套路(删除重复项)

    今天和小伙伴们分享几个查找不重复记录的套路,这个不重复的记录相当于用删除重复项这个功能,比如表中有2个相同的名字,只取第一次出现的记录.也就是如果一条记录重复出现多次,只取第一次出现的记录. -01- ...

  • 如何筛选出同一行中两列值不相同的数据?

    问:如下图所示,在Excel工作表中有两列,分别是使用人和付款人,要筛选出使用人和付款人不是同一人的数据,如何实现? 答:可以使用Excel的高级筛选功能来解快速解决这个问题. 首先,在列D中建立公式 ...

  • Excel – 将奇、偶数行的数据分别提取成两列,貌似挺难的

    前一篇推文中,我通过案例结合给大家科普了奇偶判断函数 iseven 和 isodd. 案例: 将下图 1 左边数据表中的 B 列拆分开来,变成列标题,整个表格转置成二维表. 效果如下图 2 所示. 解 ...

  • Excel如何快速找出两列值的不同

    两列数据的快速比较,利用条件格式重复值中的"唯一"选项就可以快速搞定. 操作 选中单元格区域,依次单击"开始→条件格式→突出显示单元格规则→重复值",如图5-5 ...

  • 一对多查询经典函数组合对比并提取两列数据差异

    点击上方 蓝色 文字  关注我们吧! 送人玫瑰,手有余香,请将文章分享给更多朋友 动手操作是熟练掌握EXCEL的最快捷途径! 对比两列数据差异,我们使用最多的方法是条件格式.今天向大家分享一个函数的方 ...

  • Excel 公式:对比两列数据,提取相同和不同

    对比两列数据,找相同项和不同项是实际工作中经常遇到的需求.今天和大家分享3个公式,分别是: 提取两列数据相同的数据 提取左侧列有,右侧列没有的数据 提取左侧列没有,右侧列有的数据 本文目录 隐藏 公式 ...

  • Excel对比两列数据,将各自差异内容分别提取到一列!

    ①回顾关键内容②善用图片表达 ③学会建立联系④拓展深度广度 ⑤浓缩关键概念⑥提示重要信息 ⑦应用到行动中⑧善于归纳总结 ⑨尝试进行分享

  • EXCEL如何将两列数据合并为一列并在中间加符号

    EXCEL具有多列的功能,那么如何将两列,转化为一列呢,转化了之后,是否可以在两列之间,加上一些符号呢 工具/原料 EXCEL2007 方法/步骤 1 首先在电脑上打开一个新的工作簿,用来输入数据 2 ...

  • 菜鸟记467-开课截止日期,两个函数就能提取完毕,千万别手工录入

    万一您身边的朋友用得着呢? 各位朋友早上好,小菜继续和您分享经验之谈,截止今日小菜已分享450+篇经验之谈,可以文章编号或关键词进行搜索 以下才是今天的正式内容-- 摘要:本文介绍通过right函数和 ...

  • 如何将Excel表格中的日期和时间分开成两列?

    Excel的制作通常都有很多小技巧,比如一个单元格中输入日期和时间,运用一些技巧就能直接将其分成日期和时间单独的两列,而无需手动修改,无疑可以节约大量的人工.下面就具体说说将表格中的日期和时间分开的三 ...