earthpg:GAS専門のプログラミングスクール

GASでスプレッドシートのセル情報を自在に取得する方法:基礎から応用まで!

GASでスプレッドシートのセル情報を取得する方法を教えてもらえませんか?僕、いまいち理解できなくて…
猫男
猫男
catman
catman
わかった、catmanがしっかり解説しよう。今回はGASでセル情報を自在に取得する方法を基礎から応用まで説明するぞ。

GASでスプレッドシートのセル情報を取得する基本

まずは基本的なセル情報の取得から始めようか。GASでは、スプレッドシートのセル情報を操作するために、いくつかのメソッドを使用する。

セルのデータを取得する

セルのデータを取得するのは、これが基本だ。


function getCellData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange("A1");
  var value = cell.getValue();
  Logger.log(value);
}

このコードでは、アクティブなシートの「A1」セルからデータを取得している。

セル番地を使ってデータを取得するには

ワイルドな方法で、セルの番地を指定してデータを取得することもできる。


function getCellByAddress(row, col) {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var value = sheet.getRange(row, col).getValue();
  Logger.log(value);
}

これは行番号と列番号を入力する例だ。

結合セルのデータを取得する

結合セルも同様にデータを取得できる。対象が結合セルであっても、基本的には同じ作業だ。


function getMergedCellData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange("B2");
  var value = cell.getValue();
  Logger.log(value);
}

結合セルの左上のセクションのセルで操作するようにするとよい。

応用:GASでセル内容を多角的に取得する

次に、より応用的な情報の取得方法に移ろう。

セル内の画像を取得する

セル内に画像がある場合でも取得は可能だ。画像URLなどの情報を抽出することができる。

セルの日付を取得する

セルに日付形式で入力された情報も取り出すことができる。

複数セルのデータをまとめて取得する

指定したセル範囲のデータを一度に取得する方法だ。

セルのURLやリンクの取得について

URLやリンクを含むセル情報を取得し、それを活用することも可能だ。

いろんな方法でセル情報を操作できるんですね!僕にもできそうです!
猫男
猫男
catman
catman
そうだろう。スプレッドシートをより深くマスターすれば、業務効率も格段にアップする。頑張るんだ。

練習問題

  1. GASを使って、シートの「C3」から「E7」範囲のデータを取得してみよう。
  2. 指定したセルにURLがあった場合、URLをログに表示するスクリプトを作成せよ。

解答・解説

問題1の解答


function getRangeData() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = sheet.getRange("C3:E7");
  var values = range.getValues();
  Logger.log(values);
}

このスクリプトは指定した範囲「C3:E7」からデータを取得し、Loggerに表示する。

問題2の解答


function logCellURL() {
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var cell = sheet.getRange("A1");
  var formula = cell.getFormula();
  if (formula.includes("HYPERLINK")) {
    Logger.log(formula);
  } else {
    Logger.log("No URL found.");
  }
}

このスクリプトは、セルのフォーミュラに「HYPERLINK」関数が含まれているかをチェックし、含まれていればそれをログに表示する。

ありがとうございました!これでGASを使ってセル操作ができそうです!
猫男
猫男
catman
catman
いえいえ、もっと学びたいときはいつでも呼んでくれ。さらなる高度な技術も伝授していくぞ!