我正在为日间交易创建一个新的电子表格,我想在其中自动计算每一行。我已经看过 Google 的自定义功能指南,它只涉及一列。我有多个列需要考虑其值。例如,我想要:
Column D1:D = (Column A1:A x Column B:B) - (Column C1:C)
我如何仅使用自定义函数来执行此操作,因为它们更清晰且更易于阅读(我已经在不使用自定义公式的情况下使它工作,并且该解决方案不可读、不可维护或优雅)?
编辑:我熟悉 Google 自定义公式指南中的这个递归公式,但我不知道如何针对多列修改它:
function DOUBLE(input) {
if(input.map) {
return input.map(DOUBLE);
} else {
return input * 2;
}
}
最佳答案
您可以编写将数组作为参数的自定义函数。这是一个函数的例子,它应该乘以 2 列然后减去第三列,就像你的例子一样(我没有测试过它,它假设所有数组都是相同的大小而没有错误检查,但这只是为了你明白了):
function multAndSub(ary1, ary2, ary3) {
var resultAry = [];
for (var row=0; row<ary1.length; row++)
resultAry.push(ary1[row]*ary2[row]-ary3[row]);
return resultAry;
}
编写函数后,您可以像调用电子表格中的任何其他公式一样调用它:
=multAndSub(A:A, B:B, C:C)
关于javascript - 如何将多列传递到 Google 电子表格中的公式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50101416/