Function 将自定义函数应用于整个公式(不含arrayformula())
我需要帮助将函数应用于整个列。我知道,无论我拖动/高亮显示多远,拖动右下角控制柄都会复制它。但我更希望它适用于整个专栏。我还知道ARRAYFORMULA()函数。但它只能用于基本公式和函数(至少据我所知)。因此,有一些函数(即APPLYALL(range,function))允许我在列中应用公式。还是由我来决定?有没有可能根据ARRAYFORMULA函数定制一个函数,并让它以这种方式工作?感谢所有的帮助 下面是一段代码。参数都是字符串,由E2中的单元格调用。所以对于E2,它看起来像“toStart(C2,D2)”,对于E3,它看起来像“toStart(C3,D3)”等等Function 将自定义函数应用于整个公式(不含arrayformula()),function,google-apps-script,google-sheets,Function,Google Apps Script,Google Sheets,我需要帮助将函数应用于整个列。我知道,无论我拖动/高亮显示多远,拖动右下角控制柄都会复制它。但我更希望它适用于整个专栏。我还知道ARRAYFORMULA()函数。但它只能用于基本公式和函数(至少据我所知)。因此,有一些函数(即APPLYALL(range,function))允许我在列中应用公式。还是由我来决定?有没有可能根据ARRAYFORMULA函数定制一个函数,并让它以这种方式工作?感谢所有的帮助 下面是一段代码。参数都是字符串,由E2中的单元格调用。所以对于E2,它看起来像“toStar
function toStart(model,type) {
if (model == "E340") {return E340Price(type)} //Calls same function add OR op
else if (model == "E342") {return E340Price(type)} //"" ""
else if (model == "E350") {return E350Price(type)}
else if (model == "T644") {return T644Price(type)}
else if (model == "C532") {return C532Price(type)}
}
function E340Price (type){
if (type == "Toner") {return 89.00;} //Use global constants for prices?
else if (type == "Photoconductor") {return 65.00;}
else if (type == "Toner/Photoconductor") {return 144.00;}
}
您只需复制粘贴公式即可,速度更快,效率更高。 例如: 然后,公式将根据行号自动缩放。我希望你的问题到时候会得到解决
编辑:getLastrow应该是getLastrow(),而setFormula实际上是setFormula(),而不是setFormula=您只需复制粘贴公式即可,速度更快、效率更高。 例如: 然后,公式将根据行号自动缩放。我希望你的问题到时候会得到解决
编辑:getLastrow应该是getLastrow(),而setFormula实际上是setFormula(),而不是setFormula=您只需复制粘贴公式即可,速度更快、效率更高。 例如: 然后,公式将根据行号自动缩放。我希望你的问题到时候会得到解决
编辑:getLastrow应该是getLastrow(),而setFormula实际上是setFormula(),而不是setFormula=您只需复制粘贴公式即可,速度更快、效率更高。 例如: 然后,公式将根据行号自动缩放。我希望你的问题到时候会得到解决
编辑:getLastrow应该是getLastrow(),setFormula实际上是setFormula(),而不是setFormula=您可以为范围启用函数。诀窍是检查参数是否为数组,然后只需遍历所有单元格。 为了简化,我使用了一个函数myFunctionCanRange(x),它只有一个参数。 实际计算数据的函数是myFunction(x) 代码片段:
function myFunctionCanRange(x) {
if ( Array.isArray(x)) {
var result = [];
for( var i=0; i < x.length, i++) {
var temp = [];
for ( var j=0; j < x[i].length, j++) {
temp.push(myFunction(x[i][j]);
}
result.push(temp)
}
return result;
}
else
return myFunction(x);
}
函数myFunctionCanRange(x){
if(数组isArray(x)){
var结果=[];
对于(变量i=0;i
现在,您可以通过两种方式调用它:
=myFunctionCanRange(C3)
而且:
=阵列公式(myFunctionCanRange(C3:C))
您可以为范围启用函数。诀窍是检查您的参数是否为数组,然后您只需遍历所有单元格。 为了简化,我使用了一个函数myFunctionCanRange(x),它只有一个参数。 实际计算数据的函数是myFunction(x) 代码片段:
function myFunctionCanRange(x) {
if ( Array.isArray(x)) {
var result = [];
for( var i=0; i < x.length, i++) {
var temp = [];
for ( var j=0; j < x[i].length, j++) {
temp.push(myFunction(x[i][j]);
}
result.push(temp)
}
return result;
}
else
return myFunction(x);
}
函数myFunctionCanRange(x){
if(数组isArray(x)){
var结果=[];
对于(变量i=0;i
现在,您可以通过两种方式调用它:
=myFunctionCanRange(C3)
而且:
=阵列公式(myFunctionCanRange(C3:C))
您可以为范围启用函数。诀窍是检查您的参数是否为数组,然后您只需遍历所有单元格。 为了简化,我使用了一个函数myFunctionCanRange(x),它只有一个参数。 实际计算数据的函数是myFunction(x) 代码片段:
function myFunctionCanRange(x) {
if ( Array.isArray(x)) {
var result = [];
for( var i=0; i < x.length, i++) {
var temp = [];
for ( var j=0; j < x[i].length, j++) {
temp.push(myFunction(x[i][j]);
}
result.push(temp)
}
return result;
}
else
return myFunction(x);
}
函数myFunctionCanRange(x){
if(数组isArray(x)){
var结果=[];
对于(变量i=0;i
现在,您可以通过两种方式调用它:
=myFunctionCanRange(C3)
而且:
=阵列公式(myFunctionCanRange(C3:C))
您可以为范围启用函数。诀窍是检查您的参数是否为数组,然后您只需遍历所有单元格。 为了简化,我使用了一个函数myFunctionCanRange(x),它只有一个参数。 实际计算数据的函数是myFunction(x) 代码片段:
function myFunctionCanRange(x) {
if ( Array.isArray(x)) {
var result = [];
for( var i=0; i < x.length, i++) {
var temp = [];
for ( var j=0; j < x[i].length, j++) {
temp.push(myFunction(x[i][j]);
}
result.push(temp)
}
return result;
}
else
return myFunction(x);
}
函数myFunctionCanRange(x){
if(数组isArray(x)){
var结果=[];
对于(变量i=0;i
现在,您可以通过两种方式调用它:
=myFunctionCanRange(C3)
而且:
=阵列公式(myFunctionCanRange(C3:C))
x.length,i++
应该是;
逗号的内部。temp.push(我的函数(x[i][j])
只是缺少)
谢谢你查看代码,玲!你说得很对。很抱歉这么草率。x.length,i++
应该是;
逗号的内部。temp.push(我的函数(x[i][j])
刚好缺少)
谢谢你审阅代码,玲!你说得很对。很抱歉这么草率。x.length,i++
应该是;
逗号里面。temp.push(myFunction(x[i][j])
刚好缺少)
谢谢