excel 一列中有多个满足条件的值,如何返回对应其他列的值

有两个表格,表一是原始表格,表二想实现根据时间(周一)和人名(比如说张一)在表格一种查找对应的任务(比如张一对应任务一和任务四)。在表格二中输出每项任务(用+好连接)(比如张一对应的是任务一+任务四)

利用excel2016以上版本的power query可以完成这个功能

如图,各个任务都是以+隔开,先选中表格,在数据中,新建一个查询,查询是基于表格的(不同版本位置可能不同)

先将周一到周五的所有任务分别分成单个的列,分隔符图中是 “+”

即使某一天没有一个人做多个任务的,也做一下这个操作,因为以后可能会有人做这样的操作。做完以后的样子如下图

选中除姓名外的所有行,做一次逆透视

结果如下图

下面把周一.1之类的.1,.2删除,也是用一次拆分,分隔符为“.“

把多余的属性.2列删除

再做一个一定会出错的一个操作,根据任务和日期,对姓名进行求和,因为同一任务可能会有多个人,要进行合并,但普通用户不会输入命令,就用这样的方式改最简单

再进行一下修改,原来是

修改为

Text.Combine([列1],","), 要注意大小写

如果这样的表格就能满足要求了,可以不再继续了。

如果要再透视,选中属性(日期),进行透视,值是计数(姓名)再有一个特殊的操作,一定要选“不要聚合”

再修改各个列的名字,再将结果进行上载即可,如果要放到指定的位置,就用“上载至……”

最后的结果是如下图

以后在表1中修改,表2点一下刷新即可。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-02-21
偏移函数+替代函数+countif