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」)它的數據類型是什麼? –

相關問題