当サイトの記事にはプロモーションが含まれています。

Google Apps Scriptでスプレッドシート内の特定の行を検索する方法

パソコンパソコン・スマホ教室
スポンサーリンク

スプレッドシートを使っていると、「この行に特定の情報が含まれているか確認したい」と思うことがありますよね。そんなときに便利なのが、Google Apps Script(GAS)を使った行の検索方法です。今回は、初心者の方でもわかりやすく、実際のコード例とともに解説します。

スポンサーリンク

GASでスプレッドシート内の行を検索する基本的な方法

Googleスプレッドシートのイメージ

Googleスプレッドシートのイメージ

まず、GASを使ってスプレッドシート内の特定の行を検索する基本的な方法をご紹介します。

スプレッドシートとシートの取得

javascript
function searchRow() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const data = sheet.getDataRange().getValues();
const keyword = '検索したい文字列';

for (let i = 0; i < data.length; i++) { if (data.includes(keyword)) { Logger.log('見つかった行: ' + (i + 1)); } } }

このコードでは、アクティブなシートを取得し、全データを二次元配列として取得しています。そして、各行に対して検索したい文字列が含まれているかを確認し、見つかった場合はその行番号をログに出力します。

特定の列を対象に検索する方法

javascript
function searchInColumn() {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
const column = sheet.getRange('A').getValues(); // A列を対象
const keyword = '検索したい文字列';

for (let i = 0; i < column.length; i++) { if (column === keyword) { Logger.log('見つかった行: ' + (i + 1)); } } }

こちらのコードでは、特定の列(この例ではA列)に対して検索を行い、該当する行番号をログに出力します。

複数のシートを横断的に検索する方法

javascript
function searchAcrossSheets() {
const keyword = '検索したい文字列';
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();

sheets.forEach(sheet => {
const data = sheet.getDataRange().getValues();
for (let i = 0; i < data.length; i++) { if (data.includes(keyword)) { Logger.log(sheet.getName() + ' シートの行: ' + (i + 1)); } } }); }

このコードでは、すべてのシートを対象に検索を行い、該当するシート名と行番号をログに出力します。

検索結果を新しいシートにまとめる方法

検索結果を新しいシートにまとめて表示する方法もあります。

javascript
function searchAndOutput() {
const keyword = '検索したい文字列';
const sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
let resultSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('検索結果');

if (!resultSheet) {
resultSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('検索結果');
} else {
resultSheet.clear(); // 既存のデータをクリア
}

resultSheet.appendRow);

sheets.forEach(sheet => {
const data = sheet.getDataRange().getValues();
for (let i = 0; i < data.length; i++) { if (data.includes(keyword)) { resultSheet.appendRow.join(', ']); } } }); }

このコードでは、検索結果を「検索結果」という新しいシートにシート名、行番号、該当行の内容として出力します。

よくある質問や疑問

Q1: GASを使うには特別な設定が必要ですか?

いいえ、Googleアカウントがあれば、Googleスプレッドシートの「拡張機能」から「Apps Script」を選択するだけで、すぐにスクリプトエディタが開きます。特別な設定は不要です。

Q2: 検索結果をメールで通知することはできますか?

はい、GASでは`MailApp.sendEmail()`を使って、検索結果をメールで送信することが可能です。例えば、検索結果をまとめてメールで送信することができます。

Q3: 複数の条件で検索することはできますか?

はい、複数の条件を組み合わせて検索することができます。例えば、特定の列に特定の文字列が含まれている行を検索することが可能です。

まとめ

Google Apps Scriptを使うことで、スプレッドシート内の特定の行を効率的に検索することができます。初心者の方でも、基本的なコードを覚えることで、日々の業務を大幅に効率化することが可能です。ぜひ、今回紹介したコードを参考に、実際に手を動かしてみてください。

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました