【发布时间】:2020-05-12 06:18:10
【问题描述】:
由于 Sheets 中的 MIN() 函数仅返回单个值,并且无法使其与 ARRAYFORMULA 一起使用,因此我想创建一个自定义函数,该函数将采用两个数组并比较每个条目的值,然后返回最小值数组。 (我知道有一种使用 QUERY 的解决方法,但它不适用于我的目的)
我现在所拥有的将采用两个阵列并排成一排,并且可以完美运行。不幸的是,当引入多行时,它会中断。我不知道为什么,所以我不知道如何前进。如何使它适用于任何大小的数组?
当我给它任何二维范围时,它会抛出一个错误:
“TypeError:无法设置未定义的属性'0'”
在这条线上finalarray[x][y] = Math.min(arr1[x][y], arr2[x][y]);
当前“工作”代码:
function MINARRAY(arr1, arr2) {
if (arr1.length == arr2.length && arr1[0].length == arr2[0].length)
{
var finalarray = [[]];
for (x = 0; x < arr1.length; x++)
{
for(y = 0; y < arr1[x].length; y++)
{
finalarray[x][y] = Math.min(arr1[x][y], arr2[x][y]);
}
}
return finalarray;
}
else
{
throw new Error("These arrays are different sizes");
}
}
【问题讨论】:
标签: javascript google-apps-script google-sheets custom-function