Excel应用实战——如何实现智能提取并进行判断匹配的函数组合

本文将用到:MID(数据,取数第1位,取几位)FIND/SEARCH(目标值,查找文本)MATCH(目标值,查询区域,精准/模糊)VLOOKUP(目标值,查询区域查询区域列号,精准/模糊)ISERROR() 结果为TRUE/FALSEIF(条件,满足条件结果,不满足条件结果)

一位来自广西的网友,据推测是个小哥,他想通过1、2两列进行对比,若1列能在2列中找到一样的城市,显示在3列。

来自广西网友的提问

表哥思路:首先提取B列的城市名称到辅助列,再判断是否在C列的城市列表中,最后将结果显示在D列。

我们截取前几行作为案例一步步说明如何实现。

第一步:组合MID+FIND提取B列的市级城市

如果每个城市的名字都是两个字,则可使用公式MID(8,2)直接提取。

但观察到案例中需要提取市级城市的名称字数不一致,有的是两个字,有的是三个字。所以不可直接用MID提取,需要借助能够帮助定位字数的关键字。

由于各行数据非常整齐,均包含关键字'市',并且省级字符数均为7个。

因此,可以借助查询函数,定位关键字'市',以确定城市字数。

如何通过关键字'市',以确定提取城市字数?

以B6为例,首先,确认市级城市名的第1个字的位序。

由于数据均来自'广西壮族自治区'(此处共7个字),则市级城市名字的起始位序为8;

之后,确认关键字'市'在第几位。公式为FIND('市',B6);

根据以上可得,城市的字数为'市'的位序与城市名起始位序之差,即为城市名的字数(如图绿色部分)。

综上,提取城市名称的辅助列公式为:

MID(B6,8,FIND('市',B6)-8)

提取了B列的城市名称后,下一步判断是否该城市在C列名单范围内。

第二步,使用查询函数与名单城市进行匹配

案例中,名单列表的全部城市被存储在一个合并单元格中,可将其视作一段字符串,也可作为数据区域。因此,查询方法分为两种。

  • 方法一:使用函数FIND/SEARCH

与第一步中提取'市'关键字的方法一致,在单元格C3中查找,是否包含辅助列的城市名。以第3行为例,公式为FIND('钦州',$C$3)。

表哥Tips:

此处也可用函数SEARCH。公式为SEARCH('钦州',$C$3)。当判断内容为中文时,FIND和SEARCH用法几乎完全一致,而当在判断英文时,FIND判断一致性不但包括内容,还有大小写,所以FIND比SEARCH的匹配要求更加严格。

  • 方法二:使用函数VLOOKUP/MATCH,进行数据区域查询

此方法查询原理为是否辅助列单元格与C列一致,显然若直接使用函数,结果全部城市都会被判定不在列表范围内。因此,需要用到通配符'*',与辅助列城市结合成一段与C列结构类似的字符串,系统才能进行正确判断。

公式为:

VLOOKUP('*'&'钦州'&'*',$C$3,1,FALSE)

或MATCH('*'&'钦州'&'*',$C$3,0)

第三步,根据查询结果显示最终结果

在上一步中,我们根据查询函数进行判断,判断是否辅助列提取的城市名在C列的名单列表中。若能够查询到,则说明在名单内,返回查询到的数据,而查询不到,则显示报错。

表哥Tips:

FIND/SEARCH报错时显示'#VALUE';VLOOKUP/MATCH报错显示'#N/A'。

我们利用是否报错这一点,在D列显示最终结果。

判断查询函数是否报错,可使用函数ISERROR(),如果报错,此函数返回'TRUE',否则返回'FALSE'。如果你觉得听起来似乎有些糊涂,可参考下表缕清逻辑:

判断是否报错的公式为:

ISERROR(第二步的查询函数)

结果为:

最后用IF函数判断并显示最后结果,如果'TRUE'则显示'N',否则显示'Y'。

综上三步,回顾整体思路,及所用到函数为:

(0)

