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

基于指定键列提取唯一记录的动态数组公式简化方案需求

简洁提取唯一记录并保留首条关联数据的动态数组方案

需求说明

以绿色高亮列为唯一标识键,提取该列的所有唯一值,同时保留其他列对应该唯一值的第一条出现的记录。

输入与期望结果

  • 输入:包含重复唯一键的多列数据(绿色列为唯一标识列)
  • 期望输出:唯一键列去重,每一个唯一值对应其他列的首条关联数据

解决方案(Excel 365/2021 动态数组版)

方案1:极简多列提取公式

如果数据范围是A2:D10(B列为绿色唯一标识列),在结果区域首单元格输入以下公式,自动溢出完整结果:

=INDEX(A2:D10, MATCH(UNIQUE(B2:B10), B2:B10, 0), 0)

原理

  1. UNIQUE(B2:B10):提取绿色列的所有唯一值
  2. MATCH(..., B2:B10, 0):获取每个唯一值在原数据中第一次出现的行号
  3. INDEX(A2:D10, 行号数组, 0):根据行号数组,直接返回对应行的所有列数据,一步完成去重+首条记录保留

方案2:分列自定义拼接(适用于需调整列顺序的场景)

如果需要调整输出列的顺序,用LET+HSTACK组合更灵活:

=LET(
    unique_keys, UNIQUE(B2:B10),
    HSTACK(
        XLOOKUP(unique_keys, B2:B10, A2:A10),  // 匹配A列首条数据
        unique_keys,                            // 唯一键列
        XLOOKUP(unique_keys, B2:B10, C2:C10),  // 匹配C列首条数据
        XLOOKUP(unique_keys, B2:B10, D2:D10)   // 匹配D列首条数据
    )
)

原理

  • LET定义变量减少重复引用,提升可读性
  • XLOOKUP默认返回第一个匹配项,完美契合"保留第一条记录"的需求
  • HSTACK将各列结果横向拼接,自由调整输出列顺序

注意事项

  • 需使用支持动态数组的Excel版本(365/2021及以后)
  • 替换公式中的数据范围和列引用,适配你的实际数据结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 17:27:52