PQ实战 | 这种类似VLOOKUP的查找为什么不对?

今天是一期网友的问题答疑!主要是数据源不规范到底的简单问题复杂化!
提供两种解法,一种是Power Query主题解法,然后补充一种工作表函数解法
需求说明
1、查找内容,可能有多个,每个都要到数据源中查找
2、对查找的结果 删除重复值,合并到一个单元格中!
这个问题,如果只是单个,那么VLOOKUP函数即可轻松搞定!但是现在这样就有点麻烦,但是对于Power Query来说,并不是什么难题,对应需要处理的部分都有对应的函数
Power Query解法详解
▼我是M函数嵌套,和工作表函数差不多额!
= Table.AddColumn(源, "自定义", each Text.Combine(List.Distinct(List.Transform(Text.Split([备注],"#(lf)"),(x)=> 表1{[商品名称= x]}[快递])),"#(lf)"))

M函数解读

1、Text.Split:属于文本处理类函数,这个函数算是弥补了工作表函数,没有按照分隔符分割文本的痛点!
语法:Text.Split(文本,分隔符),结果是一个多个元素的列表,如果你理解不了列表,你就当数组吧!
案例中的 #(lf) 表示换行符,和我们 下面的-本质一样,都是分隔符

2、List.Transform是M中比较重要的函数,所以我早早已经写了专题文章
点击我阅读详解->Power Query如何使用循环遍历?
这里主要把拆分出来的每一项都去数据源中查找的意思!
3、表1{[商品名称= x]}[快递] 是什么意思?
表名{[标题=查找内容]}:表示返回对应表中指定列内容等于查找内容对应的行,是一条记录,[快递] 则表示取出记录中对应的key的内容
4、List.Distinct函数
List.Distinct:表示是List类中的Distinct函数,如其名就是删除重复值,保留唯一一个!
5、关于Table.AddColumn,本质是新增一列,但是对应行的内容,其实涉及到M函数上下文问题,可以读一下下面的文章应该就能明白!
PQ 第三期 | M函数基础及上下文详解
工作表函数
▼其中有几个O365新函数
=TEXTJOIN(CHAR(10),TRUE,UNIQUE(IFERROR(VLOOKUP(TRIM(MID(SUBSTITUTE(A14,CHAR(10),REPT(" ",99)),ROW($1:$10)*99-98,99)),$A$2:$C$9,3,),"")))
O365的同学可以试试!其他版本不适用!
VLOOKUP函数在O365中第一参数支持数组,不用使用降维的方式处理!
UNIQUE是去重,得到唯一值的新函数,最后是文本连接方式TEXTJOIN函数!部分函数虽然OFFICE非365用不了,但是WPS已更新,可以试试!
当然我们也可以简单一些,上面常规思路还是太难了!
▼我简化了很多
=TEXTJOIN(CHAR(10),TRUE,UNIQUE(IF(ISNUMBER(FIND($A$2:$A$9,A14)),$C$2:$C$9,"")))
这里用的是查找的思路,比拆分后再去查找要简化很多!其他基本函数基本都一样!
(0)

