• 締切済み

複数の検索値から任意のデータを抽出する方法

Excelの質問です。 Sheet1には、1行1件のコード、地域、金額の表があります。 A列のコードは、同じコードはひとかたまりになっていますが、 同じコードが2行ある場合や、1行またはそれ以上ある場合と決まっていません(最大6行)。 また、コードの順も昇順・降順になっていません。 Sheet2には、A列にコードだけが入力してあり、コードをキーにして、 Sheet1から地域と金額を自動表示したいのですが、 MATCHやINDEX関数を組み合わせたりしたのですが、うまくいきません。 関数式をお教えください。 <Sheet1> A B C →列番号です。 コード 地域 金額 56789 東京 100 56789 大阪 50 12345 大阪 400 12345 神奈川 200 12345 東京 1000 22222 大阪 300 22222 神奈川 400 22222 東京 100 ・・・・・つづく <Sheet2> A B C 12345 大阪 400 →B列とC列を数式で自動表示したい 神奈川 200 東京 1000 56789 東京 100 大阪 50 22222 ・・・・・つづく

みんなの回答

noname#204879
noname#204879
回答No.1

作成方法は自分で勉強していただくとして、ピボットテーブルレポートによるのが簡単です。結果だけを示しておきます。 合計/金額 コード   地域  合計 12345   神奈川  200       大阪   400       東京  1000 22222   神奈川  400       大阪   300       東京   100 56789   大阪   50       東京   100

chibiho
質問者

お礼

回答ありがとうございます。 ただ、ピボットは使えないんです。 なぜならSheet2(結果の方)の様式が既に決まっているので、 決まったセル位置に金額を表示する方法が必要なのです。

