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

如何用VLOOKUP或其他函数自动计算工作表内同月当日与前日数据差值

同一工作表内同月份当日减前日数据的实现方案

核心逻辑

根据日期是否属于同一个月,动态计算当日数据与前日数据的差值,分两种场景实现:


场景1:日期行连续排序(行号随日期递增)

如果你的日期按时间顺序连续排列(如A8对应8号、A9对应9号),直接用以下公式:
在需要计算差值的单元格(如N8)输入:

=IF(MONTH(A8)=MONTH(A7), M8-M7, "")
  • MONTH(A8)=MONTH(A7):判断当日与前日是否在同一月份
  • 满足条件时计算M8-M7(当日数据减前日数据),不满足则返回空值
  • 下拉公式到所有需要计算的单元格,即可批量自动处理

场景2:日期行不连续(日期分散在任意行)

如果日期未按行号排序,需要动态匹配前一天的数据,用以下公式:

适用于Excel 365/2021及新版本(XLOOKUP)

在目标单元格(如N9)输入:

=IF(MONTH(A9)=MONTH(A9-1), M9-XLOOKUP(A9-1, $A:$A, $M:$M, ""), "")
  • A9-1:自动生成前一天的日期
  • XLOOKUP(A9-1, $A:$A, $M:$M, ""):查找前一天日期对应的M列数据,找不到返回空
  • 绝对引用$A:$A和$M:$M,确保下拉公式时查找范围不变

适用于旧版Excel(VLOOKUP)

=IF(MONTH(A9)=MONTH(A9-1), IFERROR(M9-VLOOKUP(A9-1, $A:$M, 13, FALSE), ""), "")
  • 13是M列在A-M列中的列序号(A为第1列,M为第13列),需根据你的实际列位置调整
  • IFERROR处理找不到前日数据的情况,避免显示#N/A错误

针对你的具体示例

如果是固定单元格引用(如N8=M8-M9、N9=M9-P12),直接输入对应公式即可;但要实现全批量自动匹配,建议采用上述动态公式,确保任意日期的差值都能自动计算。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:05:38