关于公式问题

DATEDIF(MEDIAN(IF(len(V3)=0,NOW(),V3),IF(len(AH3)=0,NOW(),AH3),IF(len(P3)=0,NOW(),P3)),TODAY(),"y")

单元格里都是日期格式

这个公式在报表里显示的结果是0。但是导出到EXCEL后是正常有计算值的。

按报表里的示例MEDIAN有[]符号,如果加这个符号不仅报表中不好用,导出的excel公式里显示也有问题。应该是不认[]符号。怎么改才能在报表里正确使用呢?


FineReport apengjun 发布于 2019-5-7 15:35 (编辑于 2019-5-7 15:36)
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
尘埃。Lv2初级互助
发布于2019-5-7 15:40(编辑于 2019-5-7 15:55)

DATEDIF(start_date,end_date,unit):返回两个指定日期间的天数、月数或年数。

Start_date:代表所指定时间段的初始日期。End_date:代表所指定时间段的终止日期。

Unit:函数返回信息的类型。若unit=“Y”,则DATEDIF返回指定时间段的年差数。

若unit=“M”,则DATEDIF返回指定时间段的月差数。若unit=“D”,则DATEDIF返回指定时间段的日差数。

若unit=“MD”,则DATEDIF忽略年和月,返回指定时间段的日差数。若unit=“YM”,则DATEDIF忽略年和日,返回指定时间段的月差数。若unit=“YD”,则DATEDIF忽略年,返回指定时间段的日差数。

示例:

DATEDIF("2001/2/28","2004/3/20","Y")等于3,即在2001年2月28日与2004年3月20日之间有3个整年。DATEDIF("2001/2/28","2004/3/20","M")等于37,即在2001年2月28日与2004年3月20日之间有36个整月。DATEDIF("2001/2/28","2004/3/20","D")等于1116,即在2001年2月28日与2004年3月20日之间有1116个整天。DATEDIF("2001/2/28","2004/3/20","MD")等于8,即忽略月和年后,2001年2月28日与2004年3月20日的差为8天。DATEDIF("2001/1/28","2004/3/20","YM")等于2,即忽略日和年后,2001年1月28日与2004年3月20日的差为2个月。

DATEDIF("2001/2/28","2004/3/20","YD")等于21,即忽略年后,2001年2月28日与2004年3月20日的差为21天。



image.png

如果解决了您的问题,请及时采纳,系统会为您增加20信用分哦,...

另外小弟混口饭吃不容易,就指望你这个采纳呢...


  • apengjun apengjun(提问者) 我的问题应该是卡在MEDIAN这个函数上了。
    2019-05-07 15:52 
  • 尘埃。 尘埃。 回复 apengjun(提问者) 你看看你的是 \'y\',所以我给你看格式。另外小弟混口饭吃不容易,就指望你这个采纳呢...
    2019-05-07 15:55 
  • apengjun apengjun(提问者) 回复 尘埃。 换成\"Y\"也一样。
    2019-05-07 16:13 
  • 尘埃。 尘埃。 回复 apengjun(提问者) 是不是,这两年一减就是0
    2019-05-07 16:25 
最佳回答
0
Kevin-sLv7中级互助
发布于2019-5-7 15:53

按你公式返回的结果确实是0呢,因为now()和today()相差0年,你把now()改成一个前年的时间,值应该酒鬼不会0

  • apengjun apengjun(提问者) 3个IF有3个日期的单元格只要不是空的就有不同的日期,我单独试过IF(len(V3)=0,NOW(),V3)这样的公式能取到V3里的日期。
    2019-05-07 16:03 
  • Kevin-s Kevin-s 回复 apengjun(提问者) 加个qq1723717779,把模板给我测试一下
    2019-05-07 16:05 
  • Kevin-s Kevin-s 回复 apengjun(提问者) 但是你这个MEDIAN(IF(len(V3)=0,NOW(),V3),IF(len(AH3)=0,NOW(),AH3),IF(len(P3)=0,NOW(),P3))应该返回的是now()
    2019-05-07 16:06 
  • apengjun apengjun(提问者) 回复 Kevin-s 如果不为空返回的应该是单元格里的日期不是now()。这个公式直接放单元格的插入公式里实时计算就能看到结果了。。
    2019-05-07 16:17 
  • Kevin-s Kevin-s 回复 apengjun(提问者) DATEDIF和MEDIAN都是用不了的,具体你要实现什么功能
    2019-05-07 17:05 
最佳回答
0
axingLv6专家互助
发布于2019-5-7 16:19

MEDIAN函数对日期类型数据不起作用

公式改成

DATEDIF(INDEXOFARRAY(SORTARRAY(ARRAY(IF(len(V3)=0,NOW(),V3),IF(len(AH3)=0,NOW(),AH3),IF(len(P3)=0,NOW(),P3))),2),TODAY(),"y")


  • apengjun apengjun(提问者) 这个靠谱多了比较接近,但是在excel里不足1年的显示是0。报表里还是1感觉只是简单的对年相减没有判断是否整年。
    2019-05-08 08:44 
  • axing axing 回复 apengjun(提问者) 那你按天来算,大于365的算一年
    2019-05-08 08:48 
  • apengjun apengjun(提问者) 回复 axing 我想过按天算但是有闰年的。。。
    2019-05-08 09:28 
  • 4关注人数
  • 492浏览人数
  • 最后回答于:2019-5-7 16:19
    请选择关闭问题的原因
    确定 取消
    返回顶部