多个关键词匹配查找问题,这个方法可能更优!

- 问题 -

最近,在项目上碰到一个用多个关键词去匹配从而识别出内容的归属问题,比如公司的产品,虽然有标准的型号,但是,可能在实际应用中(尤其是一些手工报表),会有简称、简写、中文名称等多种情况,这时,就可以考虑通过多个关键词来识别出该产品的标准型号。

经过简化转换,以下通过识别出标准省份为例:

- 常规解法 -

这个问题咋一看起来,感觉跟以往的关键词(一个列表)的形式有点儿不一样,实际上,经过简单转换,即可以变成原来的问题,如将列表进行逆透视:

这样,我们就得到了关键词的对照表:

当然,因为这里还有英文,所以为了避免大小写的问题,如前面文章《n个关键词,还大小写不一,咋统计?》和《再用关键词统计这个案例,把3种算法优化思路讲清楚。》里的方法,可以先转换为大写或小写,这样避免后面在进行判断过程中再频繁转换。

经过对关键词对照表的处理,我们就可以在需要进行关键词匹配的地方引用该表(为了提升效率,先对表进行缓存,相关知识可参考文章《PQ-M及函数:加Buffer缓存提升查询效率》),并通过合适的办法来获取对应的信息了。

首先,我们最常用的方法,即通过Table.SelectRows去筛选出符合条件的内容,然后取其中第1条(行)中的省份列。(相关案例可参考《这个用Power Query操作步骤太多了,还不如用VBA?》)如下所示:

- 改进解法 -

但是,我们仔细想一下,这个问题里,我们只要找到关键词里的一个就可以了,并不需要对全表进行搜素,也就是说,我们只要找到表中第一条符合条件的数据,即可返回结果,于是,方法改进如下:

即对表从头开始判断,跳过(Table.Skip)表最前面不符合条件的行,这样得到的结果表中的第一行(Table.First)即为符合条件的行(记录),从中取出省份的内容即可。

- 关于关键词 -

关于关键词的问题,前面举了大量的例子,这些例子都来自于实际工作,表面上看起来五花八门,但实际都可以转化为内容的包含判断、表或列表的操作,而且,往往一题多解,如我前面文章中有个例子《惊呆必藏!1个实际工作问题,15种解法,练好22个函数!》。

总的来说,关键还是在于对表即列表相关函数的熟悉和灵活运用。后续我会遇到相关问题时,继续与大家分享,让大家可以通过更多的案例来熟悉这些函数即应用场景。

【近期热门合集/文章】

(0)

相关推荐

  • 高中数学函数、数列、不等式、几何求【最值问题】通解法分享!

    小数老师说 通解法就是把数列.不等式.解析几何等最值问题通通转化为函数问题,然后根据函数的属性来求最值. PS:电子版文末获! 高中数学最值问题 [基础方法介绍] 1.求函数最值常见的方法主要有这7种 ...

  • PQ-综合实战:根据关键词匹配查找对应内容

    今天的文章有点儿长,步骤有点儿多,但这个综合操作很值得练好,以后扩展应用的空间很大. 小勤:大海,公司现在要对产品根据关键词进行分类,有位大神写了个公式,不是很复杂,但基本效果实现了: 大海:嗯.这个 ...

  • Excel查找函数如何精确匹配查找

    精确匹配查找是可以通过Excel函数中的vlookup函数进行运算,下面来实践演示一下具体的操作方法吧! 1.打开表格,要通过实习生编号查找到姓名. 2.在表格中输入vlookup函数. 3.在公式中 ...

  • excel查找引用函数视频:应用vlookup函数公式精确匹配查找

    excel查找引用函数视频|vlookup函数应用视频|excel查找函数公式视频|excel精确匹配查找视频 本视频教程由部落窝教育分享.cccc

  • Excel多条件查找文本的方法

    问题描述:我们有一个表格,表格中的数据通过两个条件能够锁定一个唯一值,我们要通过两个条件来查找到这个唯一值. 这里的这个结果我们限定为文本,数值也没有问题,也能够查找出来,当然如果是通过两个条件来查找 ...

  • 电路板维修查找短路点的方法

    电路板维修中,如果碰到公共电源短路的故障往往很头大,因为很多器件并联在VCC和GND之间.芯片.电容.晶体管甚至线路板层间本身均会短路.下面介绍一些查找短路点的方法,以供参考. 一.切割法,也称锄大地 ...

  • 3种日记账查找余额的方法,超实用

    VIP学员的问题,左边是现金日记账明细表,要查找每个账户上一日的余额. 关于余额,除了学员这种,还有好多种,这里逐一说明. 1.单账户 查找最后一天的余额,用TODAY()获取今天的日期,LOOKUP ...

  • Excel中vlookup多条件匹配的2种方法

    举一个例子,左边是某小区的面积图档案信息表,右边登记是已出售小区,我们要查找匹配出它的面积大小 如果我们只根据楼号来使用公式: =VLOOKUP(F2,B:C,2,0) 根据101楼号匹配出来的结果是 ...

  • Excel中vlookup多条件匹配的2种方法【一点资讯】

    举一个例子,左边是某小区的面积图档案信息表,右边登记是已出售小区,我们要查找匹配出它的面积大小 如果我们只根据楼号来使用公式: =VLOOKUP(F2,B:C,2,0) 根据101楼号匹配出来的结果是 ...

  • Excel身份证号VLookup查找出错解决方法

    Excel身份证号VLookup查找出错解决方法