- ベストアンサー
エクセルで別々な2つのデータをマッチングし抽出する
1つのデータには、全国のお店の住所データが約3000件あります。 項目はAからF列でそれぞれ 〒(3桁)、〒(4桁)、都道府県名、住所、電話番号、お店 となっています。 2つ目のデータには個人の住所データが約5800件あります。 項目はAからF列でそれぞれ 〒(3桁)、〒(4桁)、都道府県名、住所、電話番号、名前 となっています。 個人データにある市区町村と施設の市区町村のデータで 同じものがある場合に、その該当のお店のデータを使いたいのです。 IF関数でお店のG列に =IF(A2=個人!A2:A5800),"○""×" という式を入れましたが、うまくいきませんでした。 違っている部分か、その他の方法を教えてください。 長々とわかりにくい文章で申し訳ございません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
○×表示させたいだけなら単純に「お店」シートのG2に =IF(ISERROR(MATCH(A2,個人!$A$2:$A$5800)),"×","○") と入れて必要な分だけコピーすればOKです。
その他の回答 (5)
- imogasi
- ベストアンサー率27% (4737/17070)
長いというより質問の意味が、読む者に伝わりにくい。 例データ(簡単にします。) Sheet2 A1:C4(お店データ、会社データ。所在地とでもしましょうか) 東京都 A社 青梅市 神奈川県 B社 横須賀市 静岡県 C社 沼津市 Sheet3 A2:D10(C,D列は関数で、引っ張ってきた結果。元データはA,B列のみ) 個人別表。個人が行くべきお店とでも意味づけましょうか。 山田 静岡県 C社 沼津市 木山 東京都 A社 青梅市 大木 静岡県 C社 沼津市 横田 神奈川県 B社 横須賀市 大下 東京都 A社 青梅市 青山 神奈川県 B社 横須賀市 木下 東京都 A社 青梅市 上島 静岡県 C社 沼津市 C3に=OFFSET(Sheet2!$B$2,MATCH(B3,Sheet2!$A$2:$A$10,0)-1,0) C4以下に式を複写する。 D3に=OFFSET(Sheet2!$B$2,MATCH(B3,Sheet2!$A$2:$A$10,0)-1,1) といれ、D3の式をD4:D10まで複写する。 結果は上記C列、D列のとおり。
お礼
ありがとうございます。少し私にはわからない式なので 勉強してみます。
- aiho
- ベストアンサー率42% (3/7)
ご質問の意味を推察しますに、 1.「個人」のシートのそれぞれのデータについて、 A列(郵便番号)を参照し、「お店」のシートのA列すべてと比較し、 ひとつでも同じものが含まれていれば○、そうでなければ× を表示する。 ということでしょうか? であれば、 =IF(COUNTIF(個人!A2:A5800,A2)>0,"○","×") といった式になるのではないでしょうか。 2.タイトルに「抽出」とありますので、 別シートから郵便番号が同じものを探してきて、 探してきたデータの別の項目(電話番号など)を抜き出したい。 ということでしたら、 =VLOOKUP(A2,個人!A2:F5800,5,FALSE) ↑抜き出したいデータの左から数えた順番* *この場合、範囲がA~Fまでを検索し、左から5番目(電話番号)を抜き出す場合の例です。 都道府県なら3, 住所なら4と抜き出したいデータにあわせて変えてください。
補足
抽出したいデータは該当するお店のデータを○として その○のデータを使用したいと考えています。 なので、1については「個人」と「お店」が逆になるのかと思います。 2はある列ではなくて、そのお店のデータを使用したい ので抽出という言葉がお店のデータ全部にかかっていると思っているつもりです。
- shmaru
- ベストアンサー率52% (13/25)
ぱっと見ただけですが、 =IF(A2=個人!A2:A5800),"○""×" ↓ =IF(A2=個人!A2:A5800,"○","×") とか。 的外れだったらすみません。
お礼
ありがとうございます。 試してみます。
補足
=IF(A2=個人!A2:A5800,"○","×")で試してみました。 やはり対象があるのに×が表示されます。 私が思っているものと式が違っているのでしょうか 何をどうしたらよいのか、もっと詳しくならないと できないということなのでしょうか... できないとなると1データずつ見ていくしかないのですかねぇ・・・(すみません。愚痴ってしまいました)
- lasichi
- ベストアンサー率31% (122/389)
=IF(A2=個人!A2:A5800),"○""×" を単純に解説するとお店の郵便番号三桁と同じデータが 個人データのシートにあった場合に"○"、なかったら"×" を表示ということになります。 「うまくいきません」というのが自分がやろうとしている結果にならないのか計算式が間違ってエラーになるのか教えてもらえますか?
補足
単純に解説していただいた通りです。 それが同じものがあるのに○にならず、×になってしまいます。
- sero
- ベストアンサー率47% (916/1944)
・マッチングの条件は郵便番号の上3桁だけで良いのか? ・「該当のお店のデータを使う」とは具体的にどういう結果を表示させたいのか? 最低限これくらいは判らないと・・・ ・マッチングの条件が郵便番号程度だと複数の店が該当すると思われるが、その場合どうするのか? という点も明らかにしたほうが良いでしょう。
補足
パスがわからず遅くなりました、すみません。 ・マッチングの条件は郵便番号の上3桁だけで良いのか? >広く拾いたいので、郵便番号の上3桁でと考えました。 ・マッチングの条件が郵便番号程度だと複数の店が該当すると思われるが、その場合どうするのか? >今あるデータでは個人が重複する可能性があり、お店は 重複しないと考えられます。 やりたいことは個人データにある住所(同市区町村)と 同じお店のデータを抽出したいと考えています。
お礼
ありがとうございました。 もとのデータの不具合ということもあり、完璧ではないようですが、 だいぶイメージに近いものができた気がします。