- ベストアンサー
エクセル関数でのデータの一致判定と抽出方法
- エクセル関数を使用して、複数のシートからデータを一致判定し、抽出する方法について教えてください。
- 具体的には、シート1とシート2の郵便番号が一致した場合に、シート1の地区分コードをシート2の事業所一覧に関連付けたいです。
- VLOOKUP関数を試したところ、なぜか#N/Aというエラーが表示されます。正しい方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数で良いでしょう。 VLOOKUP関数でエラーが出るのは 第4引数をFALSEにして居るか。 第2引数の検索表の「範囲に$をつけて絶対参照にして居るか(絶対参照は判らなければGoogleで調べる) 両郵便番号の数字で大文字小文字、全角半角、前後途中で余分なスペース、ハイフンなし、などの違いが無いか またハイフンつきは書式でそう見せることも出来る。1方がこれだと、セルの値としては一致しないのだ(まれな場合と思うが。下記例) このへんチェックしてみること。 (例)一方のセルの値 1234567 書式 ###-####で見た目は123-4567 もう一方のセルでは123-4567と入力している。見た目は同じだが、セルの値としては等しくない
その他の回答 (3)
- boonyanOK
- ベストアンサー率33% (5/15)
はじめまして。 1シートに集約して A列 郵便番号 B列 地区分コード D列 郵便番号 E列 事業所の一覧 として F列の1行目に以下の式を埋め込みます。 =VLOOKUP(D1,A$1:B$3,2,FALSE) D1:検索するセルの値 A$1:B$3:検索対象の範囲(検索範囲は固定なので$をつける) 2:取得する値の列番号 FALSE:検索値と完全一致した場合のみ値を取得する設定 それ以降のセルは式を埋め込んだセルをコピーして貼り付けします。
お礼
ありがとうございます。 試してみましたが、うまく行かず、原因がNo.4様のご指摘にあると気付きました。いろいろ試して解決策が見つかりました。 お時間を割いていただいて本当にありがとうございます。
- mu2011
- ベストアンサー率38% (1910/4994)
シート2のC2に=IF(COUNTIF(Sheet1!A:A,A2),VLOOKUP(A2,Sheet1!A:B,2,FALSE),"")を入力、下方向にコピーしてみて下さい。
お礼
ありがとうございました。やってみて、うまく反応しないので、別の原因があることに気付きました。 お時間を割いていただいて本当にありがとうございますいm(_ _)m
- pluto1991
- ベストアンサー率30% (2018/6682)
シート2のC2に下記を入れてください。 C3以降はそのコピーでOKですよ。 =VLOOKUP(Sheet2!A:A,Sheet1!A:B,2,0) 意味 シート2のA列にある値を、シート1のAB列から探して、2列目に入っている値をルックアップしてこの場所に表示する。 最後の0は完全一致の意味です。
お礼
ありがとうございました。教えていただいたことをやってみましたが、うまくいかなかったので別の方法を探してみたところ、解決できました。お時間を割いていただいてありがとうございました。
お礼
ありがとうございました。ご指摘をいただいて、関数の問題ではないかもしれないと思い、昨日は悪戦苦闘していました。 解決策としては、このシートは別々のPCで作られた表を集約したものだったので、一度、テキスト化してみて、再度エクセルで読み込みなおしをしてみました。すると、不思議な空白など、全て無くなり、関数が普通に反応するようになりました。ありがとうございました。