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

如何修改Excel公式以获取演讲者首次(最左侧)演讲的最新日期

如何修改Excel公式以获取演讲者首次(最左侧)演讲的最新日期

嗨,我明白你的需求了——你现在的公式能找到演讲者**最后一次(最右侧)演讲的日期,但换成MIN后失效,想调整成找首次在最左侧(也就是最新年份)**出现的演讲日期对吧?

先说说你原来公式为什么换成MIN不行:当单元格内容和D13不匹配时,($B$3:$G$6=D13)会返回FALSE,乘以列号后结果就是0。用MIN的时候,这些0会被算进去,最终得到的最小值是0,自然没法返回正确的日期了。

给你两个可行的修改方案,按需选择:

方案一:基于你原有公式调整(适配新旧Excel版本)

把公式改成这样:

=INDEX($B$1:$G$1,SUMPRODUCT(MIN(IF($B$3:$G$6=D13,COLUMN($B$3:$G$6),COLUMNS($B$3:$G$6)+1)))-COLUMN($B$1)+1)

逻辑说明:

  • 用IF函数替换了原来的直接相乘:匹配D13的单元格返回对应的列号,不匹配的返回一个比最大列号还大的数(比如你的数据到G列,就返回7+1=8)
  • 这样MIN就只会从匹配的列号里取最小值(也就是最左侧的列)
  • 注意:在旧版Excel里输入完公式需要按Ctrl+Shift+Enter触发数组计算,新版Excel直接回车就行

方案二:用AGGREGATE函数更简洁(推荐)

如果你的Excel支持AGGREGATE函数(2010及以后版本),可以用这个更简洁的公式:

=INDEX($B$1:$G$1,AGGREGATE(15,6,COLUMN($B$3:$G$6)/($B$3:$G$6=D13),1)-COLUMN($B$1)+1)

逻辑说明:

  • COLUMN($B$3:$G$6)/($B$3:$G$6=D13):匹配的单元格会得到列号,不匹配的会返回#DIV/0!错误
  • AGGREGATE(15,6,...):15代表调用SMALL函数取最小值,6代表忽略错误值,最后一个1表示取第1小的结果(也就是最左侧的匹配列号)
  • 后续的-COLUMN($B$1)+1是把绝对列号转换成$B$1:$G$1区域内的相对位置,让INDEX能正确定位日期

你可以把D13换成你要查询的演讲者名字,测试下这两个公式,应该就能得到你想要的最左侧(最新)的演讲日期了。

备注:内容来源于stack exchange,提问作者depperm

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 08:59:33