エクセル関数で複雑な表からデータを抽出する方法

このQ&Aのポイント
  • エクセル関数を使用して、複雑な表からデータを抽出する方法を教えてください。
  • シート1の★c列に関数を入れて、<シート2>のb列のデータを抽出する方法を教えてください。
  • もし、<シート2>のb列の文字が複雑になった場合でも、<シート1>の★c列にデータを抽出する方法を教えてください。
回答を見る
  • ベストアンサー

★エクセル関数に詳しい方、よろしくお願いします

★エクセル関数に詳しい方、よろしくお願いします はじめまして質問を利用させていただきます。 エクセル関数に詳しい方、どうか教えてください。 いつもこの質問コーナーをヒントに↓の関数を作成して、シート1の★c列に 値を抽出することができました。 <シート1>の★c列に関数を入れて、a列、b列の一致したデータを<シート2>から抽出 =INDEX(シート1!c$2:c$10,MATCH(2,MMULT((シート2$a2:F$a10=a2:b2)*1,{1;1}),))    <シート1>           <シート2 データ> a列  b列   ★c列      a列  b列    c列 101  キウイ  北海道    101  キウイ  北海道 201  キウイ  沖縄県    101  ばなな  北海道 101  ばなな  北海道    101  オレンジ 北海道 201  ばなな  沖縄県    101  いちご   北海道 101  オレンジ 北海道    101  メロン   北海道 201  オレンジ 沖縄県    201  キウイ   沖縄県 101  いちご  北海道     201  ばなな  沖縄県 201  いちご   沖縄県    201  オレンジ 沖縄県 101  メロン   北海道     201  いちご  沖縄県 201  メロン   沖縄県     201  メロン   沖縄県 **********************************************  この下からが質問内容になりますm(_ _)m ********************************************** しかし、表が少し複雑になってしまい、 上で作成した関数が使えなくなってしましました。 ●<シート2>のb列の文字が複雑になってしまった場合、 <シート1>の★c列に、うまくデータを抽出することはできますでしょうか? <シート1>          <シート2 データ> a列  b列   ★c列    a列   b列     c列 101  キウイ  #N/A    101  甘いキウイ 北海道 201  キウイ  #N/A    101  甘いばなな 北海道 101  ばなな  #N/A    101  オレンジ   北海道 201  ばなな  #N/A    101  いちご小   北海道 101  オレンジ #N/A    101  メロン小   北海道 201  オレンジ #N/A    201  黄色キウイ 沖縄県 101  いちご   #N/A    201  ばなな小  沖縄県 201  いちご   #N/A    201  オレンジ大 沖縄県 101  メロン   #N/A    201  いちご大  沖縄県 201  メロン   #N/A    201  メロン大   沖縄県 もし、ご存知の方がいらっしゃいましたら、どうかご教示願います。 どうかよろしくお願いいたします。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

今の式をそのまま応用すると B1: =INDEX(Sheet2!$C$1:C$10,MATCH(2,MMULT(ISNUMBER(FIND(A1:B1,Sheet2!$A$1:$B$10))*1,{1;1}),0)) のようになります。 データは(掲示された式を少し手直しして)1行目から10行目まであるとしています。

riri-maronmaron
質問者

お礼

早速のご回答、ありがとうございます。 keithinさんの関数で、上手くデータを抽出をすることができました。 自分では上手くできなくて、困っていたんですが、とても助かりました。 本当にありがとうございます。

