请问report的if函数可以嵌套吗?我这个数据校验应该怎么写??

业务场景:如果任务超时,员工仍可补登自己的任务,但完成时间H11只能晚于当前时间-7,也就是只能选择七日内的日期;如果任务仍在截止日期前,可以留空完成时间,也可以选择开始时间之后的完成时间。image.png

FineReport yzm238093 发布于 2021-5-14 09:52
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
shirokoLv6资深互助
发布于2021-5-14 10:57

image.png

开始时间留空是合格的,所以改成1=1

其他暂时看不出什么问题,如果有问题,检查一下now()和H6H11的格式是否一致可以比较

最佳回答
0
祈LLv6中级互助
发布于2021-5-14 09:57(编辑于 2021-5-14 10:00)

if(len(xx)==0,'xx',if(xx=2,'','xx'))

嵌套这样写,理论上可以无限嵌套

  • yzm238093 yzm238093(提问者) 冒昧请求能否帮我看下我的校验语句应该怎么写?
    2021-05-14 10:01 
  • 祈L 祈L 回复 yzm238093(提问者) 公式最后是返回一个值,你想要范围,场景不适合
    2021-05-14 10:18 
  • yzm238093 yzm238093(提问者) 回复 祈L 那麻烦请问如何填了数据校验之后,对应的单元格就必填了吗?有没有办法可以做到不填?
    2021-05-14 10:31 
  • InfiniteFuture InfiniteFuture 回复 yzm238093(提问者) 那就让空单元格也满足数据校验呗
    2021-05-14 10:48 
  • 祈L 祈L 回复 yzm238093(提问者) 数据校验你就正常写,范围就用两个单元格,分别填入起始值和终止值
    2021-05-14 10:50 
最佳回答
0
InfiniteFutureLv4见习互助
发布于2021-5-14 10:38(编辑于 2021-5-14 10:55)

也可以switch(true,条件1,结果1,条件2,结果2,……,条件n,结果n,true,'error')

If嵌套要注意括号层级,这个就不用了

数据校验按你的逻辑就是,超时的必填,且时间必须7日内,不超时则为空或者大于开始时间的完成时间(不能大于截止日期吧)按这个逻辑写就行了,判空公式len(XX)=0,其他就是与或连接了

校验公式逻辑(超时&&时间7天内)||(未超时&&(单元格为空||(完成时间大于开始时间&&完成时间小于截止时间)))

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