Google Spreadsheetsで選択範囲のセルの文字を大文字小文字に変換するGoogle Apps Script


Google Spreadsheetsのメニューから ツール - スクリプトエディタ を開いて、コードを以下のように書き換えて、Upper/Lower case なり適当な名前で保存すると、スクリプトが登録される。
スクリプトを使う場合は、大文字に変換したいセルを選択した状態で、ツール - 管理 upperを選んで、Run すれば完了。

function upper() {
  var range = SpreadsheetApp.getActiveRange();
  var cells = range.getValues();
  var rowLen = range.getNumRows();
  var columnLen = range.getNumColumns();
  for (var i = 0; i < rowLen; i++) {
    for (var j = 0; j < columnLen; j++) {
      if (typeof cells[i][j] == 'string') {
        cells[i][j] = cells[i][j].toUpperCase();
      }
    }
  }
  range.setValues(cells);
}

function lower() {
  var range = SpreadsheetApp.getActiveRange();
  var cells = range.getValues();
  var rowLen = range.getNumRows();
  var columnLen = range.getNumColumns();
  for (var i = 0; i < rowLen; i++) {
    for (var j = 0; j < columnLen; j++) {
      if (typeof cells[i][j] == 'string') {
        cells[i][j] = cells[i][j].toLowerCase();
      }
    }
  }
  range.setValues(cells);
}
メモ
  • forループしないで選択範囲を順に設定する方法他にありそうだけどわからん。
  • Browser.msgBox('message');でalertデバッグできる。
  • スクリプトエディタなどはChromeで開いたほうが操作しやすい。