PowerBI:如何基于多条件从结果表提取值至全员表并生成状态列?
需求实现方案:从结果表提取数据到全员表
这个需求完全可以实现,以下是针对Excel/Google Sheets的具体操作方法:
前提假设
- 结果表:包含员工标识(姓名/ID)、事件类型(Health/Review 1/Review 2)、**完成信息(日期/状态)**三列核心数据
- 全员表:A列为员工标识,需新增
Health、Review 1、Review 2三列,显示对应事件的完成情况
方法1:XLOOKUP函数(推荐Excel 365/2021及以上版本)
该函数支持多条件匹配,无需辅助列:
- 全员表
Health列(B2单元格)公式:=XLOOKUP(1, (结果表!$A:$A=$A2)*(结果表!$B:$B="Health"), 结果表!$C:$C, "未完成") - 全员表
Review 1列(C2单元格)公式:=XLOOKUP(1, (结果表!$A:$A=$A2)*(结果表!$B:$B="Review 1"), 结果表!$C:$C, "未完成") - 全员表
Review 2列(D2单元格)公式:=XLOOKUP(1, (结果表!$A:$A=$A2)*(结果表!$B:$B="Review 2"), 结果表!$C:$C, "未完成")
输入完成后,下拉公式即可批量应用到所有员工行。
方法2:VLOOKUP+IFERROR(兼容旧版Excel)
方式A:新增辅助列
- 在结果表新增D列,输入公式
=A2&B2,下拉生成员工标识+事件类型的合并值 - 全员表
Health列(B2单元格)公式:=IFERROR(VLOOKUP($A2&"Health", 结果表!$D:$C, 2, FALSE), "未完成") - 同理替换事件类型,生成
Review 1和Review 2的公式
方式B:数组公式(无需辅助列)
旧版Excel需按Ctrl+Shift+Enter确认公式:
=IFERROR(VLOOKUP($A2&"Health", CHOOSE({1,2}, 结果表!$A:$A&结果表!$B:$B, 结果表!$C:$C), 2, FALSE), "未完成")
关键提示
- 确保两个表的员工标识完全一致(无多余空格、大小写差异),必要时用
TRIM($A2)清除空格 - 若只需显示完成状态而非日期,可将公式中
结果表!$C:$C替换为"已完成"
内容的提问来源于stack exchange,提问作者Cookie
相关产品推荐
相关产品推荐

