两种方法可行,各有优缺点:
公式法D15:
=IF(AND(HOUR(NOW())=2,MINUTE(NOW())>=0,MINUTE(NOW())<=1),D14,D15)
优点:简单,容易实现
缺点:
第一,你需要设置勾选循环引用,设置次数为1次;
第二,由于无法使用易失性函数,所以单元格无法自动更新,你需要在这一分钟的时间段里执行能引发工作表自动重算的动作。
VBA法:
创建VBA使用Application对象的OnTime方法来让Excel在指定时间运行指定的过程,在过程中更新D15。
优点:基本上能保证数据的定时更新。
缺点:使用VBA,需要一定的基础。
两种方法都要求工作簿在需要更新时是打开的。
追问不好意思,我太笨,我没办法勾选循环引用,还有我要D14在第二天2点以后显示的是C14的内容,可能我没有表述明白,我不知道什么原因用了楼上大神的公式后结果总是为0,会不会因为C14的值=D14+J14原因影响计算啊?
追答晕,你C14还等于D14+J14………………没得救。。。啊,不能用公式了
追问那咋办?我希望他们自动计算啊,由于某些原因小于10美金的不能支付所以需要留存,然后被再计算。有什么办法实现这一思路吗?
追答只有用VBA定时将C14的内容以纯数据的方式写入D14,并在每次写入D14时,将J14或J14所依赖的数据清零(因为J14也可能是公式计算来的)