Excel技术问询:满足条件时返回同列上方行的日期值
单元格匹配特定值时提取同列上方日期的解决方法
核心需求
当指定列的单元格包含目标内容时,提取同列中最近的上方日期单元格的值(对应效果对比中,把分散的日期补全到下方任务行)
具体公式方案
方案1:Excel 365/2021及以上版本(简洁高效)
假设日期在A列,需判断的内容在B列,在C2单元格输入以下公式后下拉填充:
=XLOOKUP(TRUE,ISNUMBER(A$2:A2),A$2:A2,"",0,-1)
如果需要仅当B列单元格包含特定文本(比如"任务")时才提取日期,调整为:
=IF(ISNUMBER(SEARCH("任务",B2)),XLOOKUP(TRUE,ISNUMBER(A$2:A2),A$2:A2,"",0,-1),"")
方案2:兼容旧版Excel(无XLOOKUP功能)
在C2单元格输入以下公式后下拉填充:
=LOOKUP(2,1/ISNUMBER(A$2:A2),A$2:A2)
匹配特定文本的版本:
=IF(ISNUMBER(SEARCH("任务",B2)),LOOKUP(2,1/ISNUMBER(A$2:A2),A$2:A2),"")
效果对比
- 原效果:

- 目标效果:

内容的提问来源于stack exchange,提问作者Craig Barnes
相关产品推荐
相关产品推荐

