Power Automate分组Excel员工列并发送邮件问题求助
解决Power Automate按员工分组发邮件且矩阵筛选为空的问题
先确认数据读取环节没问题
- 用
列出表格行动作读取Excel数据后,直接查看该动作的运行输出,确认所有员工和描述条目都被正确读取。如果这一步数据就缺失,后续操作肯定出问题。 - 注意:如果是OneDrive/SharePoint上的Excel文件,务必检查文件路径、表格名称的拼写,包括大小写和空格,完全匹配才会正确读取。
换用内置分组动作替代矩阵筛选(更稳定)
矩阵筛选容易因为引用错误或数据格式问题输出为空,推荐用选择+分组的组合来实现分组:
- 选择动作:只保留需要的字段,避免冗余数据干扰。映射设置:
- 键:
员工,值:@{items('列出表格行')?['员工']} - 键:
描述,值:@{items('列出表格行')?['描述']}
- 键:
- 分组动作:基于选择后的结果进行分组:
- 从:选择动作的输出
- 分组依据:
员工 - 新字段名:
描述集合 - 操作:
收集所有值 - 值:
描述
这一步完成后,就能得到每个员工对应的所有描述集合,不会出现空输出。
遍历分组结果发送邮件
用Apply to each遍历分组动作的输出,在循环内配置邮件:
- 收件人:
@{items('Apply_to_each')?['员工']}(确保员工列存储的是有效邮箱,或者提前关联员工邮箱字段) - 邮件内容:用
@{join(items('Apply_to_each')?['描述集合'], '<br>')}把所有描述用换行分隔,也可以用<ul><li>...</li></ul>格式做成列表,提升可读性。
如果坚持用矩阵筛选,排查空输出的原因
- 确认矩阵的
From来源是筛选后的数据集,且筛选条件正确引用当前循环的员工值:比如在Apply to each中,筛选条件设为员工 等于 @{items('Apply_to_each')?['员工']}。 - 检查员工值的一致性:Excel中的员工名称和循环中引用的员工值必须完全匹配,包括大小写、空格、特殊字符,否则筛选不到数据。
- 确认矩阵的行已正确绑定描述字段,没有留空或错误引用。
内容的提问来源于stack exchange,提问作者Will Tunechi
相关产品推荐
相关产品推荐

