【エクセル関数】2段階の入力規則

エクセル その他

例:A1に部署を入力したら、その部署に所属する人をA2セルで選択できるようにする。
準備:ヘッダー名に部署。その下に名前を入れたテーブルを作成する。

部署名前
部署A佐藤
部署テーブル
部署名前
このセルに入力規則をつける
入力テーブル
=INDIRECT("テーブル[" & $A$1& "]")

ただし、テーブル内に空欄があると入力規則に合致していなくてもエラーにならないので注意。

範囲を絞ることで対応します。それでも行間に空欄がある場合は対応できません。また、入力規則には255文字制限があるので注意。

=OFFSET(INDIRECT("部署テーブル[" & INDIRECT("入力テーブル[@部署]") & "]"),0,0,LOOKUP(2,1/(INDIRECT("部署テーブル[" & INDIRECT("入力テーブル[@部署]") & "]")<>""), ROW(INDIRECT("部署テーブル[" & INDIRECT("入力テーブル[@部署]") & "]")))-1,1)

また、入力規則にはLETを使えないので、冗長にはなってしまうがこのように書くしかありません。文字数が225を超えてしまう場合は、セルに外だしして、そのセルを参照することである程度文字数削減が可能です。

コメント

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