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: 複数の条件で検索することはできますか?

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

今すぐ解決したい!どうしたらいい?

LINE公式

いま、あなたを悩ませているITの問題を解決します!
「エラーメッセージ、フリーズ、接続不良...もうイライラしない!」

あなたはこんな経験はありませんか?

✅ ExcelやWordの使い方がわからない💦
✅ 仕事の締め切り直前にパソコンがフリーズ💦
✅ 家族との大切な写真が突然見られなくなった💦
✅ オンライン会議に参加できずに焦った💦
✅ スマホの重くて重要な連絡ができなかった💦

平均的な人は、こうしたパソコンやスマホ関連の問題で年間73時間(約9日分の働く時間!)を無駄にしています。あなたの大切な時間が今この悩んでいる瞬間も失われています。

LINEでメッセージを送れば即時解決!

すでに多くの方が私の公式LINEからお悩みを解決しています。

最新のAIを使った自動応答機能を活用していますので、24時間いつでも即返信いたします。

誰でも無料で使えますので、安心して使えます。

問題は先のばしにするほど深刻化します。

小さなエラーがデータ消失重大なシステム障害につながることも。解決できずに大切な機会を逃すリスクは、あなたが思う以上に高いのです。

あなたが今困っていて、すぐにでも解決したいのであれば下のボタンをクリックして、LINEからあなたのお困りごとを送って下さい。

相談しに行く

ぜひ、あなたの悩みを私に解決させてください。

まとめ

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

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

コメント

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