|
今天遇到这样一个需求,需要某个表单的数据,只能早上八点到下午六点的时候可以录入,其他时间不允许录入.很明显这个功能要用新增操作前的回写公式来控制.执行条件就是当前录入时间在八点到下午六点这个范围之内.于是我做了以下实践,首先,我在新增操作前的回写执行条件写了以下公式:
AND(NOW()>=TODAY()&" "&"08:00:00",NOW()<=TODAY()&" "&"18:00:00")
不过遗憾的是这样行不通,后来直接测试了一下TODAY()&" "&"08:00:00"这个公式的返回值,发现这个公式返回的today()实际上返回的是数字,而后面的时间部分确实文本.这样是行不通的.于是我想到了用TEXT()函数转化,但是TEXT函数好像也无法直接转化日期加时间,最后我在百度上搜索"excel 时间函数",于是找到了TIME这个函数的用法.因为在魔方里实际上大部分excel函数都是可以用的,所以试了一下TIME函数能不能正确返回值.于是随便找个文本字段在行间公式加"TIME(08,00,00)",结果就真的返回了时间的数字.然后就好说了,我写了以下公式就实现了上面说的只能早上八点到下午六点录入数据:
AND(NOW()>=(TODAY()+TIME(08,00,00)),NOW()<=(TODAY()+TIME(18,00,00)))
这里为什么要用"+"来连接日期和时间呢,因为这两个函数返回的都是数字,在魔方后台,日期和时间的计算其实也都是转化成数字来完成计算的. |
|