如何修改Excel公式,使其返回匹配员工姓名行的K列ID值?
Excel公式修改方案
需求背景
- 当前工作表B列存储员工姓氏,C列存储名字(例:B6=Cook,C6=Jim)
- Sheet2的L列是「姓氏, 名字」的合并格式(例:Cook, Jim),对应行的K列存储员工ID
- 原公式仅能判断匹配并返回"x"或空值,需修改为返回匹配行对应的Sheet2!K列员工ID
原公式:
=IF(COUNTIF(Sheet2!L:L;B6 & "," & C6) > 0; "x"; "")
修改后的公式
方案1:Excel 365/2021及以上版本推荐(XLOOKUP函数)
=XLOOKUP(B6&", "&C6; Sheet2!L:L; Sheet2!K:K; "")
- 逻辑说明:拼接当前行的姓氏+", "+名字,在Sheet2!L列中查找匹配项,找到后返回对应行的Sheet2!K列ID;无匹配时返回空值,与原公式逻辑一致。
方案2:兼容旧版Excel(INDEX+MATCH组合)
=IFERROR(INDEX(Sheet2!K:K; MATCH(B6&", "&C6; Sheet2!L:L; 0)); "")
- 逻辑说明:
MATCH(B6&", "&C6; Sheet2!L:L; 0):精准查找拼接后的姓名在Sheet2!L列的行号INDEX(Sheet2!K:K; ...):根据找到的行号提取对应K列的员工IDIFERROR(...; ""):捕获无匹配时的错误,返回空值
示例效果
若B6:C6的姓名匹配Sheet2的L28行,则返回Sheet2!K28的ID;匹配L200行则返回Sheet2!K200的ID。

内容的提问来源于stack exchange,提问作者stewie
相关产品推荐
相关产品推荐

