備忘録:エクセル ・重複を自動で除外するドロップダウンリストの作り方

例えばこのようなリストがあって、
f:id:adbaiz:20170313102320j:plain

A列の情報をドロップダウンリストで、
このように重複を除外して表示したい時、
f:id:adbaiz:20170313102340j:plain

計算用にC列D列を用意して、

f:id:adbaiz:20170313102457j:plain

各セルの関数は、以下の通にすればOK。
C2セル

=IF(COUNTIF($A$2:$A2,A2)=1,ROW()-0,"")


D2セル

=INDIRECT(ADDRESS(SMALL($C$2:$C$12,ROW()-1),1))


リストの開始行と列に合わせて赤の数字緑の数字を変更し、最下段まで式を引っ張ると良い。

重複を除外したい元のリストの開始行が、
 2行目からだと、-0-1
 3行目からだと、-1-2
 4行目からだと、-2-3
そんな感じ。

重複を除外したい元のリスト列が
 A列だと、1
 B列だと、2
 C列だと、3


コンボボックス側は、
データの入力規則>リスト>元の値
の式をこうする。

=OFFSET($D$2,0,0,COUNTIF($D$2:$D$12,"<>#NUM!"),1)

赤字の開始位置と範囲の指定は、D列の青く囲んでいる範囲を指定する。