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

Excel需求:当C列数值在A列存在时,D列显示对应B列内容

Excel中根据C列匹配A列并返回对应B列值的解决方案

基础匹配(返回第一个匹配项)

VLOOKUP函数(兼容所有Excel版本)

在D2单元格输入以下公式,完成后下拉填充到整列:
=VLOOKUP(C2, A:B, 2, FALSE)
参数说明:

  • C2:指定当前行要匹配的C列数值
  • A:B:设置查找范围,A列为匹配键,B列为需要返回的数值列
  • 2:指定返回范围中的第2列(即B列)
  • FALSE:启用精确匹配模式,避免模糊匹配导致的错误结果

XLOOKUP函数(Excel 365/2021及以上版本推荐)

在D2单元格输入以下公式,下拉填充:
=XLOOKUP(C2, A:A, B:B, "无匹配")
参数说明:

  • C2:目标匹配值
  • A:A:查找键所在的A列
  • B:B:需要返回数值的B列
  • "无匹配":可选自定义内容,当C列数值在A列不存在时显示,可替换为空或其他提示文本

处理A列存在重复值的场景

如果A列有重复数字,上述基础公式只会返回第一个匹配行的B列值。以下方案可返回所有匹配结果:

TEXTJOIN+IF组合(Excel 365/2021及以上版本)

在D2单元格输入以下公式,下拉填充:
=TEXTJOIN(", ", TRUE, IF(A:A=C2, B:B, ""))
说明:

  • 通过IF(A:A=C2, B:B, "")筛选出所有A列等于C2的B列数值
  • TEXTJOIN将筛选出的数值用逗号加空格连接成字符串,TRUE参数会自动忽略空值

INDEX+SMALL数组公式(兼容旧版Excel)

在D2单元格输入以下公式后,按Ctrl+Shift+Enter完成数组输入,再下拉填充:
=IFERROR(INDEX(B:B, SMALL(IF(A:A=C2, ROW(A:A)), ROW(A1))), "")
说明:

  • IF(A:A=C2, ROW(A:A))获取所有A列等于C2的行号
  • SMALL(..., ROW(A1))依次提取第1、第2……个匹配行的行号
  • INDEX(B:B, ...)根据行号返回对应B列数值
  • IFERROR处理无匹配时的空值,下拉后会逐行显示所有匹配结果

内容的提问来源于stack exchange,提问作者ba joo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:32:15