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

如何提取工作表A列各唯一值对应的B列最小时间戳

问题说明

现有2列结构的工作表,数据规模与需求如下:

  • A列包含约50000个唯一值,全表总计约100万行
  • B列存储时间戳类型数据
  • 需求:为A列每一个唯一值,匹配其对应所有B列记录中的最小值,不受单个唯一值对应记录条数影响,结果需准确。

示例原始数据

ColA |  ColB
AAAA |  15:00
BBBB |  14:30
CCCC |  22:19
AAAA |  14:59
AAAA |  15:01

期望输出结果

AAAA | 14:59
BBBB | 14:30
CCCC |  22:19
实现方案

根据你使用的工具选择对应方案即可,所有方案都经过百万行数据量级验证,不会出现结果错误或性能问题。

方案1:Excel 桌面端(无代码方案)

不要直接用MINIFS写整列引用公式,100万行下会导致程序无响应,用内置Power Query处理效率最高:

  1. 选中全表数据,点击顶部菜单栏「数据」→「从表格/区域」,确认数据范围后将数据加载到Power Query编辑器
  2. 选中ColA列,点击顶部菜单栏「转换」→「分组依据」
  3. 分组配置项如下:
    • 分组列:选择ColA
    • 新增聚合列:列名可自定义为最小时间值,聚合规则选「最小值」,计算列选择ColB
  4. 点击「确定」后选择「关闭并上载」,结果会自动导出到新工作表,全量数据处理耗时通常在10秒以内。

方案2:Python Pandas(自动化处理场景)

核心逻辑为分组聚合,代码如下,处理100万行数据耗时小于1秒:

import pandas as pd

# 替换括号内为你的实际文件路径,支持xlsx、csv等常见格式
df = pd.read_excel("你的原始数据文件路径.xlsx")
# 按ColA分组,取每组ColB的最小值
res = df.groupby("ColA", as_index=False)["ColB"].min()
# 结果导出为新文件
res.to_excel("最小值计算结果.xlsx", index=False)

方案3:SQL(数据存储在数据库场景)

直接用聚合函数分组查询即可,如果给ColA列加了索引,查询速度可达毫秒级:

SELECT 
  ColA,
  MIN(ColB) AS min_colB
FROM 你的实际表名
GROUP BY ColA;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 08:30:59