如何获取每日最大值对应时间?含多地点数据透视表解决方案
解决方案:获取最大值对应的时间(单/多地点场景)
没问题,我来帮你把这两个场景的解决方案拆解清楚,不管是单地点找每日最大值对应的时间,还是多地点下匹配每个地点的极值时间,都有实用的方法:
一、单地点场景:获取每日最大值对应的时间
假设你的原始数据列是:A列=Day(日期)、B列=Time(时间/小时)、C列=Values(数值),已经用透视表算出了每日最大值,现在要匹配对应的时间:
方法1:透视表+公式匹配
- 先把你的透视表整理成两列:E列=日期,F列=每日最大值
- 在透视表旁边新增G列(对应时间),输入公式:
(如果是Excel 2019及更早版本,用=XLOOKUP(E2&F2,A:A&C:C,B:B)=INDEX(B:B,MATCH(E2&F2,A:A&C:C,0)),输入后按Ctrl+Shift+Enter完成数组公式输入) - 下拉填充公式,就能自动匹配到每个日期最大值对应的时间了。
方法2:直接在原始数据标记极值行
不想用透视表的话,直接在原始数据加一列D,输入公式:
=IF(C2=MAXIFS(C:C,A:A,A2),"最大值","")
下拉填充后,筛选D列的「最大值」,就能直接看到对应日期下最大值的时间啦。
二、多地点场景:获取每个地点最大值对应的日期&时间
结合你提到的CRITERIA列思路,这里给你细化完整步骤(假设数据列:A=Day、B=Time、C=Values、D=Location(地点)):
步骤1:生成唯一分组标识(CRITERIA列)
在E2单元格输入公式,把「日期+地点」合并成唯一键:
=A2&"_"&D2
双击单元格右下角的填充柄,把整列自动填满,这样每个「地点+日期」组合都有了唯一标识。
步骤2:透视表+公式匹配极值时间
- 选中所有数据(包括新的E列),插入数据透视表:
- 行区域:拖入Location(地点)和Day(日期)
- 值区域:拖入Values,点击值字段设置,把汇总方式改成「最大值」
这样你先得到了每个地点+日期的最大值(比如透视表中F=Location、G=Day、H=最大值)
- 在透视表旁边新增I列(对应时间),输入公式:
下拉填充后,就能精准匹配到每个地点+日期下最大值对应的时间了。=XLOOKUP(F2&G2&H2,D:D&A:A&C:C,B:B)
更高效的方法:用Power Query一键搞定
如果你的Excel是2016及以后版本,推荐用Power Query,不用手动写公式:
- 选中数据区域,点击「数据」选项卡 ->「从表格/区域」导入Power Query
- 在Power Query编辑器中,点击「开始」->「分组依据」:
- 分组列:选择Location和Day
- 新列名:随便取(比如「极值行」),操作选「保留行」->「保留最大值所在的行」,依据选Values
- 点击「关闭并上载」,就能直接得到包含每个地点+日期最大值及对应时间的表格,一步到位!
内容的提问来源于stack exchange,提问作者user3691200
相关产品推荐
相关产品推荐

