You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Excel 2013按名字分组查找最大日期(最年轻对象)的方法

嘿,针对你在Excel 2013里的这个需求,我整理了两个实用的方法,都能适配数据动态更新的场景:

方法一:数组公式组合(精准匹配,适合熟悉公式的用户)

假设你的数据布局是:

  • A列:名字(分组依据,比如Lukas、Max)
  • C列:生日日期(需为真正的日期格式,不是文本)
  • B列:姓氏(如果不需要在输出里显示,可以忽略)

步骤如下:

  1. 提取不重复的名字列表
    在空白列(比如E列)的E2单元格输入数组公式:
    =INDEX($A$2:$A$100, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$100), 0))
    输入完成后,按 Ctrl+Shift+Enter 组合键(Excel 2013数组公式必须这么触发),然后下拉公式直到出现#N/A,这部分就是自动更新的不重复名字列表。

  2. 生成目标格式的结果
    在F2单元格(对应E2的名字)输入数组公式:
    =E2&" "&TEXT(MAX(IF($A$2:$A$100=E2,$C$2:$C$100)),"d.m.yyyy")
    同样按 Ctrl+Shift+Enter 触发,下拉公式。当A列或C列的数据更新时,按F9键就能刷新所有结果。

方法二:数据透视表方案(直观易操作,适合新手)

这个方法不需要复杂公式,操作更可视化:

  1. 先插入数据透视表:选中包含表头的整个数据区域,点击「插入」→「数据透视表」,选择放置位置(新工作表或当前空白处都可以)。
  2. 配置透视表字段:
    • 把「名字」拖到「行标签」区域
    • 把「日期」拖到「值」区域,然后点击值字段的下拉菜单→「值字段设置」,选择「最大值」(这样就能得到每组里最晚的生日)
  3. 生成目标格式:在透视表旁边的空白列(比如G列),输入公式=F2&" "&TEXT(G2,"d.m.yyyy")(F列是透视表的名字列,G列是最大值日期列),下拉填充即可。
  4. 设置自动刷新:右键点击透视表→「数据透视表选项」,勾选「打开文件时刷新数据」,以后每次数据更新后,右键透视表选「刷新」就能同步最新结果。
关键注意事项
  • 确保日期列是日期格式:如果你的日期是文本形式,先用=DATEVALUE(C2)转换成真正的日期,否则MAX函数无法正确计算。
  • 数组公式触发:Excel 2013不支持动态数组,所以必须用Ctrl+Shift+Enter触发数组公式,单独回车会出错。
  • 数据量较大时优先选透视表:数组公式在数据量超过千行后可能会卡顿,透视表的性能更稳定。

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

火山引擎 最新活动