Google Apps Script (GAS)を使えば様々なGoogleのサービスを自動化することができます。スプレッドシート上のデータを元に何かを処理したい場合、まずは条件に一致したデータを取得する必要があります。
本記事では、GASを使ってGoogleスプレッドシート上のデータを検索する方法を紹介します。
スプレッドシート検索の手順 全体的な流れとしては、以下のようになると思います。
Apps Script (GAS) とGoogleスプレッドシートの連携 スプレッドシート・データ範囲の取得 条件に一致するものを検索 GASとスプレッドシートの連携に関しては、こちらの記事 をご参照ください。
スプレッドシート・データ範囲の取得 検索をする前に、まずはデータを取得する必要があります。以下に、そのための基本的な関数を紹介します。
//GoogleスプレッドシートをIDで取得
var spreadsheet = SpreadsheetApp.openById('スプレッドシートのID');
//Googleスプレッドシートをシート名で取得
var sheet = spreadsheet.getSheetByName('シート名');
//Googleスプレッドシートのセル範囲を取得
var range = sheet.getDataRange();
//Googleスプレッドシートのセル範囲のデータを取得
var values = range.getValues();
データ取得方法のさらに詳しい方法は、こちらのページ をご覧ください。
「本気で学んでみたい」と思ったら
現役エンジニア&元人事のプロに、無料の個別面談で相談できます。
SiiD無料カウンセリング 条件に一致するものを検索 最もシンプルな方法は、取得したデータをループで一つ一つ取り出し、条件に合致したものを探すという手法です。
for (var i = 0; i < values.length; i++) {
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == '検索条件') {
//以下に、'検索条件'が見つかった場合の処理を記述。例えば、検索条件の値をログに主力
Logger.log('見つかった値: ' + values[i][j]);
//検索条件の行と列の番号を取得
Logger.log('行: ' + (i+1) + ', 列: ' + (j+1));
}
}
}また、SQLに似たクエリ言語がサポートされているので、以下のようにQUERY関数を用いて検索を行うこともできます。
var queryString = '=QUERY(A1:C10, "select * where B = \'条件\'", 1)';
sheet.getRange('E1').setFormula(queryString);さらに、JavaScriptで正規表現を扱うためのオブジェクト、RegExp()を用いた検索方法もご紹介します。
var regex = new RegExp('検索パターン');
for (var i = 0; i < values.length; i++) {
if (regex.test(values[i][0])) { // 例として1列目の値に対して検証
Logger.log('見つかった行: ' + (i+1));
}
}
スプレッドシートの検索は、GASで書くかQUERY関数で済ませるかの判断がつくと作業が速くなります。そうした判断の土台になる基礎を学ぶ場としてSiiDがあります。
AIプログラミングスクール「SiiD」について AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜 学割あり(35%オフ) こんな方におすすめ
未経験・文系・社会人からITエンジニア転職を本気で目指したい方 独学に限界を感じている方 費用を抑えながら実務スキルと転職サポートを両立したい方 「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。