Google 电子表格自定义函数输入值
Google spreadsheet custom function input values
我最近在做一个学生成绩项目。
我非常缺乏经验,所以我 运行 很快就遇到了问题。
function MyFunction(A,B,C) {
if (A < 4.5); {
return "failure1"}
if (B < 4.5); {
return "failure2"}
if (C < 4.5); {
return "failure3"}
}
我还有一些其他的东西,因为这显然不完整,但由于某些原因这些命令似乎不起作用。
即使我分配 A 的单元格高于 4.5,我也总是失败 1
例如,我在单元格中输入 =MyFunction(A2:C2)
,即使我的 A2 包含高于 4.5 的值,输出也只是 failure1 。
当您使用范围作为自定义函数的参数时,它会变得有点棘手。在您的函数中,这将是一个数组数组,使用起来有点挑战。
因此,当您调用 =MyFunction(A2:C2)
时,您的自定义函数会得到:
[[a, b, c]]
其中 a 是单元格 A2 中的值,b 是单元格 B2 中的值,c 是单元格 C2 中的值。
这是一个示例,说明您可以如何使用类似的东西(比如对范围内的值求和):
function myFunction(values) {
var x = 0;
values.forEach(function(values) {
values.forEach(function(value) {
x += value;
});
});
return x;
}
诀窍是处理一个数组在另一个数组中的事实,所以我需要遍历外部数组,然后遍历内部数组,累加每个值以获得总和。
使用单一输入更容易,并且更接近您的预期。
有一些语法错误
- 分号表示语句结束
- 完整的 if 语句需要条件和语句。
{
,}
包围块。
另一个问题是函数,暗示参数是简单的值,而不是对象,所以你不应该使用范围作为输入。
另一种编写函数的方法如下:
function MyFunction(A,B,C) {
if (A < 4.5) return "failure1";
if (B < 4.5) return "failure2";
if (C < 4.5) return "failure3";
}
使用方法如下:
=MyFunction(A2,B2,C2)
我最近在做一个学生成绩项目。 我非常缺乏经验,所以我 运行 很快就遇到了问题。
function MyFunction(A,B,C) {
if (A < 4.5); {
return "failure1"}
if (B < 4.5); {
return "failure2"}
if (C < 4.5); {
return "failure3"}
}
我还有一些其他的东西,因为这显然不完整,但由于某些原因这些命令似乎不起作用。
即使我分配 A 的单元格高于 4.5,我也总是失败 1
例如,我在单元格中输入 =MyFunction(A2:C2)
,即使我的 A2 包含高于 4.5 的值,输出也只是 failure1 。
当您使用范围作为自定义函数的参数时,它会变得有点棘手。在您的函数中,这将是一个数组数组,使用起来有点挑战。
因此,当您调用 =MyFunction(A2:C2)
时,您的自定义函数会得到:
[[a, b, c]]
其中 a 是单元格 A2 中的值,b 是单元格 B2 中的值,c 是单元格 C2 中的值。
这是一个示例,说明您可以如何使用类似的东西(比如对范围内的值求和):
function myFunction(values) {
var x = 0;
values.forEach(function(values) {
values.forEach(function(value) {
x += value;
});
});
return x;
}
诀窍是处理一个数组在另一个数组中的事实,所以我需要遍历外部数组,然后遍历内部数组,累加每个值以获得总和。
使用单一输入更容易,并且更接近您的预期。
有一些语法错误
- 分号表示语句结束
- 完整的 if 语句需要条件和语句。
{
,}
包围块。
另一个问题是函数,暗示参数是简单的值,而不是对象,所以你不应该使用范围作为输入。
另一种编写函数的方法如下:
function MyFunction(A,B,C) {
if (A < 4.5) return "failure1";
if (B < 4.5) return "failure2";
if (C < 4.5) return "failure3";
}
使用方法如下:
=MyFunction(A2,B2,C2)