この人頭いいなと思ったエピソード

セルへの文字入力について質問があります。
セルに、入力規則のリストで入力を行っています。
リストが参照しているセルは、IF関数を使用して、○か空欄の表示判定を行っています。(セルは隠している)
入力項目が大量にあるため、ドロップダウンリストでは効率が
あまりよろしくありません。
  A   B  C
1 アイス    ○
2 かき
3 なし     ○

100
       
B列はあくまでチェックを行いたいので、手動で選択しなければ
なりません。(○がある場合は空欄のときは入力不可を示しています。)
マクロでの、ダブルクリックで文字が入力できる項目などもみたのですが、マクロのイメージに合うような物が見つけられませんでした。
(マクロも記録をつなげるぐらいなのですが・・・)
このような処理をしている場合は、やはりドロップダウンリストを
使用するしかないのでしょうか?
よろしくお願いいたします。

A 回答 (2件)

こんばんは!


質問内容の解釈が違うかも知れませんので、
的外れの場合は無視してください。

結局B列は全てドロップダウンで選択するのですね?
ただし、その項目が多すぎて困っているということでしょうか?

一応そういうことだと解釈しての回答です。
当方使用のExcel2003での場合ですが・・・

リスト表示で絞り込むようにしてはどうでしょうか?

リスト表示の列は増えてしまいますが、
↓の画像で説明させていただくと

別Sheet(今回はSheet2にリストのデータがあるとします。そして、データはこちらで勝手に作りましたので都合の良いようにアレンジしてみてください。)

あ行~最後の列までの1行を範囲指定し、名前ボックスに仮に「品目」と入力します。
(メニュー → 挿入 → 名前 → 定義 からもできます)

同様にB2~B6を範囲指定 → 名前ボックスに「あ行」
   C2~C6を範囲指定 → 名前ボックスに「か行」・・・

という具合に全て名前定義します。

そして、Sheet1のB列を範囲指定(何行でも構いません)
メニュー → データ → 入力規則 → リスト 
元の値の欄に
=品目 ←これは先ほど名前定義したものと同じものを入力します。

C列を範囲指定し、同様に入力規則のリストの元の値の欄に
=INDIRECT(B2)
とします。

これでB2でドロップダウンリスト表示させ、そので表示されたものだけがC列にリスト表示されるようになります。

結局Sheet2の表の作り方をうまくやれば後は簡単にリストで絞り込めるのではないでしょうか?

尚、この方法は最初に書いたように余分に列を使用しますので
希望の方法とは異なるかもしれませんね。

以上、お役に立てれば幸いですが、
かなり的外れの可能性もありますので
その場合は読み流してください。

どうも長々と失礼しました。m(__)m
「セルに自動で文字を入力するには(オフィス」の回答画像1
    • good
    • 0
この回答へのお礼

お礼が遅れましたが、ご丁寧なご説明大変ありがとうございました。
c列は、○・空欄が、条件により変わります。(別セルで条件を変えています。)リスト選択をC列に設定することで、条件に合わないときは
B列に空欄しか選べることができないようにしています。
説明していただいた方法も、大変興味深く勉強させていただきました。
もう少し説明を整理できるようにがんばります。
教えていただいた方法も大変参考になりました。
本当にありがとうございます。

お礼日時:2009/10/20 23:19

質問の情況が伝わらない。


具体的に、入力規則のリストの「元の値」で指定しているデータか式を書いてください。他人にはわからない。
>IF関数を使用して、○か空欄の表示判定を行っています。(セルは隠している
の意味は?
>B列はあくまでチェックを行いたいので、手動で選択しなければ
なりません
何のこと。リストに指定している「元の値」はA列?
>(○がある場合は空欄のときは入力不可を示しています。)
入力規則でこれが出来るかな。
>マクロでの、ダブルクリックで文字が入力できる項目などもみたのですが
どんな仕組みのこと?
>このような処理をしている場合は、やはりドロップダウンリストを
使用するしかないのでしょうか?
入力規則を離れて、どういうデータ情況で、何がしたい(どういうデータを入力したい)のか書いたら。
何に悩んでいるのか判らない。
    • good
    • 0
この回答へのお礼

非常にわかりづらい質問で大変もうしわけありませんでした。
もう少し、頭の中を整理するべきでした。
もう少し内容をきちんと整理したいと思います。

お礼日時:2009/10/19 23:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!