こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Excel2007 VLOOKUP関数の相談

もし検索不足で重複した質問でしたら申し訳ありません。

VLOOKUP関数について、シート「A」に文字列を入力したら
シート「リスト」シート上に同じ文字列があれば
その文字列関係の情報を持ってくるというVLOOKUP関数を使用していました。
<使っていた関数>
=IF(ISERROR(VLOOKUP(H306,リスト!A:B,2,0)),"",VLOOKUP(H306,リスト!A:B,2,0))

この入力する文字列が数字(別データからコピーして貼り付ける)に変わっただけなのですが、
何故か対象情報の抽出をしてくれません。
<使おうとしている関数>
=IF(ISERROR(VLOOKUP(I2,データ0501!A2:F695,3,0)),"",VLOOKUP(I2,データ0501!A2:F695,3,0))

ネットで検索したのですが、関数情報が不足しているのか、
コピーした数字列の貼り付け方が間違っているのかわからない状況です。

恐れ入りますが解決策があればお教えいただければと思います。
どうぞ宜しくお願い申し上げます。

投稿日時 - 2012-05-10 17:31:24

QNo.7468446

困ってます

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

はて?
>ともに手順通り文字列に入力した

いったい「何をした」のですか? 「文字列に入力する」なんて手順はお話ししていないのですが。

回答No.1で手順と数式の二つをお話ししました。二つともその通りにやってみましたか?もう一回,回答の通りに操作を行います。
それとも「文字列にする」「統一する」の所だけ拾って,ご自分の勝手な判断で「やったつもり」になっている状況でしょうか。



1)あなたは回答を受け取って,今はいったいどんな数式で計算しているのですか。
  回答した数式は使っていますか? 回答した数式は,コピーしてきたのが「数値でも文字列でも」どちらでも計算できるように仕込みをしてあります
  

2)計算結果として出てくる値(データ0501のB列以降)については,文字列も数値も関係アリマセンので,文字化とか気にする必要は全くありません。
 今問題にしているのは,I2とデータ0501のA列「だけ」です。


3)そもそも「コピーして貼り付けた値」と,「データ0501のA列の該当する値」は,間違い無く同じ内容になっていますか?
  1.データ0501のA列に,もう一回区切り位置と文字列指定の操作を回答1の手順で行います
  2.I2にてきとーにサンプルの値をコピーして貼り付けます
  3.目視で,I2に該当するデータ0501のA列のデータを探します。たとえばA8に該当データがあったとします
  4.てきとーなセルに「=データ0501!A8 = I2&""」という数式を記入し,結果を確認します
   ここでもしFALSEが出てきたら,I2に貼り付けた値はそもそもデータ0501のA列とは「違った値を持ってきていたんだ」という事が判ります。

投稿日時 - 2012-05-11 15:31:53

お礼

お礼が遅れまして申し訳ありません、改めてデータ情報を再度言われた通り確認をいたしましたら登録ができました。ご丁寧にありがとうございました。

投稿日時 - 2012-07-27 10:27:48

ANo.3

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

No.1さんが指摘されている点に加えて、もう一つ気になっているのが、セル参照の方法(絶対参照/
相対参照)です。式中、2回出てくる「A2:F695」という部分は、「$A$2:$F$695」あるいは「A$2:F$695」というふうに絶対参照にしておくことのほうが通常は多いと思うので、質問者さんのケースでは相対参照($なし)のままで大丈夫か、念のためご確認ください。言葉の意味が分からない場合は、お答えしてもいいのですが、大事なので、できればネットで検索してみてください。なお、「A:B」については列全体を参照しているため、行番号のずれは問題になりません。

投稿日時 - 2012-05-11 01:30:09

お礼

ご連絡ありがとうございました、早速確認いたしました。
MarcoRossiItalyさんのおっしゃる通り、絶対参照にしないと私の求める情報が引き出せないことが解説サイトでわかりました。
初歩的なところが抜けておりました…ご教示ありがとうございました!

投稿日時 - 2012-05-11 11:31:46

ANo.1

>この入力する文字列が数字(別データからコピーして貼り付ける)に変わった

「数値として記入されている数値」と「文字列で記入されている数字の文字列」とで不整合しているのが一番疑わしい状況です。
リストのA列と,検索値を入れているI2と,どっちがどっちの状態なのか探り出して統一しなければいけません。



手順:
リストのA列を列選択する
データメニュー(データタブ)の区切り位置を開始,そのまま何もせずに次々送り,3/3画面で「文字列」にマークしてOKする
数式を
=IFERROR(VLOOKUP(I2&"",データ0501!$A$2:$F$695,3,FALSE),"")
に変更する。

投稿日時 - 2012-05-10 17:40:48

補足

文字列・数値の不整合についてお教えいただきありがとうございました。

コピーで引っ張ってくる数値と「データ0501」で参照する数値、ともに手順通り文字列に入力したのですが試すと空白のままでした…

参照してかえす値も同様に文字列にする必要があるでしょうか?
かえす値が数字と文字列(閲覧用に空白や改行がされています)で、文字列操作すると改行された文字が見えなくなってしまうのでできればそのままの値をかえしたいのですが…そういったことは難しいのでしょうか。

勉強不足で申し訳ありません…

投稿日時 - 2012-05-11 11:46:40

あなたにオススメの質問