Googleスプレッドシートでのデータ入力を効率化するために、プルダウンリスト(ドロップダウンリスト)を活用する方法をご紹介します。特に、Google Apps Script(GAS)を使ってプルダウンリストを自動化する方法に焦点を当て、初心者の方にもわかりやすく解説します。
プルダウンリストとは?
プルダウンリストとは、セル内にあらかじめ設定した選択肢を一覧表示し、ユーザーがその中から選択できるようにする機能です。これにより、データ入力のミスを減らし、作業の効率化が図れます。
Google Apps Scriptでプルダウンリストを作成する方法
Google Apps Scriptを使用すると、プルダウンリストの作成を自動化できます。以下に、基本的なスクリプトの例を示します。
function createDropdown() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('');
var rule = SpreadsheetApp.newDataValidation().requireValueInList, true).build();
range.setDataValidation(rule);
}
このスクリプトを実行すると、シートのからまでのセルにプルダウンリストが設定されます。
リストを範囲で指定する場合
選択肢を別のセル範囲から取得する場合、以下のようにスクリプトを変更します。
function createDropdownFromRange() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var range = sheet.getRange('');
var listRange = sheet.getRange('B1:B3');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(listRange, true).build();
range.setDataValidation(rule);
}
このスクリプトでは、B1からB3のセルに入力された値をからのセルのプルダウンリストとして設定します。
プルダウンリストの連動機能を作成する
複数のプルダウンリストを連動させることで、ユーザーの選択に応じて次の選択肢を絞り込むことができます。例えば、カテゴリ1の選択に応じてカテゴリ2の選択肢を変更する場合、以下のようなスクリプトを使用します。
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var editedCell = e.range;
if (sheet.getName() === 'Sheet1' && editedCell.getColumn() === 1) {
var category1 = editedCell.getValue();
var category2Range = sheet.getRange(editedCell.getRow(), 2);
var category2List = getCategory2List(category1);
var rule = SpreadsheetApp.newDataValidation().requireValueInList(category2List, true).build();
category2Range.setDataValidation(rule);
}
}
function getCategory2List(category1) {
var category2 = {
'カテゴリA': ,
'カテゴリB':
};
return category2 || ;
}
このスクリプトでは、カテゴリ1のセルが編集されると、対応するカテゴリ2の選択肢が自動的に更新されます。
プルダウンリストのカスタマイズ
プルダウンリストは、見た目や動作をカスタマイズすることができます。例えば、選択肢に色を付けたり、複数選択を可能にしたりすることができます。これらの設定は、Googleスプレッドシートの「データの入力規則」から行うことができます。
よくある質問
Q1: GASでプルダウンリストの選択肢を動的に変更できますか?
はい、可能です。スクリプトを使用して、選択肢を別のセル範囲から取得することで、動的に変更できます。
Q2: プルダウンリストの選択肢に色を付けることはできますか?
はい、できます。Googleスプレッドシートの「データの入力規則」から、選択肢に色を付ける設定を行うことができます。
Q3: プルダウンリストを削除するにはどうすればいいですか?
プルダウンリストを削除するには、該当するセルを選択し、「データ」メニューから「データの入力規則」を選択し、「ルールを削除」をクリックします。
まとめ
Google Apps Scriptを使用することで、スプレッドシートのプルダウンリストを自動化し、データ入力の効率化やミスの削減が可能になります。初心者の方でも、基本的なスクリプトを理解し、カスタマイズすることで、業務の効率化に役立てることができます。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント