Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌电子表格的条件函数_Javascript_Google Apps Script_Google Sheets_Google Spreadsheet Api - Fatal编程技术网

Javascript 谷歌电子表格的条件函数

Javascript 谷歌电子表格的条件函数,javascript,google-apps-script,google-sheets,google-spreadsheet-api,Javascript,Google Apps Script,Google Sheets,Google Spreadsheet Api,如何为Google电子表格创建条件公式,其中: 如果单元格A1的值是偶数,我希望单元格B2显示A1*2的值 如果单元格A1的值是奇数,我希望单元格B2显示A1+1的值 以下是我想做的基本蓝图: function isEven(input) { if(input % 2 == 0) { return true; } else { return false; } } function conditionalFormula(inpu

如何为Google电子表格创建条件公式,其中:

  • 如果单元格A1的值是偶数,我希望单元格B2显示A1*2的值

  • 如果单元格A1的值是奇数,我希望单元格B2显示A1+1的值

以下是我想做的基本蓝图:

function isEven(input) {
    if(input % 2 == 0) {
        return true;
    }
    else {
        return false;
    }
}

function conditionalFormula(input) {
    if(isEven(input)) {
        //Make cell B1's value equal to A1 * 2
    }
    else {
        //Make cell B1's value equal to A1 + 1
    }
}

您能否不使用内置语句和语句的组合来实现这一点

i、 e在B1单元中写入:

=IF(ISEVEN(A1),A1*2,A1+1)

然后,您可以复制并粘贴它,这将自动增加单元格索引。

您能否不使用内置和语句的组合来实现这一点

i、 e在B1单元中写入:

=IF(ISEVEN(A1),A1*2,A1+1)

然后,您可以复制并粘贴它,这将自动增加单元格索引。

如果要在列中运行此操作,请使用ARRAYFORMULA函数,这样您就不必将其复制到每个单元格:

=ARRAYFORMULA(IF(ISEVEN(A1:A),A1:A*2,A1:A+1))
如果没有值,将给您一个0

=ARRAYFORMULA(IF(ISNUMBER(A1:A), IF(ISEVEN(A1:A),A1:A*2,A1:A+1), ""))
仅当列A中的单元格为数字时,才会将该值乘以


在上述示例中,公式位于第1行,并应用于整行。如果放置在第2行并处理第2到20行,则将范围从A1:A更改为A2:A20。两个使用A1:A的公式都将在包含arrayformula的列中的每个单元格中放置一个值(数字或空白元素)。A2:A20版本只会将这些值放在单元格2-20中。

如果要在列中运行此项,请使用ARRAYFORMULA函数,这样就不必将其复制到每个单元格:

=ARRAYFORMULA(IF(ISEVEN(A1:A),A1:A*2,A1:A+1))
如果没有值,将给您一个0

=ARRAYFORMULA(IF(ISNUMBER(A1:A), IF(ISEVEN(A1:A),A1:A*2,A1:A+1), ""))
仅当列A中的单元格为数字时,才会将该值乘以


在上述示例中,公式位于第1行,并应用于整行。如果放置在第2行并处理第2到20行,则将范围从A1:A更改为A2:A20。两个使用A1:A的公式都将在包含arrayformula的列中的每个单元格中放置一个值(数字或空白元素)。A2:A20版本只会将这些值放在单元格2-20中。

您想运行此函数还是从电子表格中调用它?@RobinGertenbach我想从电子表格中调用它。在这种情况下,您不能使用公式方法吗?否则,从单元格调用函数时,可以(而且必须)让函数返回值,不要在脚本中设置它我想使用脚本,因为它对我来说是一种更干净的方法,我想使用这种技术来做其他事情。在这种情况下,你只需要函数
返回输入+1
返回输入*2
。你想运行这个函数还是从电子表格中调用它?@RobinGertenbach我想从电子表格中调用它在这种情况下你不能使用公式方法吗?否则,从单元格调用函数时,可以(而且必须)让函数返回值,不在脚本中设置它我想使用脚本,因为它对我来说是一种更干净的方法,我想使用该技术来做其他事情。在这种情况下,您只需要使用函数分别
返回输入+1
返回输入*2
。这是正确的!当谷歌电子表格有这么多的内置公式来实现你的需求时,不需要编写任何脚本。这是正确的!当Google电子表格有这么多内置公式来实现您的需求时,无需编写任何脚本。