IF函数

if((len(a1)=0,a1=任意值,a1==sql("数据库","select * from tablename where a2='"+$a2+"'",1)),这个中的任意值如何表达?

FineReport 飞舞的蒲公英 发布于 2023-1-31 08:10 (编辑于 2023-1-31 08:15)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共2回答
最佳回答
1
LTC朝Lv6高级互助
发布于2023-1-31 08:17(编辑于 2023-1-31 08:58)

既然是任意值,你就直接写个数不就行了,比如1

或者

取随机数的公式:=CEILING(RAND()*100)

rand()*100  表示取小于100的任意数

CEILING()函数表示延绝对值增大的方向取整数

--------------------------------------------------------------------

image.png

OR(LEN(A1) = 0, a1=sql("数据库","select * from tablename where a2='"+$a2+"'",1))

  • 飞舞的蒲公英 飞舞的蒲公英(提问者) 我想要填写的内容是6位的数据,编号不同,数据库中是空白值,想要的结果是任意六位数字都能通过那种
    2023-01-31 08:21 
  • LTC朝 LTC朝 回复 飞舞的蒲公英(提问者) 没明白,举个例子说明
    2023-01-31 08:22 
  • 飞舞的蒲公英 飞舞的蒲公英(提问者) 回复 LTC朝 现在a1已经随其他数据导入数据库了,只不过他是空白值需要填写,但是在填写提交时想要数据校验,空白值可以填写任意六位员工编号(为空不校验),如果不为空比如a1=000001的话,再有人填写这条数据就需要与数据库中非空值(000001)数据校验
    2023-01-31 08:26 
  • LTC朝 LTC朝 回复 飞舞的蒲公英(提问者) 你这个if就有问题,翻译过来就是:如果满足条件a1为空,那么a1 = 任意值,是吧。既然a1已经是空了,怎么还能是任意值呢?
    2023-01-31 08:31 
  • 飞舞的蒲公英 飞舞的蒲公英(提问者) 回复 LTC朝 =CEILING(RAND()*100),用了您的这个,还是不行,有没有能表达任意值,不管什么值都能通过这种函数
    2023-01-31 08:34 
最佳回答
1
用户S5182147Lv6中级互助
发布于2023-1-31 08:32

if((len(a1)=0,1=1,a1==sql("数据库","select * from tablename where a2='"+$a2+"'",1))

意思是A1为空,条件直接通过,否则进行校验

  • 飞舞的蒲公英 飞舞的蒲公英(提问者) if((len(a1)=0,true,a1==sql(\"数据库\",\"select * from tablename where a2=\'\"+$a2+\"\'\",1)),这种也试过,效果一样,不知道为啥就是通不过,除非a1啥也不填为空
    2023-01-31 08:37 
  • 用户S5182147 用户S5182147 回复 飞舞的蒲公英(提问者) 如果A1单元格为空,会执行前面的1=1或直接true,此时肯定会通过的。那只能后面出现问题,即A1单元格不等于空时,你想要判断什么?你此时的写法是当A1单元格不等于空时,A1单元格的值要在数据库中有值才能通过
    2023-01-31 08:41 
  • 飞舞的蒲公英 飞舞的蒲公英(提问者) 回复 用户S5182147 我使用模拟计算测试过,如果不为空,输入和数据库导入匹配的值,可以通过
    2023-01-31 08:49 
  • 用户S5182147 用户S5182147 回复 飞舞的蒲公英(提问者) 是的,你目前的公式代表的意思就是如果A1单元格为空,直接通过。不为空,则需要与数据库中的值匹配。
    2023-01-31 08:57 
  • 2关注人数
  • 1011浏览人数
  • 最后回答于:2023-1-31 08:58
    请选择关闭问题的原因
    确定 取消
    返回顶部