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

如何利用标识符通过两个数组生成第三个数组?

基于共同ID关联两个数组生成目标数组的解决方案

Excel 场景

动态数组版本(Excel 365/2021+)

直接用公式生成完整的目标数组,无需下拉填充:

=CHOOSECOLS(HSTACK(数组2[User], XLOOKUP(数组2[ID], 数组1[ID], 数组1[Account])), 1, 2)

如果需要处理ID不匹配的情况(避免#N/A错误),可以加IFERROR:

=CHOOSECOLS(HSTACK(数组2[User], IFERROR(XLOOKUP(数组2[ID], 数组1[ID], 数组1[Account]), "无匹配")), 1, 2)

旧版Excel(无动态数组)

在目标区域的第一个单元格分别输入以下公式,然后下拉填充:

  • User列:=数组2[@User]
  • Account列:=INDEX(数组1[Account], MATCH(数组2[@ID], 数组1[ID], 0))
    同样可以加IFERROR处理无匹配的情况:=IFERROR(INDEX(数组1[Account], MATCH(数组2[@ID], 数组1[ID], 0)), "无匹配")

编程场景(以JavaScript为例)

如果是在代码中处理数组,通过遍历+匹配实现关联:

// 示例输入数组
const arr1 = [
  { ID: 1, Account: "acc001" },
  { ID: 2, Account: "acc002" },
  { ID: 3, Account: "acc003" }
];
const arr2 = [
  { User: "Alice", ID: 1 },
  { User: "Bob", ID: 3 },
  { User: "Charlie", ID: 2 }
];

// 生成关联后的目标数组
const result = arr2.map(userEntry => {
  const matchedAccount = arr1.find(accEntry => accEntry.ID === userEntry.ID);
  return {
    User: userEntry.User,
    Account: matchedAccount ? matchedAccount.Account : "无匹配"
  };
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 08:27:17