PeNg_Dr1988

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

问题场景


  • 从任务数据表中比较所有任务的预计完成时间和实际完成时间,来判断该任务是逾期还是按期完成了,根据实际场景是不需要考虑时分秒,只需对比该任务预计完成和实际完成的年月日

  • 可通过提取年月日用函数进行比较。

  • 以下解决方法不仅只适用于提取年月日。

场景实例


以下图中数据都为测试数据,不具备真实性!

  • 判断下图数据中的任务是否逾期(任务5/6/7是逾期的)

img

目标


  • 提取【实际完成时间]的年月日,再用公式与预计完成时间对比这些任务有没有按期完成。

解决方案一


用分列中分隔符号提取。

  • 第一步:1.在【实际完成时间】的后面插入一列(要分成两列)——>2.点击功能项的【数据】——>3.点击【分列】——>4.下的一个选项分列

img

  • 第二步:默认【分隔符号】——>点击【下一步】

img

  • 第三步:选择【空格】(年月日和时分秒中间有空格)——>点击【下一步】

img

  • 第四步:将【实际完成时间】列设置为日期格式——>点击【完成】

img

  • 第五步:最后结果

img

  • 看是否逾期(这里不是重点,只列一种,不详细介绍)
=IF(C2-E2>0,"逾期","按期")
#预计完成时间小于实际完成时间的都属于逾期(C列与D列也可直接相减筛选出来大于0的就是逾期的任务)

img

解决方案二


用分列中固定宽度提取(注意;是固定宽度,比如2020/04/17与2020/4/17是不同的)。

  • 第一步同上

  • 第二步:选择——>【固定宽度】

img

  • 第三步:1.单击建立【分列线】——>2.滑动侧边栏查看分列线是否分隔正确——>3.点击【下一步】

img

  • 第四步:选择【日期】——>点击【完成】

img

  • 第五步:最后结果(注意分列完有时需要修改列标题)

img

解决方案三


用TEXT()函数提取年月日。

  • 第一步插入一列,在D2单元格输入以下公式:
=TEXT(C2,"yyyy-mm-dd")
#不考虑相对引用和绝对引用

img

  • 第二步:鼠标移到D2单元格的右下角,出现实心的黑色【+】号,双击填充此列

img

  • 第三步:最后结果

img

  • 对比函数公式:
=TEXT(C2,"yy-m-d")
#“yy-m-d”是指如果是2019-04-17 15:17:19,最后结果就是19-4-17,'-'可以替换为'/‘

img

总结


实际业务场景复杂时,可能也会存在单元格数据类型不是日期或常规格式、字段长度不同等问题,可使用多种方案备份后多尝试,办法总比困难多!

posted on 2020-08-17 21:46  PeNg_Dr1988  阅读(2309)  评论(0编辑  收藏  举报