1

呼び出されたメソッドに期待されることと同等のことを行う API メソッドはありsheet.getRange().getValuesOrFormulas()ますか? つまり(疑似コード):

for each cell in the range
  if(cell.getFormula() != '')
    cell.getFormula();
  else cell.getValue()

そうでない場合、誰かが喜んで共有したいカスタム関数を持っていますか?

4

1 に答える 1

5

いいえ、その方法はありません。

これで何をするのかわかりませんし、どのように役立つかわかりません (一度に設定できる方法がないため)。とにかく、これは配列に数式と範囲の値を入力するコードです。

function valuesAndFormulas() {
  var range = SpreadsheetApp.getActiveSheet().getDataRange();
  var formulas = range.getFormulas();
  var values = range.getValues();
  var merge = new Array(formulas.length);
  for( var i in formulas ) {
    merge[i] = new Array(formulas[i].length);
    for( var j in formulas[i] )
      merge[i][j] = formulas[i][j] !== '' ? formulas[i][j] : values[i][j];
  }
  //now do something with it
  Logger.log(merge);
}
于 2013-03-28T17:58:02.137 に答える