7

列A(例:「こんにちは」)に特定の単語を含むセルを、すぐ右のセル(列B)にマージしようとしています。

たとえばA4 = 'Hello'、セルA4とB4をマージしたいと思います。

私はこれまでにこのコードを持っています:

function formatCells() {

  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var s = ss.getSheetByName('Combined');
  var range = s.getDataRange()
  var values = range.getValues();

  for( var row = values.length -1; row >= 0; --row )
    if (values[row][1] == 'Hello')
      {s.getRange(row+1,1).mergeAcross();
}
}

しかし、コードはまったく何もしていないようですか?誰かが私が間違っていることを親切に教えてもらえますか?

見てくれてありがとう。

4

1 に答える 1

16

配列のインデックスは 0 であるため、列 A はインデックス 0 です...values[row][0] 条件で単純に使用する必要があります。

そして、2 つのセルにまたがってマージするには、次のように 2 つのセル範囲を取得する必要があります。

s.getRange(row+1,1,1,2).mergeAcross();

また、merge メソッドはコンテンツをマージしないため、列 B にあった値が失われることに注意してください。あなたにとって問題があるかどうかはわかりません...

于 2013-01-24T06:18:36.100 に答える