関連するQ&A

  • 【Excel】一致するデータの検索

    Excel2003を使用しています。 Sheet1のB列の値がSheet2のA列に入力されている値と一致したら、Sheet1のC列とD列の値をSheet2のC列とD列に表示させたく、VLOOKUP関数を使用したところ、Sheet1のB列とSheet2のA列のデータの並び方(順序)が同じではないためか、VLOOKUP関数ではできませんでした。 こういう場合、マクロで処理することは可能でしょうか?可能であれば、どのようにコードを記述すればいいでしょうか? Sheet1のデータは4行目から、Sheet2のデータは6行目から入力されています。 よろしくお願いします。

  • エクセル内での、データの複数の抽出は無理でしょうか?

    Sheet1 A B C D 1 こ た い あ 2 き ち ろ か 3 け つ は さ 4 く て に た 5 か と ほ な Sheet2 A B C 1 か と ほな 2 き ち ろか 3 く て にた VLOOKUP関数で Sheet2のA1、A2、A3をSheet1から 同列のB、Cも同じように抽出しようとしましたが C列だけSheet1のC列とD列と合わせた表記にしたいのですが これは関数では無理なのでしょうか? 私自身、あまり関数が得意ではないので もしマクロでなければ・・・となると少し不安です。 宜しくお願いします。

  • 【EXCEL】A列に複数あるデータに対応するB列のデータを表示させる

    既出かもしれませんが質問です。Accessでやると簡単なのでしょうが、Excelの関数のみで行えますか? 具体的には、sheet1、2、3のデータを使用して、 (1)sheet3でリンクさせて表示(使用するのはsheet1、2のみ) (2)かつsheet3で並べ替えて表示(使用するのはsheet1、2、3) となりますが、とりあえず(1)だけでも早急にできるようにしたいと思っています。 【sheet1】(データベース2:A列=検索被対象コード、B列=氏名、C列=社員コード(各行はB列=C列です)) A列 B列 C列 1912 A子 123 1912 B子 1234  1912 C子 2345 2001 C子 2345 2001 D子 34567 2001 A子 123 【sheet2】(データベース2:A列=社員コード、B列=氏名、C列=地域コード(各行はA列=B列=C列です。)) A列 B列 C列 123   A子 3 1234 B子 1  2345 C子 2 2345 C子 2 34567 D子 4 123  A子 3 【sheet3】(表示用:A1=検索対象コード、A3以下=sheet1A列の中から対象となるC列の情報を、(可能であればsheet2C列の地域コード順に)表示させたい) A列 B列 2001(sheet1A列の検索対象コード:手入力により可変とする。) 2345(sheet1C列のC子の社員コード(sheet2C列の地域コード2)) 123(sheet1C列のA子の社員コード(sheet2C列の地域コード3)) 34567(sheet1C列のD子の社員コード(sheet2C列の地域コード4))

  • エクセル、VBA、抽出複数検索について

    エクセル、VBA、VLOOKUP、MATCH関数等について出来る方法があれば教えてください。 インチごとに分けてあるシートがあり、(在庫表です) これを参照して、別ブックへVLOOKUP等を使って、サンプルデータのシート4のように表示させたいのですが、 何か方法を使って出来ることは可能でしょうか? 問題点が複数あります 1、VLOOKUPの範囲について、B列が結合されていて、C列は複数行あるため、商品名が入ってきません。 C列については、何千件とデータがあるため、結合することは不可能です。 一致している条件としては商品コードが必ずあり、商品名には「/」が入っております。 =CONCATENATEとVLOOKUPは一緒に使うことは可能ですか? もしくはINDEX関数やIF、SUMPRODUCT等を使うのでしょうか? シート4のような形に出来る方法があれば、教えてほしいです。 VBAは詳しくはないのですが、VBAで出来るのであれば、教えてほしいです。 在庫表はとても作り方が悪いのですが、これを作り直すと言うことは、不可能です。 グループ会社で使っているため、なんとかこの在庫表を使いたいです。 VBAでA列をA5からA100にコードのみ入れた場合、B列に商品名が入るようにVBAで作ることは可能でしょうか? もしくは、検索条件を2つ使って、一つは商品コード完全一致+あいまい検索で【/】で商品名を入れることは可能でしょうか? 関数は調べたのですが、関数では難しいのかなと思います。 宜しくお願い致します。

  • Excel 複数の項目合致するデータを抽出したい

    是非、よろしくお願いいたします。 以下の状況です。 sheet1には A、B、C、Dという4列があります。データは1000行くらいです。 sheet2には A、B、C、Eという4列があります。データは2000行くらいです。 この状況で、sheet1のD列の右に新しい列を作り、 「sheet1の(例えば)A1、B1、C1と合致する行のsheet2のE列データ」を、 sheet2のABC列範囲を検索して抽出したいのです。 項目が一つであればvlookup関数でできるものを「複数項目に合致」のため上手くいきません。 この3列のデータを結合して一つにしてみましたが、結合後のデータが16桁以上のため末尾が「0」になってしまい、正確に検索できません。 何か上記を可能にする方法はないでしょうか? よろしくお願いいたします。

  • エクセル 関数を使わずにデータを取りたい

    EXCELを使ってデータ入力をしたいです。 下の図のように、シート1のA列にコードを入力すると、シート2のテーブルから値を引っ張ってくるようにしたい。 たとえば、シート1のA1に"C001"を入力したら、B1に"赤"が自動入力されるようにしたい。 シート1 A列 B列 行1 C001 シート2 A列 B列 行1 C001 赤 行2 C002 青 行3 C003 黄色 ただし、シート1のB列の値は、入力後に編集するため、ここには計算式を入れたくないのです。 なので、通常ならばB列にVLOOKUP関数を使えばすむことですが、計算式を入れずに上記を実現する方法を教えてください。

  • Excel2002 全国分の一つのデータを、地域ごとにシートにわける方法

    たとえばA列に、北海道から沖縄まで地域が表示されているとして、 A     B    C ・・・ ⇒に何列もあります。 北海道   商品名  単価・・・ 東京 大阪 東京 北海道 愛知 ↓ 何千行もあります。 このようなフォームのデータが何千行もあるシートを、 オートフィルタでA列の地域で絞ったあと一つ一つ新しいシートにコピーするという作業が大変なため、ボタン一つで(一つじゃなくてもよいのですが)ささっといっぺんに地域ごとの複数のシートができるようなやりかたはないでしょうか?

  • 複数セルから特定の文字を検索して、その対象セルを抽出したい

    エクセルで関数、VBAを使用して、下記のようなDATA抽出を行ないたいのですが、どなたか、ご指導いただけないでしょうか。 たとえば、2種のシートが、各々、 <シート1>   列A   列B 行1 A1 ABCD-123 行2 B23 EFGH-456 行3 C456 あいうえお <シート2> 列A 列B 列C  列D  列E 行1 A1 A2 A3 行2 B23 C5 A4 行3 A5 B2 C456 ・・・・・・・となっている場合、 <シート2> の列D  行1 へ "A1"と入力(記載)がある場合、列Eに   ”ABCD-123”と表示(抽出)を行ないたい。 セルには、文字、数字、記号が入ります。 よろしくお願い致します。

  • EXCEL:ゼロ以外のデータを詰めて抽出する方法

    初めて投稿します。よろしくお願いいたします。 EXCEL2000を使用しています。 オートフィルタを使わずに 関数でデータを抽出する方法で悩んでいます。 下記<データ>が存在しています。 2行目がゼロ以外のものを、 別シート<抽出>に上から詰めて抽出したいのです。 <データ>   A列 B列 C列 D列 E列 1行 1  2  3  4  5  ←日付 2行 5  3  0  2  0  ←数字 <抽出>別シート   A列 B列  1行 1  5 2行 2  3 3行 4  2   ↑  ↑   日付 ゼロ以外 関数については中級レベルだと思います。 いろいろ試したのですが、関数を組み合わせてもなかなかうまくいきません。 どなたかご教授いただけないものでしょうか? よろしくお願いいたします。

  • 二つの検索値から別のシートに抽出する

    WinXP,Excel2000 下記のような表から例えば氏名コード(A列)103番と 日付(B列)2006/5/3からE列のデータ3.50を導きたい のですが、この場合検索値がA列・B列と2つあるので 同じシートに答えを出す場合は F3=SUMPRODUCT((A1:A9=F1)*(B1:B9=F2)*E1:E9)で できるのですが、別のシートに抽出するにはどうしたら よいでしょうか。ご教授ください。<m(__)m> A列 B列 C列 D列 E列    F列 1 100 2006/5/3 東京 8:10 8.00   103 2 101 2006/5/3 名古屋 9:10 7.25  2006/5/3 3 102 2006/5/3 大阪 7:45 5.00   3.50 4 103 2006/5/3 京都 10:30 3.50 5 104 2006/5/3 札幌 8:40 4.75 6 100 2006/5/4 福岡 8:45 5.00 7 101 2006/5/4 東京 9:05 6.25 8 103 2006/5/4 大阪 8:15 1.50 9 105 2006/5/4 横浜 10:15 3.00

専門家に質問してみよう