• ベストアンサー

エクセル 抽出した値を別々に表示させたい

macchan1の回答

  • ベストアンサー
  • macchan1
  • ベストアンサー率38% (52/136)
回答No.9

これまでの例示されたデータなら問題なく抽出できるのですが、レイアウトが変われば当然ご希望の結果が得られません。 このようなご質問では「例えば」ではなく、できる限り実際のデータ形式を例示した方が的確な回答が得られると思います。 特にマクロで対応する場合は、当然ですがセル位置などが違うとうまく作動しませんのでご注意ください。 提示した数式の説明をすると(配列数式の意味はわかるという前提で)、 =INDEX(Sheet3!$C$1:$C$100,SMALL((Sheet3!$A$1:$A$100=$A1)*(Sheet3!$B$1:$B$100=$B1)*ROW($A$1:$A$100),SUMPRODUCT((((Sheet3!$A$1:$A$100=$A1)*(Sheet3!$B$1:$B$100=$B1))=0)*1)+COLUMN(A1)),1) (Sheet3!$A$1:$A$100=$A1)*(Sheet3!$B$1:$B$100=$B1)*ROW($A$1:$A$100)の部分は Sheet3のA1~A100セルの値がA1セルと等しい配列*Sheet3のB1~B100セルの値がA1セルと等しい配列は両方が成立する配列を返します。それにROW($A$1:$A$100)を掛けるとその条件の行番号の配列が求められます(すなわち、両方の条件が成り立つ行の数字の配列が求められ成立しないところは0が返る)。 SUMPRODUCT((((Sheet3!$A$1:$A$100=$A1)*(Sheet3!$B$1:$B$100=$B1))=0)*1)の部分は2つの検索条件に一致しないデータの個数を求めています。 SMALL(上記の配列,上記の一致しないデータの個数+COLUMN(A1)) の式は、上記の配列を小さい順に並べて、0以外の数値を除いた一番小さい数(COLUMN(A1)は1を返す、その右の列は2)になるので、2つとも一致するデータで一番初めに出てくるデータが何行目にあるかが求められます。 最後に=INDEX(Sheet3!$C$1:$C$100,SMALL関数の返す行数,1)でSheet3!$C$1:$C$100の中から該当するデータを抽出しています。 こちらではデータシートの詳細なレイアウトが分かりませんので、実際のレイアウトに沿った数式に変更してみて下さい。

