• 締切済み

エクセル 「入力候補を複数表示させたい」

Microsoft Excelにて 下記のような入力システムをつくりたいです。 セル編集モードの間、 そのセルに既に入力されている文字列を含む文字列を あるリストの中から全て集めてリスト表示し(予測入力候補リスト) その中からユーザが選んだ文字列をセルに入力する。 分かり易い類似例としては、 googleなどの検索ボックスが挙げられます。 検索ワードを入力すると、 ワードをすべて打ち終わる前に、 既に入力された文字列を含むワードのリストがリスト表示され、 ユーザはリストからワードを選択して検索ボックスに入力できます。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

knh_nktn
質問者

お礼

ご回答ありがとうございます。 頂いた機能にプラスアルファして要件が8割方満たされました。 ASIMOV様が想定なさっていたのと同じ仕組みかもしれません。 残りの2割に関しましては、 今後ここに書き込んでくださるどなたかにお任せしたいと思います。 下記、私の要件がどのように満たされたかについて、 皆様のご参考までにまとめさせてください。 私の希望していたシステム要件は googleの検索候補表示と同等の仕組みでしたが (ASIMOV様のご回答への補足参照)、 実現が難しいときのプランBと致しまして、 下記の要件を提案するつもりでした。 【要件】 ●入力し掛け状態→●リスト表示→●リスト項目選択→●入力に反映 までのプロセスを、 多くても3入力(ただしクリック、エンター、カーソルキーのみ) の労力で成し遂げる (例に出したgoogleの検索候補表示は1入力)。 ですので、 (1)tom04さんの写真C列に入力文字列セル新設する。 (2)B列を、C列の入力規則で入力候補リストに指定する。 とすることで、 B列に入力し掛け文字列を入れた状態から、 確定⇒Cセルクリック⇒リストから選択 という3ステップ+スクロールという手間で プランBの要件がほぼ実現できることになりました。 要件すらハッキリしない状態で有用なお答えをいただき、 誠にありがとうございました。

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

「データ」「入力規則」「リスト」で、できますが >あるリストの中から全て集めてリスト表示し これは、どうやってやるのでしょうか 自動でやるのであれば、もっと具体的な説明が必要です

knh_nktn
質問者

お礼

ご回答大変ありがとうございました。 ご回答者No.2 tom04様のご回答と合わせて、 現在当方の要件を8割方満たしていただいております。 当方の要件は、 「編集モード中にセルの真下にポップアップ」 ⇒「無理なら下記要件B」というものと ここに定義いたします。 【要件B】 ●入力し掛け状態→●リスト表示→●リスト項目選択→●入力に反映 までのプロセスを、 多くても3入力(ただしクリック、エンター、カーソルキーのみ) の労力で成し遂げる (例に出したgoogleの検索候補表示は1入力)。 この要件を8割方満たす為に、 頂いたご回答をどのようにオーガナイズしたかについては、 ご回答者No.2 tom04様へのお礼の内容をご参照下さい。 残り2割を満たしたいという気持ちも残っておりますので、 まだ質問は締め切らず新たなご回答をお待ちさせていただきたく 存じます。 改めまして、ご回答ありがとうございました。

knh_nktn
質問者

補足

>これは、どうやってやるのでしょうか 編集モード中にセルの真下にポップアップ(上記google画像のように) させる方法があれば、と望んでいます。 そのような方法がございますでしょうか? 少し要求を下げることも考えておりまして、 それについては後ほど追記させていただきたく存じます。

