1

我无法理解该IF声明。我想做的是(在php中):

    if(isEmpty($cellA) && isNotEmpty($cellB){
        $cellA = CurrentDate;
    }

我在电子表格中这样做的尝试是:

    =IF(ISBLANK($A3), IF(ISBLANK($B3),"",$A3 = NOW()) ,"")

我收到一个错误error: Circular dependency detected

提前谢谢你。

4

1 回答 1

4

如果您将该公式放入其中,A3或者B3因为该公式将引用包含该公式的单元格,则会出现循环依赖,这将永远递归地继续下去。想一个非常简单的例子——=A1单元格中的公式A1。当计算公式时,它看到它的值应该是A1(即当前单元格)的值。然后它A1在工作表上找到并尝试获取它的值,但正如我们刚刚看到的,公式是=A1,所以它会转到单元格A1(我们已经在哪里)再次尝试计算该值。此过程将使您陷入无限循环,而电子表格通过在注意到单元格引用自身时不计算任何内容来防止这种情况发生,而是警告您循环引用。

此外,由于您无法从公式中为任意单元格分配值,因此该$A3 = NOW()部分只是一个布尔评估,将返回Trueor False。一般语法(看​​起来像你有的)是IF(<condition>, <value_if_true>, <value_if_false). 您在 PHP 中所做的实际上更适合 AppScript,这是一种内置于 Google Docs 中的 JavaScript 式编程语言。使用它,您将能够执行您查找的操作 - 否则,您将必须创建一个单独的列并在那里进行计算。希望有帮助:)

于 2012-11-22T10:14:18.027 回答