相关推荐

  • Excel如何利用LOOKUP函数进行表格匹配

    LOOKUP函数是工作中使用频率较高的函数之一,虽然好用,可是稍有不注意就会出错.不明白系统为什么一直在报错或匹配不正确,这是职场新人使用这个函数时经常遇到的问题. 操作 例如,需要根据F3:G5区域 ...

  • vlookup函数怎么反向查询

    学习Excel函数,就一定会接触VLOOKUP函数,正常都是从左向右查询,偏偏遇到就是需要从右往左查询,这样反向查询应该怎么做呢?学习本文教程,轻松帮助你解决vlookup函数反向查询的问题. 1.如 ...

  • 如何用Excel实现输入规格后价格自动匹配

    已知各个规格产品对应的价格,需要在Excel中快速根据规格填充产品价格,并根据录入的数量计算总价,也就是根据如图3-82所示的H2:I11区域的基准表以及D列的规格,填充E列的价格,并根据C列的数量, ...

  • Excel如何屏蔽表格数据的匹配错误

    在VLOOKUP函数的使用过程中,如果数据匹配不成功就会报错,前面的技巧中也碰到过这样的问题.本技巧将具体讲解IFERROR函数到底应该怎么使用.如图3-108所示,VLOOKUP函数匹配不成功就会报 ...

  • 〖职场实战〗用Excel数据透视表向导快速提取多行多列不重复值

    Excel情报局 OFFICE 爱好者大本营 用 1% 的Excel 基础 搞定 99%的 职场工作 做一个有价值感的Excel公众号 Excel是门手艺   玩转需要勇气 数万Excel爱好者聚集地 ...

  • 职场实战:用Excel数据透视表向导快速提取多行多列不重复值

    Excel情报局 OFFICE爱好者大本营 用1%的Excel基础搞定99%的职场工作 做一个有价值感的Excel公众号 Excel是门手艺 玩转需要勇气 数万Excel爱好者聚集地 2021年4月2 ...

  • 实战VBA代码-一键提取EXCEL中的所有公式!

    有的时候,我们希望把表中的公式提取出来,进行保存! 少量,我们可以手动复制,量大,猝-- 所以我们今天就分享一下如何一键提取 用什么,VBA上吧! 还是老规矩,我们先看一下动画效果 动画效果 制作教程 ...

  • 问题答疑:Excel中每隔N行提取数据

    Excel情报局 Excel职场联盟 生产搬运分享Excel基础技能 Excel爱好者大本营 用1%的Excel基础搞定99%的职场问题 做一个超级实用的Excel公众号 Excel是门手艺玩转需要勇 ...

  • 项目实战系列-增强智能下拉列表【2】

    上次我们介绍了使用COUNTA来实现智能下拉列表,已经非常好用了,但是我在项目却遇到了一些不老实的用户,他跳着配置--我 问题出现了,那么我们是否有更好的办法去兼容了,答案肯定是有的,就是我们今天的主 ...

  • Excel中的数据怎么快速提取?放个P啊……

    发送[学一招] 本文作者:雅梨子 视频策划:视频小分队 本文编辑:雅梨子 哈喽,大家好呀~ 我是雅梨子,每天学点 Excel,工作效率 up~up~ 当老板交给你一张数据乱七八糟.没有规律的表格,让你 ...

  • WORD、EXCEL快速将图片中的文字提取出来,操作简单实用

    WORD、EXCEL快速将图片中的文字提取出来,操作简单实用

  • 【Excel】从文件夹中提取符合条件的记录,只需一键

    先来看数据源,在快递寄送信息表的文件夹中,存放了多个结构一致的工作簿: 打开一个工作簿看看,里面就是每一年度的详细记录了: 再来看看汇总表,这里使用数据验证(数据有效性)功能制作了一个下拉菜单,在下拉 ...

  • Excel 公式:从文本中提取数字

    首先看一下实例图片,在一串文本中,数字有可能在文本的开始处.结尾处或中间. 现在针对这三种情况,给出三种提取数字公式. 数字在文本开始处 这种情况提取数字相对简单些,以下是通用公式: =-LOOKUP ...