求助:在Excel两列提取最晚日期,优先取修订结束日期且仅保留日期
Excel提取目标日期解决方案

需求回顾
需要逐行处理Excel两列日期,规则如下:
- 只要「修订结束日期」列存在日期,无论该日期早于还是晚于「计划结束日期」,都以「修订结束日期」作为结果
- 最终输出仅保留日期部分,不含时间
此前使用公式 =INT(MAX([@[Planned End Date]],[@[Revised End Date]])) 未达到预期效果,以下是可行方案:
公式解决方案
直接用IF函数优先判断「修订结束日期」是否非空,结合INT提取日期部分:
=IF(NOT(ISBLANK([@[Revised End Date]])),INT([@[Revised End Date]]),INT([@[Planned End Date]]))
逻辑说明
NOT(ISBLANK([@[Revised End Date]])):判断当前行的「修订结束日期」是否不为空- 如果满足条件,就用
INT([@[Revised End Date]])提取该单元格的日期部分(去除时间) - 如果「修订结束日期」为空,则提取「计划结束日期」的日期部分
格式调整
如果公式返回的是数值,选中结果列,右键设置单元格格式为「短日期」或「长日期」,即可正常显示日期样式。
内容的提问来源于stack exchange,提问作者sheshnn
相关产品推荐
相关产品推荐

