Googleスプレッドシートを使っていると、「特定のデータをすぐに見つけたい」「大量の情報の中から必要な項目だけを抽出したい」といった場面が多々ありますよね。そんなときに便利なのが、シート内に「検索ボックス」を作成することです。
「でも、プログラムなんて難しそう…」と感じるかもしれませんが、安心してください。今回は、初心者の方でもわかりやすく、親しみやすい言葉で解説します。手順を追っていけば、誰でも簡単に検索ボックスを作成できますよ。
なぜ検索ボックスが便利なのか?
まず、検索ボックスを作ることで以下のようなメリットがあります
- 特定のデータを瞬時に見つけることができる大量の情報の中から、必要な項目だけを素早く抽出できます。
- 作業効率がアップ手動で探す手間が省け、時間を節約できます。
- データの整理がしやすくなる情報の整理整頓が進み、業務がスムーズに進行します。
検索ボックスを作成する方法
では、実際に検索ボックスを作成してみましょう。以下の手順に従ってください。
- Googleスプレッドシートを開くまず、Googleスプレッドシートを開きます。
- 検索ボックス用のセルを決める例えば、セル「B1」を検索ボックスとして使用します。
- スクリプトエディタを開くメニューの「拡張機能」から「Apps Script」を選択します。
- スクリプトを入力する以下のコードをコピーして、スクリプトエディタに貼り付けます。
function onEdit(e) { const sheet = e.source.getActiveSheet(); const searchBoxCell = 'B1'; // 検索ボックスのセル位置 const resultsStartCell = ''; // 結果を表示する開始セル位置 // 編集されたセルが検索ボックスでない場合は何もしない if (e.range.getNotation() !== searchBoxCell) return; const searchTerm = e.value; if (!searchTerm) return; // 検索ボックスが空の場合は何もしない const dataRange = sheet.getDataRange(); const values = dataRange.getValues(); const searchResults = ; // シート全体を検索し、一致するセルの行を結果に追加 for (let row = 0; row < values.length; row++) { for (let col = 0; col < values.length; col++) { if (values.toString().includes(searchTerm)) { searchResults.push(values); break; // 行全体を追加したら、次の行へ } } } // 結果の表示エリアをクリア const resultsStartRange = sheet.getRange(resultsStartCell); sheet.getRange(resultsStartRange.getRow(), resultsStartRange.getColumn(), sheet.getMaxRows(), sheet.getMaxColumns()).clearContent(); // 検索結果をシートに書き込み if (searchResults.length > 0) { sheet.getRange(resultsStartRange.getRow(), resultsStartRange.getColumn(), searchResults.length, searchResults.length).setValues(searchResults); } }
- トリガーを設定するスクリプトエディタの左側にある「時計」のアイコン(トリガー)をクリックし、「トリガーを追加」を選択します。
- 設定を保存するトリガーの設定を保存し、スクリプトエディタを閉じます。
コメント