• ベストアンサー

Excelで入力した文字を検索

ExcelでD2のセルに入力した文字をB1:B200の範囲で検索して、ヒットしたとなりのセルの値を表示させるにはどの様な式を書けば良いのでしょうか?

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

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

「A地点」、「A地点'」、「一時間」というデータが入力されている列はA~C列であるという理解でよいでしょうか?そうだとして話を進めます。次のように操作してみてください。この回答をコピーしてそのままExcelに貼り付ければ、より確実です。 (1)E1セルに「A地点」と入力 (2)F1に「=vlookup($E1,$A$3:$C$5,2,)」と入力 (3)G1に「=vlookup($E1,$A$3:$C$5,3,)」と入力 (4)E1、F1、G1の各セルにカーソルを置く。  カーソルの枠をドラッグ・アンド・ドロップすることによって、セルをワークシート上の好きな位置に移動。  移動後、入力されている式を見てみると、セルの番地が適当に変化しているが、計算結果は変わらない。 以上により、「A地点'」や「一時間」が計算結果として表示されているはずです。正しく入力できてさえいれば。 質問者さんの手元では正しく計算されていないということは、何らかのエラーが出ていると思います。どんなエラーが表示されているでしょうか? できれば、入力した式をコピーして、そのまま載せてください。 よくある間違い ●いろんなところをクリックしている間に、式が書き換わり、正しくなくなってしまっている。 ●関数の引数の個数に過不足がある。  引数の形式に違反がある。 ●「$」マークを付け忘れたり、個数が違っている。  そのため正しいセルを参照できていない(絶対参照/相対参照)。  式の入力されているセルをコピーした際に気付くことが多い。    ※「$」を付加するには、式の入力中にF4キーを何回か押す。 ●A列とE1に入力されている値が微妙に違う。  例1 A列の「A地点」が、実際は「A地点 」のように、スペースが入っている。  例2 大文字/小文字、全角/半角が不一致 後半2つのデータの揺らぎをまとめて修正するには、「置換」の機能を使いましょう。 (1)A列全体を選択 (2)リボン(古いバージョンではメニューバー)の「ホーム>検索と選択>置換」(あるいはショートカットキーCtrl+H)を実行 (3)「 」→「」(未入力)の置換によりスペースを削除。  「A」→「A」とか「1」→「1」により全角/半角を統一。 このご質問が終わったら、Googleなど、検索エンジンでの検索を積極的に利用されることをお勧めします。関数名でもいいし、機能名でもいいし、文章でもいいので、検索してみてください。Excel始め、IT技能に関する情報が無数に出てきます。難しいページもたくさんありますが、分かるところから少しずつ知識を増やしていけばいいのです。

blueoystercult
質問者

お礼

大変分かりやすい解説まで付けて頂き、ありがとうございます。無事値が反映されました。これを機にExcelについてもっと勉強しようと思います。

その他の回答 (2)

回答No.2

>さっそく試してみたのですが、検索した文字列の同行隣列の値が反映されません。 No.1で回答した式はごく基礎的なものです。正しい使用条件の下で、正しく記述していれば、正しく計算するはずです。加えて言うなら、私の手元のExcelで問題なく動作することも一応確認してから投稿しています。 例えば次のように、具体的に質問文(補足でもいいですが)に書いてくだされば、誤りなどを指摘したり、より適した式があればそれを提示しますが。 質問文/補足の例    A   B   C   D   E 1    佐藤 出勤 2    近藤 休暇 佐藤 3    手塚 出張 E2セルに「=vlookup(d2,$B$1:$C$200,2,)」を入力

blueoystercult
質問者

補足

スマートフォンからなので分かりにくいかもしれませんが、このような感じです。 A B C D E 1 2 3 A地点 A地点' 一時間 4 B地点 B地点' 二時間 5 C地点 C地点' 三時間 この場合C地点と入力するとC地点'が出てくるようにしたいのです。 あと、後付けになってしまい申し訳ないのですが上記のほかにC地点と入力すれば三時間と出てくるような式を書く事も可能なのでしょうか? お手数をおかけしてしまい大変申し訳ありません。

回答No.1

