プロが教える店舗&オフィスのセキュリティ対策術

Microsoft Excelにて
下記のような入力システムをつくりたいです。

セル編集モードの間、
そのセルに既に入力されている文字列を含む文字列を
あるリストの中から全て集めてリスト表示し(予測入力候補リスト)
その中からユーザが選んだ文字列をセルに入力する。

分かり易い類似例としては、
googleなどの検索ボックスが挙げられます。
検索ワードを入力すると、
ワードをすべて打ち終わる前に、
既に入力された文字列を含むワードのリストがリスト表示され、
ユーザはリストからワードを選択して検索ボックスに入力できます。

「エクセル 「入力候補を複数表示させたい」」の質問画像

A 回答 (2件)

こんばんは!


参考になるかどうか判りませんが・・・

オートコンプリート機能のような感じをご希望かと思います。
たぶんEXCELの機能でそのような操作はできないような気がします。
(もし出来るのであればごめんなさい。)

オートコンプリートまではいかないのですが、
↓の画像でA2セルにある文字列を入力すると
元データからその文字列を含むもの全てを表示させる方法です。
尚、入力途中に表示は出来ません。あくまでA2セルに入力後、Enterキーで確定しなければなりません。

元データの隣のE列を作業用の列に使わせてもらって、
E2セルに
=IF($A$2="","",IF(ISNUMBER(FIND($A$2,D2)),ROW(A1),""))
という数式を入れ、オートフィルで下へずぃ~~~!っとコピーします。

そして、B2セルに
=IF(OR($A$2="",COUNT($E$2:$E$1000)<ROW(A1)),"",INDEX($D$2:$D$1000,SMALL($E$2:$E$1000,ROW(A1))))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
数式は1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、長々と書きましたが参考になれば幸いです。
的外れなら読み流してくださいね。m(__)m
「エクセル 「入力候補を複数表示させたい」」の回答画像2
    • good
    • 1
この回答へのお礼

ご回答ありがとうございます。
頂いた機能にプラスアルファして要件が8割方満たされました。
ASIMOV様が想定なさっていたのと同じ仕組みかもしれません。
残りの2割に関しましては、
今後ここに書き込んでくださるどなたかにお任せしたいと思います。

下記、私の要件がどのように満たされたかについて、
皆様のご参考までにまとめさせてください。

私の希望していたシステム要件は
googleの検索候補表示と同等の仕組みでしたが
(ASIMOV様のご回答への補足参照)、
実現が難しいときのプランBと致しまして、
下記の要件を提案するつもりでした。

【要件】
●入力し掛け状態→●リスト表示→●リスト項目選択→●入力に反映
までのプロセスを、
多くても3入力(ただしクリック、エンター、カーソルキーのみ)
の労力で成し遂げる
(例に出したgoogleの検索候補表示は1入力)。

ですので、

(1)tom04さんの写真C列に入力文字列セル新設する。
(2)B列を、C列の入力規則で入力候補リストに指定する。
とすることで、
B列に入力し掛け文字列を入れた状態から、
確定⇒Cセルクリック⇒リストから選択
という3ステップ+スクロールという手間で
プランBの要件がほぼ実現できることになりました。

要件すらハッキリしない状態で有用なお答えをいただき、
誠にありがとうございました。

お礼日時:2010/02/03 11:44

「データ」「入力規則」「リスト」で、できますが



>あるリストの中から全て集めてリスト表示し

これは、どうやってやるのでしょうか
自動でやるのであれば、もっと具体的な説明が必要です

この回答への補足

>これは、どうやってやるのでしょうか

編集モード中にセルの真下にポップアップ(上記google画像のように)
させる方法があれば、と望んでいます。
そのような方法がございますでしょうか?

少し要求を下げることも考えておりまして、
それについては後ほど追記させていただきたく存じます。

補足日時:2010/02/02 17:38
    • good
    • 1
この回答へのお礼

ご回答大変ありがとうございました。
ご回答者No.2 tom04様のご回答と合わせて、
現在当方の要件を8割方満たしていただいております。

当方の要件は、
「編集モード中にセルの真下にポップアップ」
⇒「無理なら下記要件B」というものと
ここに定義いたします。

【要件B】
●入力し掛け状態→●リスト表示→●リスト項目選択→●入力に反映
までのプロセスを、
多くても3入力(ただしクリック、エンター、カーソルキーのみ)
の労力で成し遂げる
(例に出したgoogleの検索候補表示は1入力)。

この要件を8割方満たす為に、
頂いたご回答をどのようにオーガナイズしたかについては、
ご回答者No.2 tom04様へのお礼の内容をご参照下さい。

残り2割を満たしたいという気持ちも残っておりますので、
まだ質問は締め切らず新たなご回答をお待ちさせていただきたく
存じます。

改めまして、ご回答ありがとうございました。

お礼日時:2010/02/03 11:52

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