Excel技术问询:如何为汇率表生成连续日期并填充非工作日汇率
解决方案
不需要Lambda函数也能实现这个需求,用XLOOKUP结合WEEKDAY就能搞定,以下是具体公式:
假设你新建的连续日期列为A列(从A2开始),原表的日期列是原表!D:D,GBP汇率列是原表!E:E,EUR汇率列是原表!F:F:
GBP汇率填充公式(B2单元格)
=IFS( WEEKDAY(A2,2)=7,XLOOKUP(A2+1,原表!D:D,原表!E:E), WEEKDAY(A2,2)=6,XLOOKUP(A2-1,原表!D:D,原表!E:E), TRUE,XLOOKUP(A2,原表!D:D,原表!E:E) )
EUR汇率填充公式(C2单元格)
=IFS( WEEKDAY(A2,2)=7,XLOOKUP(A2+1,原表!D:D,原表!F:F), WEEKDAY(A2,2)=6,XLOOKUP(A2-1,原表!D:D,原表!F:F), TRUE,XLOOKUP(A2,原表!D:D,原表!F:F) )
公式说明
WEEKDAY(A2,2):将周一设为1、周日设为7,方便直观判断日期类型- 周日(返回值7):取下周一的汇率(
A2+1),原表包含完整工作日数据,下周一必然存在有效汇率 - 周六(返回值6):取上周五的汇率(
A2-1) - 工作日:直接匹配对应日期的汇率
把公式输入对应单元格后,下拉填充即可覆盖所有连续日期行。
内容的提问来源于stack exchange,提问作者sohelK
相关产品推荐
相关产品推荐

