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

如何在Excel中引用过去30天同一时点数据并计算平均值对比?

解决方法

假设你的数据结构是:

  • A列:带完整日期的时间(比如2024/05/19 05:45:00,如果当前显示只有时间,可右键单元格→设置单元格格式→选「日期时间」查看完整内容)
  • B列:对应数值

1. 获取今日05:45:00的数值

用XLOOKUP函数直接匹配(Excel 365/2021支持,旧版用VLOOKUP):

=XLOOKUP(TODAY() + TIME(5,45,0), A:A, B:B)
  • TODAY()自动获取当前日期,TIME(5,45,0)生成05:45:00的时间,两者相加就是今日该时点的完整日期时间
  • 旧版Excel改用VLOOKUP:
=VLOOKUP(TODAY() + TIME(5,45,0), A:B, 2, FALSE)

2. 计算过去30天内同一时点的平均值

用AVERAGEIFS函数,同时匹配日期范围和时间点:

=AVERAGEIFS(B:B, A:A, ">="&TODAY()-30, A:A, "<"&TODAY(), MOD(A:A,1)=TIME(5,45,0))
  • TODAY()-30:获取30天前的日期,限定统计范围为过去30天(不含今日)
  • MOD(A:A,1):提取日期时间中的纯时间部分(Excel里日期是整数,时间是0-1的小数)
  • TIME(5,45,0):指定要匹配的05:45:00时间点

如果你的Time列只有时间,另有单独日期列(比如C列是日期)

  • 今日数值公式:
=INDEX(B:B, MATCH(1, (C:C=TODAY())*(A:A=TIME(5,45,0)), 0))

(Excel 365直接回车,旧版需按Ctrl+Shift+Enter作为数组公式输入)

  • 过去30天平均值公式:
=AVERAGEIFS(B:B, C:C, ">="&TODAY()-30, C:C, "<"&TODAY(), A:A, TIME(5,45,0))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 05:45:41