0

我是新的谷歌脚本。我想为电子表格单元格中的变量赋值,并在进行算术运算后,想要将其赋值给电子表格中的特定单元格。将错误值分配给谷歌电子表格单元格

我使用下面的代码:

function myFunction() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sh = ss.getSheetByName("PATTERNS"); 
    var dd = sh.getRange("C4").getValue(); 
    var ee = sh.getRange("D4").getValue(); 
    var x = dd - ee; 
    sh.getRange("P4").setValue(x); 
} 

然而,在细胞P4值示值误差:#NUM!

请帮忙!

我也想用for循环细胞没有如

for (var i = 1, i <60, i++) 
{ 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sh = ss.getSheetByName("PATTERNS"); 
    var dd = sh.getRange("C[i]").getValue(); 
    var ee = sh.getRange("D[i]").getValue(); 
    var x = dd - ee; 
    sh.getRange("P[i]").setValue(x); 
} 

如何获得呢?有人可以帮帮我吗?

+0

你能提供数据,以便测试我们的代码。 – Cooper

回答

0

试试这个:

function myFunction() { 
    var ss=SpreadsheetApp.getActiveSpreadsheet(); 
    var sh=ss.getSheetByName("PATTERNS"); 
    var rg=sh.getDataRange(); 
    var vA=rg.getValues(); 
    var change=false; 
    for(var i=0;i<vA.length;i++) 
    { 
    if(!isNan(vA[i][2]) && !isNan(vA[i][3])) 
    { 
     vA[i][15]=vA[i][2]-vA[i][3]; 
     change=true; 
    } 
    } 
    if(change) 
    { 
    rg.setValues(vA); 
    } 
} 
+0

尽管此代码可能会回答这个问题,但提供有关如何解决问题和/或为何解决问题的附加环境将提高答案的长期价值。 –

0

试试这个代码

function myFunction() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sh = ss.getSheetByName("PATTERNS"); 
    var dd = sh.getRange("C4").getValue(); 
    var ee = sh.getRange("D4").getValue(); 
    var x = parseInt(dd) - parseInt(ee); 
    sh.getRange("P4").setValue(x); 
} 
+0

尽管此代码可能会回答问题,但提供有关如何解决问题和/或为何解决问题的其他上下文可以提高答案的长期价值。 –

+0

我用上面的公式,但它仍然显示#NUM!错误。 。但是如果我将变量x指定为特定的整数(例如var x = 50;),那么单元格p4会显示该值。将var dd和var ee的值赋给var x有错误。 – abhishek

+0

你能分享一下谷歌表格吗? sh.getRange(“C4”)它的数据类型是什么? –

相关问题