能否设置随时间关联的单元格?求匹配10周前日期的自动公式
自动匹配10周前日期对应的B列数值计算差值
核心思路
自动定位A列中早于当前日期10周的记录,提取对应B列数值,再与B列最新非空数值计算差值,无需手动修改单元格引用。
方案1:Excel 365/2021及以上版本(推荐用XLOOKUP)
XLOOKUP语法更直观,支持灵活匹配规则:
=XLOOKUP(TODAY()-70, A:A, B:B, "", -1) - XLOOKUP(2, 1/(B:B<>""), B:B)
参数说明:
TODAY()-70:当前日期往前推10周(每周7天,10×7=70天),若需按工作日计算10周,可替换为WORKDAY(TODAY(), -50)(10周工作日共50天)XLOOKUP(..., "", -1):在A列查找小于等于目标日期的最近匹配项,返回对应B列值;若需精确匹配10周前的日期,将-1改为0即可,无匹配时返回空值XLOOKUP(2, 1/(B:B<>""), B:B):获取B列最后一个非空单元格的数值,替代原手动引用的最新值
方案2:兼容所有Excel版本(用LOOKUP)
若使用旧版Excel,可沿用LOOKUP逻辑(需确保A列日期升序排列):
=LOOKUP(TODAY()-70, A:A, B:B) - LOOKUP(2, 1/(B:B<>""), B:B)
如果A列日期未排序,改用数组公式(输入后按Ctrl+Shift+Enter确认):
=LOOKUP(2, 1/(A:A<=TODAY()-70), B:B) - LOOKUP(2, 1/(B:B<>""), B:B)
此公式会筛选所有早于等于10周前的日期,返回最后一条记录的B列数值。
内容的提问来源于stack exchange,提问作者Richard210363
相关产品推荐
相关产品推荐

