我有一个曾经有效的公式现在给了我一个错误:
if(
AND(
AND(
date_diff('dd', now(), field('Echeance')) < 31,
NOT(isblank(field('Echeance')))
),
isblank(field('FAIT'))
),
TRUE,
FALSE
)
该公式计算现在与名为“Echeance”的列中的日期之间的日期差异,如果差异小于 31 天且“Echeance”和“FAIT”列不为空,则返回 TRUE。
现在,我收到以下错误:date_diff 的参数 3 不是日期。
公式曾经有效,我只更改了“Echeance”的公式,但它仍然是一个日期。
‘Echeance’是以下公式的结果:
if(
isblank(field('Durée')),
'',
date_interval(field('Durée')) + field('Date')
)
错误。
所以它要么是空白,要么是日期。我不明白为什么它突然不再被视为日期,或者某些单元格为空白的事实现在被视为一个问题。
我试过这个:
if(
AND(
AND(
if(
isblank(field('Echeance')),
' ',
date_diff('dd', now(), field('Echeance'))
) < 31,
NOT(isblank(field('Echeance')))
),
isblank(field('FAIT'))
),
TRUE,
FALSE
)
也许错误来自于“Echeance”为空时,但它给了我另一个错误,说它不期望“Echeance”作为 date_diff 的第三个参数,而是期望一个“)”,这也没有意义。
我最终自己解决了这个问题:
这里是最终代码:
if(
and(
not(isblank(field('Echeance'))),
and(
date_diff('day', now(), todate(field('Echeance'), 'DD-MM-YYYY')) < 31,
isblank(field('FAIT'))
)
),
true,
false
)
这确实是对“Echeance”列中的空白单元格所做的。之后我不必更改其公式。
感谢所有阅读我的帖子并试图提供帮助的人。