公式处理年龄

有出生日期,当年龄大于3岁时,显示具体几岁,小于3岁时显示年龄+月。

例如2012-01-01出生,显示7岁,2018-01-01出生,显示1岁3月。

用帆软的公式应该怎么处理

FineReport 18004486632 发布于 2019-4-18 13:42
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
孤陌Lv6资深互助
发布于2019-4-18 13:54(编辑于 2019-4-18 14:15)

IF(DATEDIF(a1,b1,"Y")>3,DATEDIF(a1,b1,"Y")+"岁",DATEDIF(a1,b1,"Y")+"岁"+MOD(DATEDIF(a1,b1,"M"),12)+"月")

B1自己替换成当前日期

IF(DATEDIF(a1,TODAY(),"Y")>3,DATEDIF(a1,TODAY(),"Y")+"岁",DATEDIF(a1,TODAY(),"Y")+"岁"+MOD(DATEDIF(a1,TODAY(),"M"),12)+"月")


image.png

前面的有点不严谨 应该这样

IF(DATEDIF(a1,TODAY(),"Y")>3,DATEDIF(a1,TODAY(),"Y")+"年",TRUNC(DATEDIF(a1,TODAY(),"M")/12)+"年"+MOD(DATEDIF(a1,TODAY(),"M"),12)+"月")

最佳回答
0
臧晓峰Lv4中级互助
发布于2019-4-18 13:48

你这个三岁计算的是周岁还是虚岁

最佳回答
0
吾姓独孤Lv6高级互助
发布于2019-4-18 14:05(编辑于 2019-4-18 14:24)

出生日期的单元格设置形态,公式,如下公式

IF(DATEDIF($$$, TODAY(), "Y") >= 3, DATEDIF($$$, TODAY(), "Y") + "岁", DATEDIF($$$, TODAY(), "Y") + "岁" + DATEDIF(DATEINYEAR(TODAY(),1), TODAY(), "M") + "月")

image.png

不满一年是这样的

image.png

  • 18004486632 18004486632(提问者) 谢谢,又提供了新思路
    2019-04-18 14:11 
  • 孤陌 孤陌 回复 18004486632(提问者) 如果不满一年呢?
    2019-04-18 14:18 
  • 孤陌 孤陌 回复 18004486632(提问者) 我重新修改了一下 不满12个月 显示0岁几月
    2019-04-18 14:19 
  • 18004486632 18004486632(提问者) 回复 孤陌 不满一年的我自己做了判断,谢谢大神
    2019-04-19 08:41 
  • 4关注人数
  • 942浏览人数
  • 最后回答于:2019-4-18 14:24
    请选择关闭问题的原因
    确定 取消
    返回顶部