powerquery查询依赖项 – powerquery合并行

懵懂先生 212

​今天要介绍的还是合并同类项

上一次我们分享了合并同类项的三种方法:TEXTJOIN函数,Power Query的Text.Combine()和Power Pivot的CONCATENATEX。

有些读者就说了,这几个方法都不通用啊,要么就需要最新版的Excel,要么还需要借助其他高科技,WPS都没办法使用,那么今天我们就来分享两种通用的方法,Excel和WPS都可以做。

VLOOKUP

首先我们用VLOOKUP来解决这个问题,需要先添加一个辅助列。

辅助列公式:

="、"&B2&IFERROR(VLOOKUP(A2,A3:C$15,3,0),"")

注意这个公式中VLOOKUP第二参数的混合引用。

我们可以这样分析这个函数:

注意结果区域函数的依赖关系,应该从下往上分析。

先从第14行开始看,首先用A14单元格的采购部去A15:C15区域去查找采购部所对应的的C列的内容,A15:C15区域是空的,找不到采购部,所以返回错误值,利用IFERROR屏蔽错误值,返回空白,所以结果就是【、董琳淑】

然后从再看13行,用采购部这个值,去A14:C15区域去查找采购部对应的C列的值,返回结果是【、董琳淑】,然后把VLOOKUP的结果和前面的姓名链接起来,结果就是【、贺宇云、董琳淑】

12行到第二行,依次进行计算,结果就如图所示。

辅助列的核心就是VLOOKUP只会返回查找区域中符合条件的第一条结果。

最后把部门复制出来,删除重复项,再用VLOOKUP去匹配即可得到答案,也可以在原来的区域,把辅助列复制粘贴为数值,然后删除重复项即可,操作如下:

LKOOUP

接下来学习如何用LOOKUP函数来解决,同样是先添加辅助列

辅助列公式:

="、"&B2&IFERROR(LOOKUP(1,0/(A2=A$1:A1),C$1:C1),"")

和VLOOKUP刚好相反,我们注意到LOOKUP里面的混合引用,LOOKUP精确查找的套路以前已经分享过,这个函数会返回查找区域中,符合条件的最后一条结果,这一点刚好和VLOOKUP相反。

先从第二行开始看,C2单元格是用A2中的计划部去A1:A1查找计划部,没查到,返回错误值,用IFERROR屏蔽错误值,返回空,再和B2链接起来,结果就是【、严华斌 】

再看第三行,C3单元格A3中的计划部去A1:A2查找计划部,找到后返回对应位置的C列的值,最后再和B323连接起来,结果就是【、孔利、严华斌】

第四行到最后依次计算,结果如辅助列所示。

最后复制出部门,删除重复项,再用LOOKUO去匹配,结果如图所示:

总结

今天这两个方法,主要利用了这两个函数的特性,VLOOKUP返回符合条件的第一个结果,LOOKUP返回符合条件的最后一个结果,然后配合查找区域的混合引用,最终解决问题。没有复杂的嵌套,只有实用的套路,人人都可以学会。

上一篇:

下一篇:

  同类阅读

分享