相关推荐

  • 三种方法实现跨表VLOOKUP,轻松搞定多重匹配取数!

    - 1 - 首先,说一下为什么不用合并查询. 这其实源于一个实际的工作问题,简化后的情况如下:先按合同号匹配数量,如果合同号没有匹配到,再按计划号匹配.即多重匹配取数: 这个问题当然也可以通过多次合并 ...

  • 给同事气到吐血的Excel表是怎样的?

    日常统计汇总本是一件简单的事情,但是总有人会让你体会到什么叫"化简为繁"! 日常加上按小时有饭补,于是就做了一张统计表,方便每个月底统计一下每个人需要补多少? 本文涉及函数如下: ...

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

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

  • 多种方法合并同类名单,总有一种适合你!

    大家好,今天要分享的是合并名单的问题.先来看下数据,如下图所示.左表是源数据,是一个班级姓名表,现在要把相同班级的姓名合并在一起,效果如右表所示. 关于这个问题,有很多解决方法.第一种就是用函数tex ...

  • 再见VLOOKUP!一对多查找,这个新函数好用到爆哭!【Excel教程】

    回复[目录]学习113篇Excel教程 全套Excel视频教程,微信扫码观看 编按: 哈喽,大家好!在上篇教程中,我们给大家分享了很多用Office表格解决起来很麻烦,但用WPS表格解决却很简单的问题 ...

  • 领导一句话,员工做表累半死。。。

    与 30万 读者一起学Excel 某粉丝的问题,领导对原来表格格式不满意,想要换种格式,内容太多,手工处理要累死人. 原来同个客户对不同品种放多行显示,现在要将这些放在一个单元格显示,并用分隔符号隔开 ...

  • 无需合并,用Vlookup函数从多个表查询结果

    生活的鸡零狗碎让人没了光芒 但我始终相信我会好 会变好 再难都可以 未来一定很好 即使现在有诸多不幸

  • 菜鸟记195-辅助列让VLOOKUP函数查询更便捷

    关键词: EXCEL2016:VLOOKUP函数:COLUMN函数:ROW函数:TEXTJOIN函数:数据查询:操作难度**** 还记得小菜和您分享过的将获奖名单连接在一起用于表彰决定的名单吗? 请参 ...

  • 就用了一下合并查询的模糊匹配,VLOOKUP实在太弱了!| PQ实战

    我原来一直对合并查询的模糊匹配功能不太感冒,因为模糊匹配的结果和过程不是可以精确控制的,就像给黑匣子一样!目前,很多人工智能的技术之所以没有在企业中应用,也正是这个原因--算法给出的结果,很多时候你可 ...

  • VLOOKUP反向查找中的IF({1,0}

    这个对于新手比较难理解,经常有人来问,今天我们就写一篇,希望能让大家彻底搞清楚! 如图就是经典的VLOOKUP反向查找! 要搞懂他,我们需要先搞懂以下几个知识! 知识点1:IF是怎么计算的? 重点:I ...

  • VLOOKUP函数查找技巧

    情形1:查找数值的数据类型不一致 相同的值但以不同的数据类型来存储,对于VLOOKUP函数来说是不同的. 在单元格中,可以存储不同类型的数据,例如数字.文本字符串.日期和布尔值.在单元格中输入4000 ...

  • Vlookup函数查找易犯的错误以及解决方法

    Vlookup函数是一个非常好用的查找函数,但由于种种原因,实际使用时会遇到种种让人搞不明白的错误,本文对各种常见错误进行总结并介绍相关解决方法.文章比较长,可以收藏起来慢慢看. ... 1 一.函数 ...

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

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

  • PQ实战小案例:这个订单跟踪表怎么做?每天搞一次好没劲儿啊!

    最近帮个客户处理点儿数据,结果发现,这位客户朋友日常的工作中,要做一份订单跟踪表,其实很简单,就是删除一些敏感的信息,然后筛选出其中的部分数据,然后复制粘贴到另一个表里,大概意思是这样: 我问他,这活 ...

  • PQ实战:不确定项数的数据堆在一起,只有汉字是分组标志,怎么办?

    小勤:前面关于<PQ-综合实战:数据都堆在一列里,怎么办?>的文章里,每组里的项数是一样的,但像这个,如果每组的项数不一样怎么办? 如何处理成下面这种样子?最好能确保项数增加时还能自动刷新 ...

  • PQ实战 | 怎么把订单上的多项信息合并到一起?

    小勤:能否将这种一行行的订单信息合并起来显示? 大海:当然可以啊.这个也不算什么特殊的需求,而且逻辑也很清晰. Step-1:获取数据并调整格式(电话号码调整为文本) Step-2:基于[订单编号]列 ...

  • Excel职场实战:当Vlookup函数遇到合并单元格,该如何应对?

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