関連するQ&A

  • ★関数について教えてください(追加のお願いです)

    先ほどもこちらで質問をさせていただいたものです。m(_ _ )m  <質問★エクセル関数に詳しい方、よろしくお願いします>にて・・・  <回答していただいた関数>    =INDEX(Sheet2!$C$1:C$10,MATCH(2,MMULT(ISNUMBER(FIND(A1:B1,Sheet2!$A$1:$B$10))*1,      {1;1}),0)) 上記の関数を教えていただき、無事に解決をいたしました。 こちらの質問掲示板で初めて投稿させていただきましたが、 とても早くご回答を頂き本当にありがとうございます。 ********************************************************************************* 追加のお願いなのですが・・・ 今度は、<シート1>のb列の名前も複雑になった場合、★c列を抽出することは可能でしょうか? ********************************************************************************* <シート1>            <シート2 データ> a列  b列      ★c列    a列   b列     c列 101  キウイA   #N/A    101  甘いキウイ 北海道 201  キウイB   #N/A    101  甘いばなな 北海道 101  ばななA   #N/A    101  オレンジ   北海道 201  ばななB   #N/A    101  いちご小   北海道 101  オレンジ   #N/A    101  メロン小   北海道 201  オレンジ   #N/A    201  黄色キウイ 沖縄県 101  いちご     #N/A    201  ばなな小  沖縄県 201  いちご     #N/A    201  オレンジ大 沖縄県 101  メロンA    #N/A    201  いちご大  沖縄県 201  メロンB    #N/A    201  メロン大   沖縄県 また、関数に詳しい方がおられましたら、どうかご教示お願いいたします。 m(_ _)m

  • エクセル関数 データの抽出について

    エクセル2010 重複データの抽出。 重複データの抽出方法をご教示ください。 抽出先はシート1のA列A3~抽出データの分だけ リストはシート2のB2:AB32まで フィルターオプションなども使ってみたのですが どうも上手くいきません。 どなたか知恵をお貸しください。 方法はできれば関数だといいのですが(データが増えてもいいように) できなければ他の方法でもいいです。 VBAなどは全くの初心者なので出来れば避けたいのですが… シート2     A    B   C    D~AB32 1  "" 2 いちご ばなな いちご りんご 3 みかん いちご ばなな いちご 4 りんご ばなな いちご みかん 5 みかん いちご ばなな りんご 6 ばなな ばなな りんご いちご : : 32 シート1(重複データなし)  A 1  "" 2  "" 3 いちご 4 みかん 5 りんご 6 ばなな 7 : : 抽出リストのデータはシート2のB2:AB32にぎっしり入っています。 宜しくお願い致します。

  • Excelでどのような関数を使えばいいでしょうか。

    関数について教えて下さい。 Excelで、同じBook内に以下のような2シートがあるときに、 (Sheet1)    A   B    C   D     1  1  あい   12  りんご 2     うえ   34  みかん   3     おか   56  イチゴ 4  1  おか   78  イチゴ (Sheet2)    A   B    C    D     1     あい   11   りんご 2     うえ   34   みかん   3     おか   78   イチゴ 4     うえ   34   みかん  Sheet2のA列にSheet1にあるデータを入れたいのです。 まず、列B,C,Dのそれぞれのデータが横に3つ一致するものを探して 横3つのデータが同じなら、Sheet2のA列に、 Sheet1のA列にあるデータをシートBにも持ってくる、 というようなイメージです。 (Sheet2)    A   B    C    D     1     あい   11   りんご 2     うえ   34   みかん   3  1  おか   78   イチゴ 4     うえ   34   みかん      ↑このようにしたいのです。 A列にどのような関数を入れればいいのでしょう。 (A列にあるのは1か空欄かのどちらかです。 同じ3つの組み合わせで、1の場合と空欄の場合両方があることはありません。) また、Sheet2には、A列に1とついた行に色を付けたいのです。 例えば、上記の例ですと Sheet2のB3:D3のセルに色をつけたいのです。 関数や条件付書式などで、できますでしょうか。

  • Excelでこのようなときはどんな関数にすればよいでしょうか

    同じブック内で以下のような2シートがあるときに、 (シートA)    A   B    C    1  あい  123  りんご 2  うえ  456  みかん   3  おか  789  イチゴ (シートB)    A   B    C    1  あい  123  めろん 2  えお  456  みかん   3  おか  789  イチゴ 横に並んだ3項目が同じものにだけ、(シートB)のセルに色を付けたいのです。 (上記の例だと、3行目が3項目とも一致しているということです) 色は横3つのセルにつけられなければ、A列のセルだけでも構いません。 (上記の場合、色をつけたいのはシートB「おか」のセル) 列を増やすなど、処理用のデータが必要でも非表示にすればいいので その点は構いません。 関数や条件付書式などで、なんとかなりますでしょうか?

  • C列の要素によって、3枚のシートに振り分ける

    シート1に顧客の名簿がずらっと一覧で入っているとします。 例えばA列…名前、B列…住所、C列…買った物(いちご、メロン、すいかの3種類)、D列…備考   A列      B列     C列    D列  山田太郎   山梨県   いちご   新規さん(5月)  鈴木良子   北海道   メロン     -  田中浩史   東京都   すいか   常連さん  高橋幸恵   京都府   すいか    -  本田一郎   長崎県   バナナ    -  … というような一覧が数百人分入っているとします。 これをC列の要素によって、シート2~4に自動的に振り分けたいのです。 例えば「シート2」は「いちごを買った人一覧」に、「シート3」は「メロンを買った人一覧」にしたい、 それが、C列に「いちご」などと入力した瞬間に自動的にシート2に反映されるようにしたいです。 もちろんA列やB列、D列の要素をともなったまま。 また隙間を空けずにいちごを買った人が全部で52人なら52行でぴたりと収まるようにしたいです。 そのためにはシート2(もしくは3~4)のC列に、何らかの関数を入れればいいでしょうか? またどんな関数を入れたらいいでしょうか。 よろしくお願い申し上げます。

  • エクセルのセル参照で

     A列   B列 C列   1      いちご   =sheet2!A1 2 食堂(1)  ばなな   =sheet2!A2 3      合計    =B1+B2 4      いちご   =sheet2!A3 5 食堂(2)  ばなな   =sheet2!A4 6      合計    =B4+B5        ・        ・        ・ と続くのですが、C列でC1とC2をコピーしてC4・C5に 貼り付けると=sheet2!A4・=sheet2!A5 となってしまいます。 C列が1000行ありますので、これを一括で 入れられる計算式はありますでしょうか? 食堂(3)からも、=sheet2!A5、=sheet2!A6と規則的に 続いていきます。 よろしくお願いいたします。

  • どの関数を使えばいいかわかりません。

    漠然としたタイトルですみません。 たとえば・・・      A     B    C     D       1班    2班   3班   4班    オレンジ  キウイ  チェリー さつまいも    にんじん  りんご  みかん  いちご    もも    なし   すいか  メロン とあった場合、もし、例えば『りんご』をF列に入れ、この表から探し、その列の列タイトルを隣のF列に表示したい。    ↓     E   F    りんご  2班    すいか  3班           これはどのような関数を使えばよろしいでしょうか? よろしくお願いします。

  • Excel 関数 照合した結果がどこにあるのか表示したいのですが

    照合したいデータがあります。 A列とB列のセルを照合の結果、B列のセルがA列のどこにあるか、C列に行番号を表示したいのですが。 どのような関数がいいのか教えてください。よろしくお願いします。   A列   B列   C列 1 リンゴ みかん  2 2 みかん いちご  4 3 バナナ レモン  6 4 いちご メロン  5 5 メロン ぶどう  × 6 レモン

  • VLOOKUP関数についての質問です。

    VLOOKUP関数についての質問です。 例えば、シート1に、 A列    B列  C列 番号  品物  送り先 1   ばなな スーパー 2   ミカン 学校 3   イチゴ ケーキ店  あるとします。 VLOOKUP関数を用いて、 シート2に A列    B列 送り先  品物 ・   ・ ・   ・ ・   ・ とそれぞれ入力したいとして、以下のセルも同様の式を使い入力しますが いちいち式を立てて入力していくと大変です。 セルにVLOOKUP関数をコピーして使うにはどうしたらいいですか?? お願いします。

  • エクセルで並び順について。

    A B 1 2 1りんご    2イチゴ 3 2イチゴ    3バナナ 4 3バナナ    9柿 5 4キウイ    6マンゴ 6 5なし     7びわ 7 6マンゴ 8 7びわ     5なし 9 8メロン       10 9柿 エクセル上でAの列と同じ並び方(同じ行)でBも並べたいのですが、 一番早い方法を教えてください。 ちなみに大量のデータがあるので、関数とかがあれば助かります。

専門家に質問してみよう