我做了这个自定义功能:
function somaDias(range, days) {
var soma = 0;
for(i=0; i<days; i++){
soma = soma + parseFloat(range[0][i])
}
return soma;
}
我用它来计算范围内的值。范围是工作表中的一行,具有给定的预算,一个月中的每一天。我必须根据当天的数值求和。即:如果这是第14个,我需要总结第14个第一个值。
到目前为止一切顺利。该功能有效。问题是,如果范围有一个空单元格,则返回#NUM!。我想我应该在for循环中放入一个if条件,但我不知道如何......
我应该怎么做这个功能使用空单元格?
答案 0 :(得分:1)
您可以使用IF THEN
的简化版,如下所示
function somaDias(range, days) {
var soma = 0;
for(i=0; i<days; i++){
soma += range[0][i]!=''? parseFloat(range[0][i]):0;
}
return soma
}
答案 1 :(得分:0)
可以像这样检查空单元格:
function somaDias(range, days) {
var soma = 0;
for(i=0; i<days; i++){
var v = range[0][i];
if (v == "") {
continue;
}
soma += parseFloat(v);
}
return soma;
}