関連するQ&A

  • EXCELで範囲内にある値を検索してA列の値を返す

    タイトル通りなのですが、OSはXPでEXCEL2000を使用しています。 シート内ですが 1.A列には文字列が入っています。200行まで空白は無いです。 1.B列からL列の200行までに数字がランダムに入っています。 2.数字は1~500までです。 3.行によってはL列まですべてのセルに値が入ってません。  数字の入っていないセルは空白です。 4.数字の重複はありません。 やりたいことは 別のシートのA列に1~500までの数字を入れ、B列に上記範囲の中からその数字を検索して、その行のA列の値を返したいのですが、出来ません。 どの関数を組み合わせれば出来るのでしょうか? vlookupの検索範囲は1列だけなのでダメでした。 よろしくお願いします。

  • 条件に合った値を抜き出すには

    例えば、A列に縦に並んだデータのシートが数十枚あります。 その各シートのデータの先頭の値と、 指定する値(複数あります)に当てはまったデータだけを新しいシートに抜き出す方法はありますでしょうか? A列に縦に続くデータ 0 1 2 3 4 5 ・ ・ ・ 上記データのより <複数の条件を指定する〉 0123           ○→全て該当するので抜き出す 012345         ○→全て該当するので抜き出す 123456         ×→全て該当しないので抜き出さない (全て文字列モードで表示できる方法があれば嬉しいです)

  • Excel VBAで値が重複する行を削除する

    Excel2000を使っています。 シートAに数千件のデータがあります。 シートBのE列にある文字とシートAのD列の文字が重複する場合に、シートAの重複するセルがある行を削除する(且つできれば行のデータを抜き出すVBAを作ろうと考えています。 最近VBAの初心者本をやっと理解したところで、ちんぷんかんぷんとまではいかないけど、知恵熱がでました。 仕事なので自分でなんとかすべきかと思いますが、きっかけの調べ方がまずわからない。 どなたか、解かるきっかけだけでも与えて頂けないでしょうか。とくに、別シートの値と重複する値を探す場合に何をいれるかわかればきっと道は開けると思うんですが…。 初めての質問なので、質問内容が至らなかったらもうしわけありません。

  • EXCELで別シートから値の一致しないデータを抽出する方法

    Sheet1のA列に A1 123 A2 456 A3 789 のデータが入力されており、Sheet2のB列に B1 666 B2 123 B3 888 B4 999 B5 456 B6 888 のデータが入力されている場合に、 下の表のように、Sheet1のA4以降のセルにSheet2のB列から ・Sheet1のA1~A3に一致しないデータ ・Sheet2のB列で重複しないデータ ・降順 の3点の条件で抽出する方法を関数で教えてください。 よろしくお願いします。 Sheet1 A1 123 A2 456 A3 789 A4 999 <-ここからSheer2のデータでA1~A3以外の値でSheet2の重複をさけて降順で表示させたい A5 888 A6 666

  • エクセルで 二行の値をマッチさせるには?

    A列とB列があるとして、それぞれランダムな数字が入っています A列には100個の値、B列には150個の値が入っていて、 Bの列にはA列の値がすべて入っています A列の値が、B列に存在するか検索し、 A列の値がB列になかった場合、印をつけるか 削除(「-」かなにかに置換でもよい)できるような関数はありますか? 例) こういうデータを A   B 1   9 2   8 3   7 4   6 5   5 6   4 7   3    2    1 こうしたい A   B 1   1 2   2 3   3 4   4 5   5 6   6 7   7 該当なしの値(8,9)は 最終的に抹消したいのです ----------- MATCHでは、検索値が一つしか入れられず A列すべての値を、B列すべてにマッチできませんでした (やり方が悪かったのかも) IFで、Aの値がBに存在すればTRUE、存在しなければ「-」に置換 ・・・・というのをやってみたのですが、 たぶん書き方が悪くて(?)うまく動きませんでした 私は独学で基礎をきちんと理解できているか 自分で自信がないのですが、どうぞよろしくお願いします

  • エクセルマクロで条件に該当する数値を探す

    エクセル初心者です。 シート1のA1~A18に1~18の数値がランダムに入っています。(重複した値は無し) シート2の3行目C3~T3にも1~18の数値がランダムに入っています。(空欄あり、重複した数値は無し) シート2の2行目C2~T2までは左から順に1~18の数値が入っています。(順位表示) 以上の条件下で下記の作業をマクロで実行させる式を教えてください。 シート1のA1~A18の値と同じ値を、 シート2の3行目C3~T3の中からどのセル(列)に入っているかを確認して、さらに該当する列の2行目C2~T2の値を、シート3の1行目A1~R1に表示させる。 例:シート1のA1=3、A2=2、A3=1の時、 シート2のC3=3、D3=1、E3=2でした。 シート2のC2=1、D2=2、E2=3です(この行の数値は毎回同じ) 上記の時シート3にはA1=1、B1=3、C1=2となります。 *シート1のA列A1~A18とシート3の1行目A1~R1の位置関係はリンクしています。(列→行) シート1 A列 1 3 2 シート2   A列 B列 C列 D列 E列 2行見出し見出し1  2  3 3行見出し見出し3  1  2 シート3 A列 B列 C列  2  1  3 ご理解頂けたでしょうか? 初心者ですので分かりやすい回答を宜しくお願いいたします。

  • Excelでのデータ抽出

    Excelに複数シートがあり、各シートには以下の内容が記載されてます。  A列 伝票No.  B列 日付  C列 担当者  D列 型番    ・    ・    ・ B列で任意の日付を検索し該当する値があれば、その行(A~D…列)を別シートにコピーし抽出したいのです。 VBAを使ってやりたいのですがどうしたらよいでしょうか? よろしくお願いします。

  • Excelで一つのシートに複数のリストを作成し、別のところにその集計表

    Excelで一つのシートに複数のリストを作成し、別のところにその集計表を作成したいです。リスト(1)はA列に文字列(例えば社名とか)B列に数字、リスト(2)はD列に文字列E列に数字です。集計表は、G列に各リストの文字列を重複分を除いて抽出して表示させ、H列には数字(重複文字列の数字は合計します)が表示されるようにしたいです。どのようにしたらいいでしょうか?参考URLでもいいのでお願いします。

  • エクセルでのマクロを教えて

    下記のようなものをみたすマクロは組めますか? ファイルにシートが何種類かあります。 sheet1には各店の集計データーがあります。 その中にA列には集計の項目名がAZ列まであり 1行目には店舗名が10種類あります。 sheet2からはsheet名をsheet1に記入されている1行目にしている店舗名にしてあります。 またA列には集計の項目名がありますが sheet1にある項目と全く同じではなく 項目は少なくなっています。 また、sheet2からの店舗名にはsheet1の集計表にはない 店舗名もあります。 このsheet1のデーターをもとに sheet2の1行目の項目と一致する項目の値や数字を sheet1からコピーするというものです。 よろしくお願いします。

  • エクセルで、規則性はあるのですが、数字と文字が混在しているものを重複しないように抽出したいのですが。

    エクセルで、シート1に列A(数値)と列B(文字列)を結合したものが、 列C(列A&列B)であります。 これをシート2で列Cの文字列が重複しないように抽出したいのです が、どうしたらよいのでしょうか? シート1     列A  列B  列C 行1  項目A 項目B 項目C 行2  2   CC  2CC 行3  3   AA  3AA 行4  5   BB  5BB 行5  7   PP  7PP 行6  2   CC  2CC 行7  5   AA  5AA これをシート2で、     列C 行1  項目A 行2  2CC 行3  3AA 行4  5BB 行5  5AA 行6  7PP このように重複するものを統合した形でまとめたいのですが、 わかるかたがいれば教えてもらえないでしょうか?