Google表格自定义公式会在每次输入新数据时重新计算整个列

时间:2018-05-03 01:03:07

标签: google-apps-script google-sheets

我正在制作日间交易电子表格,我想专门使用公式,因为我想了解有关电子表格编程的更多信息。我有一个名为“投资”的栏目,它在入境点取得股票的价格,然后乘以我买入的股票数量。问题是,即使它有效,每次我在新行中输入信息时,它都会重新计算整列的值。如何修改我的公式,以便它只计算当前行的投资?这是我的代码:

function INVESTMENT(entry, quantity) {
  var resultArray = [];

  for(row = 0; row < entry.length; row++) {
    resultArray.push(Math.abs(entry[row] * quantity[row]));
  }

  return resultArray;
}

1 个答案:

答案 0 :(得分:0)

您的功能适用于RANGE,因此每当RANGE中的某些内容发生变化时,将重新计算该功能。

您可以将您的功能重写为仅处理单个单元格:

function INVESTMENT(entry, quantity) {
  return Math.abs(entry * quantity);
}

然后将公式复制到每一行,而不是仅将其放在结果列的顶部

=INVESTMENT(A2, B2)

计算RANGE而不是CELL在一个非常大的工作表中是有意义的,但是对于你所描述的,一个适用于CELL的简单函数更有意义。