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

如何用数组公式实现逗号分隔ID的对应名称批量查询?

解决方案

问题根源

你所用的公式中,VLOOKUP在部分Excel环境下无法自动遍历FILTERXML拆分出的ID数组,仅会返回首个匹配结果。改用INDEX+MATCH组合,或确保公式以数组形式运算即可解决。

方法1:适配Excel 365/2021(动态数组版本)

直接搭配TEXTJOIN与XLOOKUP(或INDEX+MATCH),动态数组会自动处理每个拆分出的ID:

=TEXTJOIN(",",,XLOOKUP(FILTERXML("<t><s>"&SUBSTITUTE([@[Next ID]],",","</s><s>")&"</s></t>","//s"),Tbl_Processes[ID],Tbl_Processes[Name]))

也可以用INDEX+MATCH的替代版本:

=TEXTJOIN(",",,INDEX(Tbl_Processes[Name],MATCH(FILTERXML("<t><s>"&SUBSTITUTE([@[Next ID]],",","</s><s>")&"</s></t>","//s"),Tbl_Processes[ID],0)))

方法2:适配旧版Excel(需按Ctrl+Shift+Enter输入数组公式)

若你的Excel不支持动态数组,需将公式作为数组公式输入(输入完成后按Ctrl+Shift+Enter,公式会自动被大括号包裹):

{=TEXTJOIN(",",,INDEX(Tbl_Processes[Name],MATCH(FILTERXML("<t><s>"&SUBSTITUTE([@[Next ID]],",","</s><s>")&"</s></t>","//s"),Tbl_Processes[ID],0)))}

原理说明

  • FILTERXML负责将逗号分隔的Next ID拆分为独立的ID数组;
  • XLOOKUP/INDEX+MATCH会遍历该数组,逐个匹配Tbl_Processes中的ID并返回对应名称;
  • TEXTJOIN将所有匹配到的名称用逗号拼接成最终结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 06:41:11