You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Google Sheets中混乱排班与工时的匹配对比方法求助

解决方案:统一姓名格式+匹配验证+条件格式高亮

1. 统一姓名格式,建立匹配键

由于两边姓名格式不统一,先把排班表的姓名转换成和合同列(E列)一致的「姓, 名」格式:

  • 在排班区域的空白列(比如C列)输入公式:=A2&", "&B2,下拉填充到所有行。C列将生成与E列完全一致的姓名格式,作为匹配的核心键。

2. 匹配合同工时并验证

用XLOOKUP函数(比VLOOKUP更灵活直观)提取对应合同的工时,再与排班工时对比:

  • 在排班区域的另一空白列(比如D列)输入公式:
    =XLOOKUP(C2, $E$2:$E$100, $F$2:$F$100, "无匹配")
    
    该公式会根据C列的统一姓名,在E列匹配对应行,返回F列的合同工时;若找不到匹配项,显示「无匹配」。
  • 新增一列(比如G列)做对比验证:
    =IF(D2="无匹配", "无合同记录", IF(D2=H2, "匹配", "工时不匹配"))
    
    把公式里的H2替换为实际的排班工时列单元格(比如你的排班工时在H列)。

3. 条件格式高亮问题项

快速定位不匹配或无记录的行:

  • 选中排班数据的整个区域(比如A2:H100)
  • 点击「格式」→「条件格式」
  • 选择「自定义公式」,分别设置两个规则:
    • 规则1(无合同记录):=$D2="无匹配",设置红色高亮
    • 规则2(工时不匹配):=$G2="工时不匹配",设置黄色高亮

替代方案:无需辅助列的直接匹配

如果不想新增辅助列,可直接用正则匹配姓名:

  • 输入公式:
    =XLOOKUP(TRUE, REGEXMATCH($E$2:$E$100, "^"&REGEXESCAPE(A2)&", "&REGEXESCAPE(B2)&"$"), $F$2:$F$100, "无匹配")
    
    REGEXESCAPE用于处理姓名中的特殊字符(如空格、连字符),避免正则匹配出错。

内容的提问来源于stack exchange,提问作者Captains Gent

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 07:23:25