Googleスプレッドシートのプルダウンの作り方(連動方法も紹介)

こんにちは、ichi3270です。

今回は、Googleスプレッドシートのプルダウン(入力規則)の使い方についてまとめます。基本的な使い方からはじめ、応用的な使い方として、連動するプルダウンも作ってみたいと思います。

基本的な使い方

まずは、最も基本的な使い方を説明します。大体の人はこれでOKだと思います。

まず、プルダウン化したいセルを選択し、データメニューのデータの入力規則をクリックします。

プルダウンを作りたいセルを選択して、データの入力規則

条件リストを直接指定を選択し、その右の入力欄に、選択肢を , (半角カンマ)で区切って入力します。

リストを直接指定する場合は、半角カンマで区切る

無効なデータの場合入力を拒否を選ぶことをお勧めします。これは、後で説明します。

あとは保存を押せば、プルダウンの作成完了です。
下の画像のように、プルダウンから選択できるようになりました。

プルダウンの作成に成功

基本的な使い方(リストを使用する)

基本的には、上記の方法で良いと思いますが、選択肢が頻繁に変わったり、選択肢の量が多い場合には、このやり方だと少し面倒ですね。

そういう場合は、選択肢のリストをあらかじめ作っておいて、それを使うのが良いと思います。
その手順を解説します。

まずは、選択肢のリストを作ります。今回は選択肢というシートを作成し、そこに選択肢を入力しましたが、シート名は何でもいいですし、プルダウンと同じシートでも構いません。

選択肢を外のシートに作成しておく

あとは、先ほどと同じ手順で、プルダウンを作成します。
ただし、条件:の部分はリストを範囲で指定を選びます。

をクリックすると、リストの範囲を選択するモードになります。)

リストを範囲で指定を選択する

それ以外は、先ほどと同じですね。
この方法で作成していれば、選択肢が増えた時は、選択肢シートに追加すればいいだけなので楽です。

各機能の説明

ここからは、細かく各機能の説明をしていきます。

セル範囲:

セル範囲

これは特に説明不要ですね。プルダウン化するセルの範囲を設定します。
先述の手順(先に範囲を選んでからデータの入力規則をクリック)であれば、自動的に設定されています。

条件:

条件の選択肢

プルダウンに関係があるのは、先述のリストを範囲で指定リストを直接指定ですね。その他カスタム数式を使って、応用的なプルダウンを作ることもできます。(これは後で説明します)

ちなみに、セルにプルダウンリストを表示にチェックを付けると、そのセルの右側に▼が表示されます。(チェックを付けなかった場合は▼が表示されませんが、データを入力する際はプルダウンが表示されます)

また、プルダウンとはちょっと違いますが、日付を選ぶと、下図のようにカレンダーから選択できるようになります。

カレンダーから日付を選択できる
セルをダブルクリックするとカレンダー入力ができる

これもプルダウンとは違いますが、チェックボックスにすることもできます。

チェックボックスにすることもできる
チェックボックスにもできる

無効なデータの場合:

プルダウンの選択肢以外を手入力した際など、入力規則以外のデータを入力した場合の動作を選べます。

警告を表示にした場合

警告メッセージが表示されている

警告は表示されるものの、入力はできてしまいます。好みによりますが、個人的には非推奨。
(想定外のデータが入っていると、後で泣くことになるかもしれません・・・)

入力を拒否にした場合

警告が表示され、入力もできない

「あああ」と入力してみると、このようなメッセージが表示され、入力できません。

デザイン:

検証ヘルプテキスト

検証ヘルプテキストを表示にチェックをつけると、セルにマウスポイントが触れた時に、ヘルプテキストを表示することができます。

ヘルプテキストが表示された

応用編:連動するプルダウンを作る

ここからは応用編です。複数のプルダウンがある場合に、それぞれの選択肢が連動するような作りにしてみます。

連動するプルダウンのイメージ

上の画像では、大分類を選ぶと、中分類の選択肢が犬の種類に、大分類その他を選ぶと、中分類の選択肢がその他の動物になっています。

このように、複数のプルダウンを連動させる方法について説明します。

今回は3つのシートを使用します。

マスタデータのシート(「動物」シート)

動物マスタデータ

こんな感じに、動物というシートを作り、A列:大分類、B列:中分類、C列:小分類となるようなデータを入力します。

罫線は、見やすくするためにつけただけなので、線なしでも構いません。

選択肢用のシート(「リスト」シート):大分類を表示する

unique関数で大分類を表示する

リストという名前のシートを作ります。このシートが、各プルダウンの選択肢のリストになります。

まずは、A列に大分類の選択肢を表示させます。
A1セルに下記の数式を入力してください。

=unique('動物'!A:A)

この数式は、動物シートのA列(大分類)の値を、重複を除いて取得する式になります。
動物シートそのままだと、犬犬犬犬犬犬犬・・・となってしまいますが、unique関数によって、重複が取り除かれていますね。

B列・C列には、中分類・小分類を表示したいのですが、それは後ほど・・・

メインのシート(シート名「シート」)

メインのシート

こちらはメインのシートですね。プルダウンを3つ用意しています。

プルダウンの選択肢は、リストを範囲で指定を選び、

  • 大分類:リストシートのA列
  • 中分類:リストシートのB列
  • 小分類:リストシートのC列

・・・となるよう設定しておきます。

この時点で、大分類は選択できる状態になっているはずですので、何かを選択しておきます。

選択肢用のシート(「リスト」シート):中分類を表示する

中分類を表示する関数

さて、今度はリストシートのB列に、中分類の選択肢を表示させます。
B1セルに下記の数式を入力してください。

=iferror(unique(query('動物'!$A:$C,"select B where A='"&'シート'!B2&"'")))

ちょっと複雑ですかね・・・

外側の、iferrorは該当データが無い時に#N/Aと表示されるのを防ぐためなので、一旦おいておきましょう。

あと、uniqueも、先ほど説明したとおり、重複を削除するだけなので、おいておきましょう。

そうすると、注目するのは下記のquery関数ですね。

この関数の第2引数は、シンプルに考えると下記のとおりです。

"select B where A='大分類の値'"

ただ、大分類の値の部分は、シートのB2セルの値を参照しないといけません。
そのため、上記の式のその他‘シート!B2’に置き換えると小難しくなってしまうのです。

うまく行っていると、メインのシートで、中分類が選べるようになっています。

中分類を選択できた

選択肢用のシート(「リスト」シート):小分類を表示する

小分類を抽出する関数

これで最後です!

=iferror(unique(query('動物'!$A:$C,"select C where A='"&'シート'!B2&"' and B='"&'シート'!B4&"'")))

更に長くなった・・・と思うかもしれませんが、B列の値が中分類と一致するという条件が増えただけです。

これで、大分類・中分類・小分類までが連動するリストが作れました。
この方法は、数式が少し複雑ですが、数の制限なくプルダウンを連動させられますし、マスタデータ(動物シート)もシンプルです。

他サイト様では、vlookupを使う、もう少し簡単な解説もありましたので紹介しておきます。

スプレッドシートのプルダウンを連動させる方法!【入力規則/選択肢】 | Aprico
Googleスプレッドシートには複数のプルダウンを連動させる機能があります。この機能を使えば、スプレッドシートをより便利に共有して使うこともできます。Googleスプレッドシートのプルダウンを連動させる方法をご紹介します。

コメント

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