我有一些具有月份值的单元格,然后有一些具有这些值的 sheets 。
在我的脚本编辑器中,我必须将这些单元格值用作工作表值,所以我要这样做:
function PROD(cellMonth) {
var val1 = cellMonth + '!G6';
var val2 = cellMonth + '!G7';
return val1 * val2 ;
}
但是我得到Result was not a number
的结果。
我该如何解决?
我认为发生这种情况是因为cellMonth + '!G6'
是一个字符串值,而不是调用工作表值的正确方法。
例如,如果我这样做:
function PROD(input1,input2) {
return input1 * input2;
}
然后在单元格中输入=PROD(January!E6,January!E7)
,我将得到想要的结果。
如果我这样做:
function PROD(cellMonth) {
var val1 = cellMonth + '!G6';
var val2 = cellMonth + '!G7';
return val1 ;
}
我的单元格将返回January!E6
,所以我正在做2个字符串值而不是2个数字的乘积...
答案 0 :(得分:2)
您需要获取范围和值。
function PROD(cellMonth) {
var rngString1 = cellMonth + '!G6';
var rngString2 = cellMonth + '!G7';
var ss = SpreadsheetApp.getActive();
var val1 = ss.getRange(rngString1).getValue();
var val2 = ss.getRange(rngString2).getValue();
return val1 * val2 ;
}