如何用Excel公式提取上个工作日对应的Column B数据?
提取上个工作日对应数据的Excel公式
针对你的表格需求,这里提供两种可行的公式方案,核心逻辑是先计算出当前日期的前一个工作日,再匹配A列日期返回对应B列数据:
方案1:使用VLOOKUP(兼容多数Excel版本)
=VLOOKUP(WORKDAY(TODAY(), -1), A:B, 2, FALSE)
方案2:使用XLOOKUP(Excel 365/2021及以上版本更推荐)
=XLOOKUP(WORKDAY(TODAY(), -1), A:A, B:B, "无匹配数据")
公式说明
WORKDAY(TODAY(), -1):自动计算当前日期的前一个工作日,默认跳过周六周日。比如周一打开文件时,会返回上周五的日期;周二到周五打开时,返回前一天的日期,完全符合你的需求。VLOOKUP/XLOOKUP:在A列定位到计算出的工作日日期,返回对应B列的数值。XLOOKUP的优势是可以自定义无匹配时的提示文本(比如示例中的"无匹配数据")。
注意事项
- 确保A列的日期是Excel可识别的日期格式(不是纯文本)。如果是文本格式,可选中A列后通过「数据→分列」快速转换,或用
DATEVALUE(A1)函数将单格文本转为日期。 - 若需要排除自定义节假日(如法定假期),可改用
WORKDAY.INTL函数扩展,示例:
其中=XLOOKUP(WORKDAY.INTL(TODAY(), -1, 1, $D$1:$D$5), A:A, B:B, "无匹配数据")$D$1:$D$5是存放节假日日期的单元格区域,第三个参数1代表周六周日为休息日(可根据需求调整参数值自定义休息日)。
内容的提问来源于stack exchange,提问作者Mini Muc
相关产品推荐
相关产品推荐

