• ベストアンサー

ドロップダウンリストについて

ドロップダウンリストを使いたいと考えています。 50名ほどの名前をドロップダウンリストにて選択し、 1度選択した名前を使えないようにしたいと考えています。 どうすればいいのでしょうか?? 教えてください。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

> ROWのあとの数字なども変わってくるのでしょうか。 ROWやCOLUMN関数は、データがシートの奥深いセル範囲にある場合、扱いが ややこしいですね。 > 入力規制を設定するセル範囲 D18:D129 > 入力規制リストの表示候補のデータ群 BW18:BW120 の場合ですと、次のようになります。 1.BX1に次の式を入力してBX120までコピーします。  =COUNTIF($D$18:$D$129,BW18) 2.BY18に次の式を入力して [Ctrl]+[Shift]+[Enter] で確定し、BY120までコピーします。  =INDIRECT(ADDRESS(SMALL(IF($BX$18:$BX$120<>0,"",ROW($18:$120)),ROW()-17),75)) 3.名前をひとつ定義します。   名  前:LST   参照範囲:=OFFSET(Sheet1!$BY$18,0,,COUNTIF(Sheet1!$BX$18:$BX$120,0)) 4.D18:D129に入力規則(リスト)を設定します。   元の値:=LST

kuroro2
質問者

お礼

misatoannaさん たびたびありごとうございます。 感謝です。やはり変わってくるんですね。できないはずだ。。 これで明日挑戦してみます!!エクセルは奥が深いですね^^misatoannaさんすごいですね!ホントありがとうございます。 忙しい中 力をおかりしました。 kuroro2

その他の回答 (2)

回答No.2

作業用の列とセルを使用します。 入力規則を設定するセル範囲 A1:A20 入力規則リストの表示候補のデータ群 J1:J30 と仮定した場合の参考例です。 1.K1に次の式を入力してK30までコピーします。  =COUNTIF($A$1:$A$20,J1) 2.L1に次の式を入力して [Ctrl]+[Shift]+[Enter] で確定し、L30までコピーします。  =INDIRECT(ADDRESS(SMALL(IF($K$1:$K$30<>0,"",ROW($K$1:$K$30)),ROW()),10)) 3.名前をひとつ定義します。   名  前:任意(ここではとりあえず LST にします)   参照範囲:=OFFSET(Sheet1!$L$1,0,,COUNTIF(Sheet1!$K$1:$K$30,0)) 4.A1:A20に入力規則(リスト)を設定します。   元の値:=LST

kuroro2
質問者

お礼

できました^^ありがとうございました^^ 試行錯誤し、あとはこれができればと思っていましたので感動しました☆大変助かりました。ほんとにありがとうございました。

kuroro2
質問者

補足

misatoannaさん たびたびすみませんが、よろしくお願いいたします。このまま作成し、できたので感動いたしました。 応用し、大きな表に適用しようとしていますが、うまくいきません。。。 内容としましては、 入力規制を設定するセル範囲 D18:D129 入力規制リストの表示候補のデータ群 BW18:BW120 と仮定した場合、ROWのあとの数字なども変わってくるのでしょうか??数式のKの部分などいれかえて挑戦してみたのですがうまくいきません。。。。教えていただけないでしょうか??よろしくお願いいたします。 それでは失礼いたします。 kuroro2

noname#204879
noname#204879
回答No.1

仰っている意味は概ね理解できますが、具体的にワークシートのどのようなレイアウトでそうしたいのか該当するイメージが浮かびません。 マクロを使わない限り無理なのでは? 私はマクロが出来ないのですが、あなた自身は如何ですか?

関連するQ&A