如何在Google Sheet中基于表单填写情况高亮员工姓名(含部分匹配)
解决Google Sheets中RSVP表单姓名部分匹配与未提交员工高亮问题
一、基础公式:判断员工是否提交表单
假设你的表格结构是:
员工名单工作表:A列存储员工完整姓名(A2开始为数据行)表单提交工作表:B列存储员工填写的可能不完整的姓名(B2开始为数据行)
在员工名单的B2单元格输入以下公式,下拉填充至所有员工行:
=IF(SUMPRODUCT(--REGEXMATCH('表单提交'!$B:$B,".*"®EXREPLACE(A2," ",".*")&".*"))>0,"已提交","未提交")
公式说明:
REGEXREPLACE(A2," ",".*"):将员工全名中的空格替换为正则通配符.*(匹配任意长度的任意字符),比如“张三 李四”会转换为“张三.*李四”REGEXMATCH('表单提交'!$B:$B,"..."):检查表单提交的B列中,是否存在单元格内容匹配上述正则规则(不管员工填的是全名、姓氏、名字,只要和全名有重叠就能匹配)SUMPRODUCT(--...):将匹配结果(TRUE/FALSE)转换为数字(1/0)并求和,数值大于0则说明有匹配,标记为“已提交”
如果觉得正则公式复杂,也可以用简单通配符组合(适合单字或无空格姓名):
=IF(COUNTIF('表单提交'!$B:$B,"*"&A2&"*")+COUNTIF('表单提交'!$B:$B,"*"&LEFT(A2,1)&"*")+COUNTIF('表单提交'!$B:$B,"*"&RIGHT(A2,1)&"*")>0,"已提交","未提交")
这个公式会检查表单中是否包含员工全名、姓氏首字或名字首字,覆盖大部分部分填写的场景。
二、条件格式:高亮未提交员工
- 选中
员工名单工作表中存储姓名的列(例如A2:A100) - 点击菜单栏「格式」→「条件格式」
- 在右侧面板选择「自定义公式」,输入以下公式:
=SUMPRODUCT(--REGEXMATCH('表单提交'!$B:$B,".*"®EXREPLACE(A2," ",".*")&".*"))=0
- 设置填充颜色(比如黄色),点击「完成」
所有未提交的员工姓名会自动高亮,便于快速识别。
三、进阶优化:跟进无法参会的人员
如果表单包含“是否参会”选项(比如表单提交的C列是参会状态),可以扩展公式直接显示对应状态:
=IFERROR(TEXTJOIN(", ",TRUE,FILTER('表单提交'!$C:$C,REGEXMATCH('表单提交'!$B:$B,".*"®EXREPLACE(A2," ",".*")&".*"))),"未提交")
这个公式会列出匹配到的员工参会状态,无匹配则显示“未提交”。
内容的提问来源于stack exchange,提问作者Jesse Goldlink
相关产品推荐
相关产品推荐

