• ベストアンサー

エクセルでのデータのマッチングその2

以前以下の質問を投稿させて いただきました。 http://www.okweb.ne.jp/kotaeru.php3?q=659843 に対しまして 以下のお答えをいただくことが できました。 ----------以下お答えいただいたもの---------- Sheet1のA,B列に表1の内容が入っているものとします。 表2は一番左に一列挿入し、A,B,C列となっているものとします。 A1に以下の式を入れます。 =VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) A2以下にA1の式をコピーします。 ・VLOOKUP()関数で値を検索しています。 ・LEFT()関数で「A01」の一番左の「A」だけ抽出しています。 --------------------------------------- 教えていただいたように おこなってみたのですが #N/A となってしまい、うまく成功しませんでした。 申し訳ございませんが どなたか再度ご指導いただけないでしょうか。 よろしくお願いします。

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

  • ベストアンサー
  • suzusan7
  • ベストアンサー率64% (22/34)
回答No.3

こんばんわ。 >=VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) この式の意味を考えてみましょう。 LEFT(B1,1)はセルB1の内容の一番左にくる一文字を 差しています。 VLOOKUP関数の最後の0は完全一致するものを選ぶように 指示しています。 つまり、セルB1の文字または数字の一番左の一文字を Sheet1のA列から探して、その文字の隣の列(B列)の 文字を表示しなさいということになります。 >注意書きで >”A-Eのセルの第2文字以下はDELキーで削除しておくこと。スペース等はいっていてはだめ。 これはVLOOKUP関数が完全一致したものを選ぶわけですから、「A」を探すのに 「A 」というようにスペースがあったり、他の文字があったりすると 違うものと認識されてしまうので、表1のA~Eと書いてあるセルは A~Eの一文字だけとして、2文字目以降の文字はやスペースが無いように しておいてくださいということですね。 >数字の桁はAA-BB-1 これでは一文字と一致することはありませんので、 VLOOKUP関数は該当なしとして#N/Aを返すわけです。 伝わりやすいように問題を簡単にして書いたために やりたいことが正確につたわらなかったようですね。 #2の人が書かれているようにもう少し 実際のデータに近い形で説明した方が 実際に行いたいことへの回答が返ってくるかと思います。

syousyou
質問者

お礼

アドバイスありがとうございました。 みなさんの意見を参考にさせていただきまして 解決することができました。 ありがとうございました。 わかりやすいご説明ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

Vlookup関数でエラーが出るのは、 (1)問題にしているセル(LEFT(B1,1),。第1引数。)が入力前で空白になっている場合。 (2)表を引くのですが、表のほうSheet1!A:B(第2引数)のセルの内容と表2の第一引数の内容が、見た目は同じようだが、コンピュター的には違っている。 2つのケースしかないでしょう。 (1)は判るでしょうから、(2)を見つける手助けの 関数を書きます。 B1について、どこか空き列に=b1&"="と入れます。これを下に複写します。これで文字の後にスペースなどないかわかります。=が終わりの位置を示すからです。 他のもう1列で=JIS(A1)で英数カナを全角に変えます。そして変える前の列の文字と変えた後の列の文字を良く見比べてください。勘違いがわかるかも知れません。 最後に、回答が判らないからといって、別質問を立てず、元のところで補足していくのがルールでは。15件ぐらい回答が積みあがっているケースを見たことがありますので、追加回答を求めることは可能では。ただ日がたつと注目度はガタッと落ちるでしょうが。

syousyou
質問者

お礼

アドバイスありがとうございました。 みなさんの意見を参考にさせていただきまして 解決することができました。 ありがとうございました。 ご指摘ありがとうございます。 今後は同じ質問はたてないように 気をつけます。

回答No.2

syousyouさんの質問したデータで実際に試してみましたか? 回答者の方はsyousyouさんから質問されたデータに基づいて 最善の方法を提示しているものと思います。 syousyouさんが実際に使用したいデータと違っていれば、 うまく成功しない事も考えられます。 syousyouさんが、実際のデータを掲載できない事もあるとは思いますが、 掲載できなければ、自分自身で応用しなければどうしようもありません。 できる限り、実際のデータに近い形式での質問をお勧めします。

syousyou
質問者

お礼

アドバイスありがとうございました。 みなさんの意見を参考にさせていただきまして 解決することができました。 ありがとうございました。

noname#9485
noname#9485
回答No.1

以前質問に回答がでていましたが、 =if(B1="","",VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) ) としたら、答えが出ませんか? B1のセルが空欄ならば空欄にし、空欄でなければ、VlookUp関数で値を検索してくださいという命令になります。

syousyou
質問者

補足

さっそくのお答えありがとうございます。 =if(B1="","",VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) ) といれましても 答えはでませんでした。 以前にお答えをいただきました#2の方の お答えは初心者の自分には理解ができなかった ため、こちらはやっておりませんでした。 注意書きで ”A-Eのセルの第2文字以下はDELキーで削除しておくこと。スペース等はいっていてはだめ。 ” とあったのですが、正式にはこの 数字の桁はAA-BB-1 といったようになっておりますので こまっておりました。 初歩的な質問なのですが 表2はsheet2に入れるんですよね? でA列はあけてA・B・C列が存在して 教えていただいた数式をA1にいれて したにその式を引っ張っていくので よろしいんですよね? う~ん、、、わからないことだらけで すみません。

関連するQ&A