单元格时间字段值比较并取值

请问怎么取三个时间字段值中最靠近现在时间的值?比如有三个单元格A1, B1, C1, 其值分别为2020/12/25, 2020/07/18, 2021/01/15, 用什么方法比较三个单元格的值后,让最靠近现在的值2021/01/15取出并赋值给单元格D1?

FineReport 任我飞 发布于 2021-2-25 22:03
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
1
青鸟ekkoLv6见习互助
发布于2021-2-26 08:49

使用帆软内置函数DATEIF(start_date,end_date,unit),具体使用可以去设计器查看,将三个单元格的值和当天的值进行比较,返回一个天数,取三个值里面最小的一个返回值即可

最佳回答
1
zsh331Lv8专家互助
发布于2021-2-26 07:45
DATESUBDATE(date1, date2, op):返回两个日期之间的时间差。 op表示返回的时间单位: "s",以秒为单位。 "m",以分钟为单位。 "h",以小时为单位。 "d",以天为单位。 "w",以周为单位。 示例: DATESUBDATE("2008-08-08", "2008-06-06","h")等于 1512。 —————— 思路:用DATESUBDATE()函数,与现在的时间today(),算差值,取时间差(d)结果“绝对值”最小所对应的日期即可,绝对值用abs()函数,不难吧!
最佳回答
1
177741977Lv6初级互助
发布于2021-2-26 09:14(编辑于 2021-2-26 10:34)

文件:WorkBook9.cpt

公式1:CONCATENATE(mid(max(ARRAY(FORMAT(A2, "yyyyMMdd"), FORMAT(B2, "yyyyMMdd"), FORMAT(C2, "yyyyMMdd"))), 1, 4), "-", mid(max(ARRAY(FORMAT(A2, "yyyyMMdd"), FORMAT(B2, "yyyyMMdd"), FORMAT(C2, "yyyyMMdd"))), 5, 2), '-', mid(max(ARRAY(FORMAT(A2, "yyyyMMdd"), FORMAT(B2, "yyyyMMdd"), FORMAT(C2, "yyyyMMdd"))), 7, len(C2)))

公式2:FORMAT(max(ARRAY(FORMAT(A2, "yyyyMMdd"), FORMAT(B2, "yyyyMMdd"), FORMAT(C2, "yyyyMMdd"))) + "", "yyyy-MM-dd")

效果展示:

image.png

  • 4关注人数
  • 642浏览人数
  • 最后回答于:2021-2-26 10:34
    请选择关闭问题的原因
    确定 取消
    返回顶部