【Excel 効率】プルダウンリスト作成|テーブルや関数を使ったデータ追加方法|2段階リスト作成方法

  • 2022-03-06
  • 2022-04-24
  • Excel

プルダウンリストとは?

あらかじめ登録してあった単語をリストから選択してセルに表示させる機能です。

利点としては・・・

✔ 繰り返し入力する手間を省く
✔ 入力ミスを回避
✔ 表記揺れを防ぐのでデータとして扱いやすい

表記揺れとは、ひらがな・カタカナや送り仮名などの違いで、対象は同じでも表記の仕方にズレが生じる事です。例えばExcelで集計した場合、「りんご」と「リンゴ」はそれぞれ別に計算されてしまいます。

プルダウンリスト作成方法

2通り紹介します。
リストから表示項目を設定することがほとんどですが、ブック内にリスト部分を作成したくない場合は直接入力の方法もあります。

表示項目をリストから選択

あらかじめ別の場所にリストを作っておきます。(下図ではF3からF8がリストです)

1. データタブを選択して
2. プルダウンリストを設定したい範囲をドラッグして選択
3. データの入力規則をクリック

4. 入力値の種類からリストを選択
5. 元の値の右側のアイコンをクリック
6. 表示させたいリストをドラッグして選択
7. セル範囲が表示されるので右側のアイコンをクリック
8. OKをクリック

excel-pulldown

これで設定は完了です。

セルをクリックすると右側に▼が出ます。そこからリストを開き、単語をクリックすると入力されます。

リストを別のシートに作成したい場合

入力用シートをSheet1、リスト用シートSheet2とを分けて作成することもできます。

表示項目を直接入力

表示させる単語をダイアログに直接入力していく方法です。
この場合は単語を半角カンマ「,」で区切って入力していきます。
最後にOKをクリックすれば完成です。

※ちなみにプルダウンリストを設定したセルには登録した単語以外は入力できません。

プルダウンリストの更新

項目の変更や追加をする際、元の値を修正したり、リストの参照範囲を設定し直すのは少々面倒です。
使いやすくする方法を2つご紹介しておきます。

元データのリストをテーブルにしておく

1. リストの中のセルをどれか1つ選択
2. 挿入タブを選択
3. テーブルをクリック

4. ダイアログボックスの先頭行をテーブルの見出しとして使用するにチェックしてOK
5. リストがテーブルになった

このあと先程と同様にデータタブ→プルダウンを設定したい範囲を選択→データの入力規則→リスト→元の値にテーブルを設定→OKと作業します。同じ手順です。

では、部署に企画部を追加してみます。

6. 海外事業部の下に企画部と入力→自動でテーブルが延長される
7. リストに企画部が追加された

使い勝手が良くなるので、初めにリストをテーブル化しておく事をおすすめします。

OFFSET関数とCOUNTA関数を使用する

関数を使って参照範囲が可変するリストを設定することができます。

元の値に =OFFSET($F$2,0,0,COUNTA($F:$F)-1,1) と入力します。

  •  =OFFSET(基準,行数,列数,[高さ],[幅])
      基準で設定したセルより、指定された行数と列数だけ移動した位置にあるセルの
      参照値を返す関数。

  •  =COUNTA(値1,[値2…])
      範囲に含まれる空白ではないセルの個数を返す関数。

これでOKをクリックすれば完了です。
テーブルの場合と同じようにF8に企画部と追加すると、プルダウンリストにも追加されます。

テーブルの方が手軽ですが、これから関数を覚えたい!という方はぜひチャレンジしてみて下さい。

2段階プルダウンリスト

大分類・小分類のように2段階構造のデータをプルダウンリストに設定します。
リストはショートカットキー「 Ctrl + T 」でテーブル化して、テーブル名を「社員情報」とします。

1段階目のリスト登録です。
テーブルの「見出し部分だけ」を部署名のプルダウンリストに設定します。

元の値はテーブル名と見出しの文字以外全て半角で入力します。
なぜこう書くのかは深堀りするととめどないので割愛します。コピペして使えます ↓
テーブル名の変更だけ忘れずに!

=INDIRECT(“社員情報[#見出し]”)
イコール INDIRECT カッコ ダブルクォーテーション テーブル名 角カッコ シャープ 見出し 角カッコとじ ダブルクォーテーション カッコとじ

2段階目のリスト登録です。
テーブルの見出しを参照してリスト表示するように設定します。

こちらも書き方はこういうものという事で。
簡単に言うと、角カッコでテーブルの一部を取出しているイメージです。
テーブル名と1段階目で使用したセルだけ書き換えを忘れずに!

=INDIRECT(“社員情報[“&H3&”]”)
イコール INDIRECT カッコ ダブルクォーテーション テーブル名 角カッコ ダブルクォーテーション アンド 1段階目のセル アンド ダブルクォーテーション 角カッコとじ ダブルクォーテーション カッコとじ