如何用动态公式引用每行最大值所在列的首行日期?
解决方法:匹配最大值对应的日期
先整理你的表格结构(对应Excel列:A=Max,B=Max Date,C-E=数值列,首行C1-E1为日期):
| Max | Max Date | 3/17/23 | 12/8/22 | 11/28/22 |
|---|---|---|---|---|
| 152 | ? | 96 | 152 | 124 |
| 124 | ? | 124 | 112 | 103 |
| 108 | ? | 42 | 76 | 108 |
| 98 | ? | 11 | 25 | 98 |
| 108 | ? | 102 | 108 | 90 |
通用兼容方案(支持所有Excel版本)
在B2单元格输入以下公式,下拉填充到所有行:
=INDEX($C$1:$XFD$1, MATCH(A2, $C2:$XFD2, 0))
公式说明:
$C$1:$XFD$1:锁定首行日期区域,XFD是Excel的最大列号,后续新增日期列会自动被覆盖MATCH(A2, $C2:$XFD2, 0):在当前行的数值区域内,精准定位最大值(A2)所在的列位置INDEX:根据定位到的列位置,返回首行对应的日期
简洁高效方案(Excel 365/2021及以上版本可用)
用XLOOKUP函数简化公式,同样在B2输入:
=XLOOKUP(A2, $C2:$XFD2, $C$1:$XFD$1)
下拉填充即可,XLOOKUP默认精准匹配,会返回第一个出现最大值的对应日期。
处理重复最大值的场景
如果某一行存在多个相同的最大值(比如最后一行,108同时出现在D5和A5),想要返回最后一个匹配的日期,可以用以下公式:
适配旧版Excel
=INDEX($C$1:$XFD$1, MATCH(1, ($C2:$XFD2=A2)*1, 0))
输入后按Ctrl+Shift+Enter完成数组公式的确认。
适配Excel 365/2021
=XLOOKUP(A2, $C2:$XFD2, $C$1:$XFD$1, , , -1)
最后一个参数-1表示从右往左查找,返回最后一个匹配的日期。
内容的提问来源于stack exchange,提问作者David Ludin
相关产品推荐
相关产品推荐

