Power Query闪开,好用的Excel合并公式来了

昨天,有人提了一个关于员工生日的难题:

其实,如果不要求姓名合并,用数据透视表挺容易实现的:


插入数据透视表 - 对日期进行月、日分组 - 把月拖到筛选标签中 - 添加切片器:月


Power Query闪开,好用的Excel合并公式来了


但要把同一天过日的员工姓名合并起来,就没那么容易了。小编分享两种高能方法,一种是power Query转换,第二种是用函数公式。


一、使用Power Query


1、效果演示


Power Query闪开,好用的Excel合并公式来了


2、制作步骤


选取表格 - 数据 - 自表格/区域 ,启动power Query


Power Query闪开,好用的Excel合并公式来了


在power Query编辑器中,复制日期列,并分别转换成月和天


Power Query闪开,好用的Excel合并公式来了


再重命名标题为“月份”和“日期”


Power Query闪开,好用的Excel合并公式来了


分组依据 - 选取高级 - 添加和设置月份日期 为分组项,然后对员工进行求和。


Power Query闪开,好用的Excel合并公式来了


点击确定后,新生成的列会显示错误结果


Power Query闪开,好用的Excel合并公式来了



原公式:


= Table.Group(重命名的列, {"月份", "日期"}, {{"过生日的员工", each List.Sum([员工]), type text}})


修改为:


= Table.Group(重命名的列, {"月份", "日期"}, {"过生日的员工", each Text.Combine([员工],",")})


Power Query闪开,好用的Excel合并公式来了


把powey中的结果导入到表格中,并用数据透视表进行透视:关闭并上传至 -选数据透视表,再添加切片器即可(具体步骤不再详述)


是不是感觉power query步骤很复杂,其实用一个Excel公式即可搞定。


二、使用函数公式


1、效果


可以选取不同的月份,动态生成该月份每一天过生日的名单。


Power Query闪开,好用的Excel合并公式来了


2、公式


K3公式:


=IFERROR(TEXTJOIN(",",,FILTER(A$2:A326,TEXT(B$2:B326,"m-d")=K$1&"-"&J3)),"")


估计很多新手看不懂公式,小编就简单介绍一下:


  • TEXT(B$2:B326,"m-d") :把B列的日期转成换“月-日”格式和给定的K$1&"-"&J3进行对比,作为filter函数的筛选条件。
  • FILTER(筛选返回区域,条件):office365新增函数,根据条件返回筛选结果
  • TEXTJOIN(连接符,,连接的多个值):office365新增函数,可以用指定的连接符号,把多个值连接成一个。
  • IFERROR(表达式,""):把返回的错误值转换成空


分享到:


相關文章: