スプレッドシートで複数選択できるプルダウンを用意したい

Googleスプレッドシートで、複数選択できるプルダウンを用意したいと思ったことはありませんか?通常のプルダウンでは選択肢の中から一つしか選べませんが、複数選択をしたいケースもありますよね。この記事では、スプレッドシートで複数選択できるプルダウンを用意する方法をご紹介していきます。
スプレッドシートで複数選択できるプルダウンを用意する方法

それでは、スプレッドシートで複数選択できるプルダウンを用意する方法を説明します。画面上部の「拡張機能」タブをクリックしてメニューを開き、「Apps Script」をクリックしましょう。Google Apps Scriptが起動するので、下記のスクリプトを入力しましょう。
function showListBox(){
const html = HtmlService.createHtmlOutput(`
<div>
<select id="list" multiple>
<option value="キャベツ">キャベツ</option>
<option value="にんじん">にんじん</option>
<option value="たまねぎ">たまねぎ</option>
<option value="ピーマン">ピーマン</option>
</select>
</div>
<div>
<button onclick="submit()">選択</button>
</div>
<script>
function submit() {
const list = document.getElementById("list");
const arr = [];
for ( const item of list ) {
if ( item.selected ) { arr.push(item.value); }
}
google.script.run.setSelectedValues(arr.join(","));
google.script.host.close();
}
</script>
`);
SpreadsheetApp.getUi().showModalDialog(html, "選択してください");
}
function setSelectedValues(items){
const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
const sheet = spreadsheet.getActiveSheet();
sheet.getRange("C2").setValue(items);
}

スクリプトを入力したらシートに戻り、「挿入」タブをクリックしてメニューの「図形描画」をクリックしましょう。

「図形描画」画面が表示されるので、図形ボタンをクリックしてメニューの「図形」からプルダウンメニューを表示させるためのボタンを作成します。画像では下向きの三角形を選択して図形描画を行ってから、「保存して終了」をクリックして図形を作成しています。

あとはシート上で図形のサイズを調整してから、図形をクリックしてメニューの「スクリプトを割り当て」をクリックしましょう。

「スクリプトを割り当て」画面が表示されるので、「showListBox」と入力して「確定」をクリックしましょう。これで、スプレッドシート上に複数選択が可能なプルダウンメニューを挿入することができました。

図形をクリックするとスクリプトが実行されて、画像のようなプルダウンメニューが表示されますよ。