スプレッドシートのプルダウンを連動させる方法 その①

GAS

こんにちは!ウメハラ(plumfield56)です。

プルダウンを連動させて大分類を選択したらその選択に応じて小分類で選択できるプルダウンの内容を変えたいということはあると思います。
その設定方法からGASで入力規則を全ての行に入れるところまで紹介していきたいと思います。
最終的に作成するのは次の画像の内容になります。

わかりやすいように同じシートにプルダウンで表示させる箇所を見せていますが、実務で使用する場合は別のシートでプルダウンで選択させたい項目一覧を表示させる想定です。

シートの用意

大分類と小分類の一覧を作成

今回はサンプルで下記のシートを用意しました。

例えばこの 「か行」 が選択された時はB~Fがプルダウン選択できるように設計していきます。

連動のさせる表示の設定

① まずは最初に「プルダウン」シートで設定したA列を入力規則からプルダウン設定させます。

② A列の入力に応じてプルダウンの小分類が表示させるように設定

わかりやすいように同じシートの表示させていますが、この関数は別シートで作成してよいです。
A3セルに 「か行」 が入力された場合D列では 「プルダウン」シートのB3~G3が同じ行に表示されるように設定したいです。
そのためにD3セルには下記の関数が入っています。

=IFERROR("プルダウン!B"&MATCH(A3,'プルダウン'!A:A,0)&"G"&IFERROR(MATCH(A3,'プルダウン'!A:A,0)))

この関数で「プルダウン!B3:G3」という表示がされます。

この指定したい範囲を表示させる関数にindirect関数を組み合わせるとその範囲のデータが取得できます。
ですのでとなりのE3セルには下記の関数がはいっています。

=IFERROR(INDIRECT("プルダウン!B"&MATCH(A3,'プルダウン'!A:A,0)&":G"&IFERROR(MATCH(A3,'プルダウン'!A:A,0))))

これで小分類にで設定したい入力規則のデータを表示させることができました。

③ 小分類で入力規則の設定

次にB列の小分類にデータの入力規則を設定していきます。
B3セルであれば同シートのE3~J3、B4セルであればE4~J4といった具合です。

ここで1つ問題がでてきます。
連動して表示できるのは嬉しいのですが、セル1つ1つ設定しないといけないのでとてもめんどくさいのです。

それをGASで解決していきたいと思います。



コメント

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