2017-02-09 1 views
1

すべてのセルに影響を与えない2次元配列の式を渡すことは可能ですか?たとえば、既に静的な値を持っているのでセルD5を有効にしたくない場合は、2D配列をsetFormulas()関数に渡す必要があります。以下のコードを使用すると、セルD5が空の文字列で上書きされます。グリッド内のAppsスクリプト設定式

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var formulas = [ 
    ["=SUM(B2:B4)", "=SUM(C2:C4)", ""], 
    ["=AVERAGE(B2:B4)", "=AVERAGE(C2:C4)", "=AVERAGE(D2:D4)"] 
]; 

var cell = sheet.getRange("B5:D6"); 
cell.setFormulas(formulas); 
+0

はありません。 2つの異なる書き込みとして行うか、静的な値を配列に追加する必要があります。 –

+0

範囲の値を読み取り、各セルをループし、空のセルに数式を設定し、データを含むものをスキップして情報をファイルに保存します。 –

答えて

1

これを試してみてください:方法で構築された何がそれを行うために

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheet = ss.getSheets()[0]; 

var value = sheet.getRange("D5").getValue(); 

var formulas = [ 
    ["=SUM(B2:B4)", "=SUM(C2:C4)", value], 
    ["=AVERAGE(B2:B4)", "=AVERAGE(C2:C4)", "=AVERAGE(D2:D4)"] 
]; 

var cell = sheet.getRange("B5:D6"); 

cell.setValues(formulas); 
関連する問題