【Excel・エクセル】プルダウンメニューをリストと連動!自動反映するには
プルダウンメニューのリストって、項目が増えるたびに範囲指定し直すのが面倒じゃない?
OFFSET関数を使えば、リストと連動できるんよ。
- プルダウンメニューの自動連動には、OFFSET関数を使う
- 「=OFFSET(リストの一番上のセル,0,0,COUNTA(リストの列)-1,1)」
- テーブルを範囲選択でもできる
【Excel・エクセル】プルダウンのリストを自動で更新したい
プルダウンメニュー(ドロップダウンリスト)のデータをセル範囲で指定すると楽ですが……
項目を追加するときは、データ範囲も変更しないといけないので、ちょっと面倒ですよね。
コレを、項目を追加しただけでプルダウンメニューのデータ範囲が自動で更新できるようにしたいと思います。
OFFSET関数を使うんよ。
OFFSET関数は、セルの位置や範囲を指定できる関数です。
=OFFSET(参照,行数,列数,高さ,幅)
OFFSET | この位置から、次の範囲を指定して |
参照参照 | このセルから |
行数 | 縦方向にこのセル分(+なら下、-なら上) |
列数 | 横方向にこのセル分(+なら右、-なら左)の位置から |
高さ | このセル分下 |
幅 | このセル分右までの範囲 |
OFFSET関数でデータ範囲を指定するのか、難しそう……
大丈夫、さっそくやり方を見てみよう。
【Excel・エクセル】プルダウン×OFFSET関数のやり方
ステップ1
まずはプルダウンメニューを作ります。
「データタブ」→データツールのところにある「データの入力規則」をクリックします。
ステップ2
出てきたメニューから、「データの入力規則」をクリックです。
ステップ3
「設定」→入力値の種類から、「リスト」を選んでください。
ステップ4
リストのメニューに切り替わりました。
そして実は、「元の値」のところには、実は数式もかけるんです。
先に言うと、「=OFFSET(リストの一番上のセル,0,0,COUNTA(リストの列)-1,1)」だよ。
ステップ5
ここではOFFSET関数を使うので、「=OFFSET(」と入力します。
ステップ6
リストにしたいデータ範囲の一番上のセルをクリックします。
ステップ7
セル範囲の開始位置は動かさなくていいので、「,0,0,」と入力しましょう。
ステップ8
さて、OFFSET関数の高さですが、COUNTA関数を使って表していきます。
COUNTA関数は、セル範囲に何かしら書いてある(空白以外の)セルの個数をカウントする関数です。
=COUNTA(値1,値2,……)
COUNTA | この中に空白以外のセルは何個ですか? |
値1 | 「この中に」の部分(範囲で指定する) |
値2 | 別のセル範囲も指定できる(省略可) |
COUNTA関数でリストの個数を求めて、それを高さに使えばいいんですね。
とりあえず「COUNTA(」まで入力しちゃいましょう。
ステップ9
リストの個数を知りたいので、リストの列を選択します。
ステップ10
COUNTA関数は終わりなのでカッコを閉じます。
ただこのままだと、セルD1の職業リストもカウントされてしまうので、「-1」します。
そして「,(カンマ)」。
ステップ11
最後にOFFSET関数の幅を指定します。
セル範囲は1行分でいいので「1」と入力し、カッコを閉じます。
完成!
これで、自動連動するプルダウンメニューの完成です!
職業リストに新しく追加すると……
連動してプルダウンメニューに自動入力されましたね!
そのほかの自動連動プルダウンメニューの作り方
元の値をセル範囲で指定する際、その範囲がテーブルになっていれば、リストと連動できます。
詳しくはこちらのページをご参照ください!
【Excel・エクセル】その他プルダウンメニューの連動
プルダウンとリストを連動して自動入力する
プルダウンメニューのリストを増やす際、いちいちリストの範囲も追加するのって面倒ですよね?
OFFSET関数を使えばリストと連動して、リストに追加するだけでプルダウンメニューの選択肢が自動入力されるんです!
プルダウンメニューには4つの選択肢しかありません。
D列のリストに項目を追加すると……
連動してプルダウンメニューに自動入力されました!
詳しくは、こっちのページを見てね!
プルダウンと連動して色付けする
プルダウンで選んだ選択肢によって、セルを付けることもできます。
条件付き書式を使いますよ。
詳しくは、こっちのページをご覧ください!
これで、項目が増えてもいちいちデータ範囲を更新せずに済みますね!
それでは、お疲れさまでした!
- プルダウンメニューの自動連動には、OFFSET関数を使う
- 「=OFFSET(リストの一番上のセル,0,0,COUNTA(リストの列)-1,1)」
- テーブルを範囲選択でもできる
ディスカッション
コメント一覧
まだ、コメントがありません