咨询:结合Match函数与日期计算各类日期距今日剩余天数
Google Sheets 计算各类日期距今日的剩余天数
现有表格里Column A包含多种日期表述:具体日期、「明天」、「周二」「周三」,需要在Column D算出这些日期离今天还有多少天,其中「周二」「周三」指最近的那个对应周几,已知DATEDIF公式对具体日期(比如21 Juli、23 Juli)能用,下面是适配所有情况的方案:
公式用法
在D2单元格输入以下公式,下拉填充到所有行:
=IF(A2="明天", 1, IF(OR(A2="周二", A2="周三"), LET(target_day, MATCH(A2,{"周一","周二","周三","周四","周五","周六","周日"},0), today_day, WEEKDAY(TODAY(),2), diff, target_day - today_day, IF(diff>=0, diff, diff+7)), DATEDIF(TODAY(), DATEVALUE(A2), "D")))
公式逻辑拆解
- 碰到「明天」:直接返回剩余1天
- 碰到「周二/周三」:
- 先把中文周几转换成对应的序号(周一=1,周日=7)
- 计算目标周几序号与今天周几序号的差值
- 如果差值≥0,说明目标周几在本周内,直接用差值作为剩余天数;如果差值<0,说明目标周几在下周,差值加7得到剩余天数
- 碰到具体日期:沿用你已验证有效的
DATEDIF公式,计算今日到目标日期的天数差
内容的提问来源于stack exchange,提问作者Bol motion
相关产品推荐
相关产品推荐