関連するQ&A

  • エクセル・VBAでテキストボックスに入力された文字を

    エクセル・VBAでテキストボックスに入力された文字を B列から検索し、結果をユーザーフォームのリストbox に表示したいのですがうまくいきません 検索は部分一致・大文字小文字無視で行いたいです よろしくお願いします

  • エクセル2007VBAで検索するコードを知りたい。

    エクセル2007(Excel2007)のVBAで【検索と置換】と同等の機能をもった検索アプリケーションを作りたいのですが、 そのコード(コマンドボタンを実行したときのコード)を教えていただけないでしょうか。 (おそらくですが、リストボックスのコードも必要だと思います。) 正しくは、【検索と置換】から【置換】機能を無くしたものとイメージしていただきたいです。 ●設置するもの ユーザーフォーム(UserForm1) テキストボックス(TextBox1) コマンドボタン(CommandButton1) リストボックス(ListBox1) ●仕様 ユーザーフォームのテキストボックスに入力してコマンドボタンを押すと、検索対象を見つけ、 リストボックスにその対象一覧を行ごとに表示するものになります。 ●検索するときの条件 (1)大文字と小文字を区別しない (2)半角と全角を区別しない (3)部分一致すれば(一部でも一致すれば)検索対象にする (4)今、開いているワークシート上の「全てのセルが検索対象(列や行を指定しない)」 ※検索されたセルの存在する行ごとに、ユーザーフォームのリストボックスに(1行ずつ)表示したいです。 そして、リストボックスに表示されたデータのうち、どれか1つを選ぶと、その選択対象の行の【D列】にアクティブセルを移動するようにしたいです(画面もアクティブセルが見える位置にスクロールします)。 ●リストボックスに(1行ごとに)表示するもの● ↓↓↓ (左から)I列の値、D列の値、O列の値、Q列の値(→4列の値になります) ※リストボックスにQ列の値が表示された場合のみ(Q列に何かしらのデータがある場合のみ)、 リストボックス上の【その行の(I列の値、D列の値、O列の値、Q列の値の)文字すべてを赤色】にして表示していただきたいです。 分かる方がいましたらよろしくお願いいたします。

  • EXCELの入力表示について

    EXCELで文字を入力した時の表示のことです。 何も設定していないセル2つに文字をセルからはみ出して入力した際、 片方はセル幅に関係なく表示されるのに対し、もう片方はセル幅までしか表示されませんでした。 前者の方は罫線まで無視して入力した文字列すべてが表示されます。 この差はいったい何なのでしょう。 どういった設定になっているのでしょうか? どうぞよろしくお願いします。

  • Excel2016 入力 予測候補設定

    Excel2016で、セルA1に、「ABCXYZ」と入力しました。 A2セルに「ABC」と入力しました。 A3セルに「AB」と入力したら、予測候補として、入力中の1枚のシート内または すべてのシート(全ページ)内で、「ABC」と「ABCXYZ」と表示させ、クリックして選択できるような設定を教えてください。 文字列が部分的に共通している履歴を表示させるといった具合です。 よろしくお願いします。

  • エクセルのセル入力と表示

    エクセルのセルへの文字入力でセルからはみ出しても、隣のセルが空セルであれば、文字列が隣のセルへもはみ出して表示できていて、隣に文字列がある場合はセル幅分だけしか表示できなかったものが、隣が空セルにも関らずセル幅分だけしか表示できなくなってしまいました。 [オプション]、[全般]の中でフォントサイズを10に変更してからこのようになってしまったようです。 前のように文字列が隣のセルにはみ出して表示できるように戻したいのですが、どうしたら良いか教えてください。

  • EXCEL リストボックスについて

    現在、エクセルであることをしようとしているのですが、どうやってやったらいいのかわからないので、ぜひ教えてください。 それと出来るかどうかも教えてください。 内容といたしましては、エクセルのシートの中にあるセルを選んだときにリストボックスを表示して、そのリストボックスにある内容を選んで確定するとその選んだ文字が入るようにしているのですが、入力規則からのリストボックスだとシート自体を小さくすると中の文字が見えなくなり、選びづらくなります。 そこで、コンボボックスで同じことをすると、文字のサイズが大きくなるのですが、印刷時に下向きの矢印も一緒に表示されてしまいます。 そこで、別の視点から考えて、セルを選んだ時にリストボックスみたいなユーザフォームをだし、そこで選んだ文字を選んだセルに表示すれば、印刷時に表示もしないし見た目も良くなると思うのですが、出来そうですか? 出来るのであれば、ぜひ教えてください。 出来れば、VBかVBAで出来るのか、教えてください。

  • エクセルの入力規則のリストの中かな複数入力したい

    EXEL2003を使用しております。 入力規則でリストから選択する機能がありとても便利です。 ところで、リストの中のひとつを選らんだあと、さらに続けてもう一つ選ぶことができる機能はないでしょうか? 入力規則機能を使用しなくてもかまいません。 複数ある選択肢の中の複数を選んで、文字列の続きとしてひとつのセルに入力できる方法を探しております。 よろしくお願いします。

  • エクセル2007で、A1のセルに、'72-2' を入力します。

    エクセル2007で、A1のセルに、'72-2' を入力します。 置換で 検索する文字列 ' 置換後の文字列 (入力しない) とすると、 Feb-72 となります。 セルの設定は、文字列にしておいたのに、勝手にユーザー設定の日付モードになっています。 ちゃんと 72-2 と表現したいのですが、どの様にしたらいいのでしょうか? 宜しくお願いします。

  • エクセルの入力規則について

    Microsoft Excel 2002について教えて下さい。 他人が作ったエクセルファイルで、ある列の値は全てリストボックスで選ぶようになっており、それ以外の値を自分で書き込むと「ユーザーの設定によって入力できる値が制限されています」というエラーメッセージが出ます。 今選択肢の項目を一つ追加したいのですがどこからどうやるのかわかりません。ご存知の方教えて頂けませんか? 宜しくお願いします。

  • 入力候補を表示させるには・・・?

    テキストボックスに、'1'って数字を入力したら、頭に'1'がつく入力候補がテキストボックスの下にリスト形式で表示され、 続けて、'2'と入力すれば、入力候補リスト内は頭に'12'がつく入力候補にかわる。 わかりやすく(?)言うと、例えば、VB6で変数の宣言をするとき Dim xxx As まで書くと入力候補のリストがカーソルの下に表示されますよね。 続けて、Dim xxx As S と入力すると、入力候補が 'S' から始まるものになりますよね。 まさに、コレがやりたいんです!! 何かいい方法、いいツールetc・・・、知っている方がいらっしゃったらぜひ教えてください。 ちなみに、開発はVB6で行います。 よろしくお願いします!!!

専門家に質問してみよう