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

求助:Excel中提取各名称对应最小时间及对应编号的方法

嘿,我来给你几个靠谱的解决方案,帮你搞定这个Excel里的分组匹配问题——既要按Name找出对应的最小Time,还要把对应的Number也一起捞出来,毕竟数据透视表确实搞不定这个关联的事儿。

方案1:数组公式(适配Excel 2019及更早版本)

假设你的数据表头在第1行,数据范围是A1:C8,你可以在D2单元格输入下面的数组公式,输入完成后按 Ctrl+Shift+Enter 确认(这是数组公式的专属确认键),然后下拉填充到所有行:

=INDEX(B:B,MATCH(MIN(IF(A:A=A2,C:C)),C:C,0))

简单说下逻辑:

  • IF(A:A=A2,C:C) 先筛选出当前行Name对应的所有Time值
  • MIN(...) 从这些Time里挑出最小值
  • MATCH(...,C:C,0) 找到这个最小值在Time列的位置
  • INDEX(B:B,...) 最后根据位置提取对应的Number

⚠️ 注意:如果同一个Name下有多个完全相同的最小Time,这个公式会返回第一个出现的Number。

方案2:XLOOKUP+MINIFS(适配Excel 365/2021)

如果你的Excel版本支持动态数组函数,这个方法更省心,不用按组合键。直接在D2输入:

=XLOOKUP(MINIFS(C:C,A:A,A2),C:C,B:C,,0)

要是想一步到位自动填充所有行,用这个动态数组写法就行:

=XLOOKUP(MINIFS(C:C,A:A,A:A),C:C,B:C,,0)

逻辑更直白:

  • MINIFS(C:C,A:A,A:A) 给每个Name计算对应的最小Time
  • XLOOKUP 把每个最小Time匹配回对应的Number

方案3:Power Query(适合批量/复杂数据场景)

这个方法可视化程度高,还能随时刷新数据,步骤也不难:

  1. 选中你的数据区域,点击「数据」选项卡 → 「从表格/区域」(弹出对话框时记得勾选“我的表格有标题”)
  2. 进入Power Query编辑器后,点击「转换」选项卡 → 「分组依据」:
    • 分组列选 Name
    • 新列名设为 MinTime,操作选「最小值」,列选 Time
  3. 现在我们有了Name和MinTime,接下来关联回原始数据的Number:
    • 点击「主页」选项卡 → 「合并查询」→ 「合并查询作为新查询」
    • 第一个表选当前的分组表,第二个表选你的原始数据
    • 匹配条件选 Name 对应 Name、MinTime 对应 Time
    • 合并类型选「仅匹配」
  4. 点击合并后列的展开按钮,只勾选 Number 列,确定即可
  5. 最后点击「主页」→ 「关闭并上载」,就能得到包含Name、MinTime和对应Number的完整表格了

验证你的示例数据

按照你的输入,最终输出应该是这样的:

NameNumberMinTime
A20.123
B20.564
C20.256

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 03:55:38