「となりのセル」がC列だと仮定するなら、例えばこういうの。絶対参照/相対参照を間違えると、コピーやオートフィルをしたときに正しく計算しませんから、適当に実態に合わせて式を修正してください。 =vlookup($D$1,$B$1:$C$200,2,)

blueoystercult
質問者

補足

回答ありがとうございます。さっそく試してみたのですが、検索した文字列の同行隣列の値が反映されません。

関連するQ&A

  • Excelで、検索してヒットしたセルの隣のセルに値を入力したい

    Excelで、「検索してヒットしたセルのとなりのセルに、特定の値を 入力する」という作業をスムーズにできる方法を考えています。 具体的には在庫のチェックに使います。A列に品名が6000件ほどあって、 検索してヒットした品名の隣のセル(B列)に"●"を入力する作業です。 ただし、その隣のセル(B列)にはあらかじめ"○"が入力されています。 現在のところ、  ctrl+F で検索 → 該当するセルに"●"をペースト  で処理していますが、もっと効率的な方法をご存じないでしょうか。 少しでもマウスを動かしたりするのを減らしたいのです。 一つ考えているのは、以下のようにマクロを利用することです。 ユーザーフォーム  テキストボックス(検索する文字列の入力用)  コマンドボタン1(検索用)  コマンドボタン2(次を検索)  コマンドボタン3(前を検索)  ラベル(検索してヒットしたセルの値を確認する用)  コマンドボタン4("●"を該当セルに入力する用) ここまでたどり着いたのですが、お手上げになりました。 このような考えを実現するコードをお教えいただけないでしょうか。 あるいは、もっと楽なやり方があるということでしたら、それも お教えいただけないでしょうか。よろしくお願いします。

  • [ExcelVBA]検索文字で検索し文字入力する

    いつもお世話になっております。 以前に投稿をさせていただきましたgitmykと申します。 http://okwave.jp/qa/q7563274.html 前回はご回答くださり誠にありがとうございます。 この場で感謝申し上げます。 内容を精査させていただきましたので、再度投稿させていただきます。 問題(1) Sheet2のA列に[範囲指定文字]、B列に[検索文字]、C列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字]の上から順に検索していく。 該当セルがあれば、右4セルoffsetし、対応する[入力文字]を入力する。 ([検索文字]と[入力文字]は1対1で対応している) 問題(2) Sheet2のA列に[範囲指定文字]、B列に[検索文字1]、C列に[検索文字2]、D列に[入力文字]が複数入っている。 Sheet1を[範囲指定文字]で検索しCurrentRegionで範囲指定する。 範囲指定した全てのセルに対し、[検索文字1]の上から順に検索していく。 該当セルがあれば、右2セル上1セルoffsetしたセルを対応する[検索文字2]で検索し、双方が一致した場合のみ[検索文字1]で検索した該当セルから、右に4セルoffsetしたセルに、対応する[入力文字]を入力する。 ([検索文字1]と[検索文字2]、[入力文字]は対応している) 問題(3) Sheet1を[範囲指定文字]で検索し下に1セルoffsetした位置をCurrentRegionで範囲指定した場合。 上記内容をExcelVBAでどのように記載すればよいか、ご教授くださいませんでしょうか。 VBA学習中です。 何卒宜しくお願いいたします。

  • エクセルで入力文字のチェック

    エクセルのセルに入力された値がUnicodeで****から****までの範囲内のみの文字で記述されているかのチェックをしたいのですが、 例:B3には電話番号を入力したいので半角数字と()のみで構成されているかをチェックする。 VBAでどのように記述すればよいのでしょうか? もう一つ、 セルB3に文字を入力し終えた時または、B3にあるカーソルを他のセルに動かした時に VBAが走る…と言う記述方法はあるのでしょうか? ボタンを用意し、入力後[CHECK]を押すとVBAが動くと言うのは出来るのですが… 以上よろしくお願いいたします。

  • エクセルで、入力された文字を検索して表示

    よろしくお願いします。 例えば、 「B1~H1 セルのどれかに任意の文字を入力すると、A1セルに同じ文字を表示する」 というようなことをエクセル関数を使って実現可能でしょうか。 VBマクロは使えないものとします。

  • エクセルの関数について教えてください。

    エクセルの関数について教えてください。 ある範囲にある値の隣の値を読む関数がわかりません。 B1にある検索値を範囲C4:H13から読み取り、その値の隣の値をB2に表示する方法がわかりません。 例) B2に検索値2014/06/20を入力 →範囲C4:H13内にある2014/06/20の隣の値26をB2に表示 ご教授のほどよろしくお願いします。

  • エクセル複数検索で

    A、B、C列を検索してD列のデータを求める式を作成しました。 データリスト   A     B   C   D   1 F2    M2  55  100 2 F21   M3  55  110 3 S22   M2  60  105 4 S2    M2  65  115 求める式(10行目のA、B、Cに文字及び数値を入力し、その値に合致するDの値をD10に求める) 式:INDEX(D1:D4,MATCH(A10&"!"&B10&"!"&C10,A1:A4&"!"&B1:B4&"!"&C1:C4,)) ここで質問ですがA10のセルにはフルネームで入力してデータ行のA1~A4の値は最初の文字(F又はS)だけ認識させたいのですがその方法が分かりません。 質問がわかりにくいかもしれませんがA1~A4にはForSのみ記入しA10セルにはF2、S22などと表示したいのです。よろしくお願い致します。

  • エクセルを使った文字入力練習シート

    例えば、エクセルシートのA1のセルに見本となる「ひらがな」文字を表示しておき、B1セルにローマ 字入力で該当文字を入力し、スペルが正しければ○、誤りは×をC1セルに表示し、×の場合には 正しいスペルをD1に表示する文字入力練習シートを作成したいのですが、簡単な方法があれば 教えて下さい。エクセルは2007、2008です。

  • セルに入力されている文字をくっつけたい。

    エクセル2010です。 よろしくおねがいします。 セルE15~E23に入力されている文字を ひとつにくっつけて 表示したいんですが・・・ 全部文字が入力されているときも あるのですが 入力がないときまあります。 その場合は D1には 何も表示しないようにしたいのです。 例えば E15にA       E16にB      E17にC  E18~E23は入力なしとして D1に ※文字です。→A・B・C と 一つのセルに表示させるには どういう関数になりますでしょうか? よろしくお願いします。

  • エクセルの文字列の検索に関して

    また、エクセルに関しての質問です。 例えば  A B C D 1あ 1 2い 2 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このような漢字で文字列が縦に入力されていて、  A B C D E 1あ 1   お 5 2い 2   う 3 3う 3 4え 4 5お 5 6か 6 7き 7 8く 8 このようにD列にある文字に対してA列にある文字で該当する文字を発見し横のBセルにある番号を取ってくるということがしたいです。 この場合だとD1は「お」なので、A列の上から見ていくとA5に「お」があるので、B5の数字「5」をEに入力といったような具合です。簡単なように見えますが、複数の文字列を横断的に検索することができません。 誰か詳しいお方お教え願います。

  • セルの結合による影響

    エクセルのセル範囲を結合させた時の、結合したセル範囲内のセルが示す値について教えてください。 まず、B2:D5のセル範囲を結合します。結合したセル範囲を選択して、数字10を入力します。 任意のセルを選択して、式"=B2"を入力するとセルには、10が表示されます。次に"=C2"を入力すると、0(零)が表示されます。同じく他の、セル範囲のメンバーで同じことをしてもすべて0(零)が表示されます。 次に、式"=B2:C2"を入力すると、10が表示されます。しかし、式"=B2:D2"では、0(零)が表示されます。 さらに、式"=B2:C4"、式"B2:C3"、式"=B2:D5"では、#VALUEが表示されます。 いったい、一番最初に入力した10の数字はどこに格納されているのでしょうか?また、結合したセル範囲ないで、任意のセル範囲を参照してしまった場合、何を参照することになるのでしょうか?単にセル範囲の左上の値ではないようですが? 参考に、式"C2:D2"では、0(零)、式"=C2D3"では、同じように#VALUEとなります。(相対参照にはなっているようです?)詳しい方いらっしゃいませんか? よろしくお願いします。

専門家に質問してみよう