• 締切済み

エクセルで複数条件から別シートへの結果表示

早速ですがお願いいたします。 データシートに A B C D ・・・ 佐藤 りんご  固定    3月 山田 みかん  固定    4月 田中 りんご  変動1   4月 佐藤 りんご  変動2   4月 鈴木 みかん  固定    4月 佐藤 イチゴ  変動2   5月 山田 りんご  固定    5月 田中 イチゴ  変動1   6月 (実際のデータは10列以上ある為、省略しています) 上記のようなときに、別シートで 【C列が固定】のものと、固定以外で【D列が該当月(仮に4月)】に該当するものを列単位で 抽出したいと思っています。 月別でシートを作成したく、抽出したものはシートとして残したい為 フィルタではなく、関数などでこのような条件が複数のものを表示するには どうしたらよいでしょうか? 知恵をお貸し下さい。

みんなの回答

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

親の仇のようにお邪魔します。 数式で表示されているデータをそのまま並び替えをしても おそらく無理のはずです。 苦肉の策ですが、 仮にデータがSheet2に表示されている場合は 表示されている列すべてを範囲指定 → 右クリック → コピー → 他のSheet(仮にSheet3)のA1セルを選択 → 右クリック → 形式を選択して貼り付け → 「値」を選択しOK これだと生データになりますので、並び替えが可能になります。m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3・4です。 前回の投稿の中で >(尚、前回同様単に「4月」という文字列の場合はA2セルに「4月」と入力してください) としましたが、 その場合Sheet1の作業列A2セルの数式が変わります。 =IF(OR(D2=Sheet2!A$1,E2=Sheet2!A$2),ROW(),"") に訂正してください。 Sheet2の数式はそのままで大丈夫です。 何度も失礼しました。m(_ _)m

uzukisatuki
質問者

お礼

何度もありがとうございました。 シリアル値入力で、無事再現しシート名などを変更したもので バッチリいきました! 抽出が出来たので「固定」などを基準に並び替えしようとしたのですが(O列) 反応しませんでした。 すごく基本的なことなのかもしれませんが、関数の入ったセルは並び替えには 対応してないのでしょうか?関数内で並び替えも行わせないと並ばない?など 面倒でなければお返事いただければと思います。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 質問内容を早とちりしていました。 確かに前回の方法では「AND」条件になってしまいました。 「日付」の列はシリアル値で入れる方が一般的ではないのかな?と思いますので、 余計なお世話かもしれませんが、日付列がシリアル値の場合の方法を投稿してみます。 今回は↓の画像のようにA列を挿入(元のデータがB列以降にずれます)し、作業用の列として使っています。 そしてSheet2のA1セルに「条件1」をA2セルに検索したい月の数値のみを入力すれば表示されるように(s)ています。 (尚、前回同様単に「4月」という文字列の場合はA2セルに「4月」と入力してください) Sheet1の作業列A2セルに =IF(OR(D2=Sheet2!A$1,MONTH(E2)=Sheet2!A$2),ROW(),"") という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 (データ以上にコピーしておいても構いません) そしてSheet2のA4セルに =IF(COUNT(Sheet1!$A:$A)<ROW(A1),"",INDEX(Sheet1!B:B,SMALL(Sheet1!$A:$A,ROW(A1)))) という数式を入れ、列方向・行方向にオートフィルでコピーすると 画像のような感じになります。 ※ 今回は配列数式を使っていませんので、列全体を範囲指定しています) ※ Sheet1の作業列が目障りであれば非表示にしておきます。 参考になりますかね?m(_ _)m

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんにちは! 一例です。 ↓の画像で左側がSheet1で右側のSheet2に表示するようにしています。 Sheet2のG1・G2セルに検索条件を入力するとします。 Excel2007以降のバージョンだとすると Sheet2のA2セルに =IFERROR(INDEX(Sheet1!A$1:A$100,SMALL(IF(Sheet1!$C$1:$C$100=$G$1,IF(Sheet1!$D$1:$D$100=$G$2,ROW($A$1:$A$100))),ROW(A1))),"") これは配列数式になってしまいますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は A2セルに貼り付け後、数式バー内で一度クリック! 編集可能になりますので、Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 このA2セルを列方向・行方向にオートフィルでコピーすると 画像のような感じになります。m(_ _)m

uzukisatuki
質問者

お礼

画像まで用意いただき、わかりやすい説明ありがとうございました。 教えていただきました方法でバッチリ再現しました。 ただ、いただいたやり方ですと「条件1と条件2」の両方を満たしたものしか表示されないようで 「条件1」と「条件1以外で条件2」を満たすものは表示できないようでした。 私の説明不足で、せっかく解答いただいたのに申し訳ございません。 教えていただいたのは、条件2つを満たす検索シートを別途作成予定でしたので そちらで活用させていただきます。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

お示しのデータがシート1のA列から例えばL列まででデータは2行目から下方にあるとして作業列を作って対応します。 初めにお求めの表をシート2に作成するとしてシート2のA1セルには抽出の条件とでも文字列を入力し、B1セルには固定が優先して表示したければ固定と入力します。C1セルには取り出したい該当の月を4月なら4月と入力します。 そこでシート1での作業列ですがM2セルには次の式を入力してN2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(COLUMN(A1)=1,IF(AND($C2=Sheet2!$B$1,$D2=Sheet2!$C$1),MAX(M$1:M1)+1,""),IF(COLUMN(A1)=2,IF(AND($C2<>Sheet2!$B$1,$D2=Sheet2!$C$1),MAX($M:$M,$N$1:$N1)+1,""))) お求めの表のシート2の2行目はシート1の項目名を並べます。 A3セルには次の式を入力してL3セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>MAX(Sheet1!$M:$M,Sheet1!$N:$N),"",IF(ROW(A1)<=MAX(Sheet1!$M:$M),IF(INDEX(Sheet1!$A:$L,MATCH(ROW(A1),Sheet1!$M:$M,0),COLUMN(A1))="","",INDEX(Sheet1!$A:$L,MATCH(ROW(A1),Sheet1!$M:$M,0),COLUMN(A1))),IF(INDEX(Sheet1!$A:$L,MATCH(ROW(A1),Sheet1!$N:$N,0),COLUMN(A1))=0,"",INDEX(Sheet1!$A:$L,MATCH(ROW(A1),Sheet1!$N:$N,0),COLUMN(A1))))) これでシート1にデータが入力されれば該当の月のデータのみが区分けされて表示されます。

uzukisatuki
質問者

お礼

細かくありがとうございます。 今実際に試しているのですが(いただきましたL列までのデータ状況などを再現し、コピペで再現するように調整してから) 私の操作がどこか悪いらしく、シート1のMセル・Nセルへのコピペ。シート2のA3セル以降へのコピペを 完了しても、空白のままでした。 ただデータシートを一行消したりすると、エラーを出すようなので 私のやりかたがどこか悪いみたいなのですが・・・ また区分けして表示されるのはすごくありがたく そこまで質問するのは欲張りかと、あとでソートしようとしていた為 すごく助かります。 どうにか再現できるようもう少し粘ってみたいと思います。

uzukisatuki
質問者

補足

質問主です。 すいません、どうにかと思い作業していてM2セル、N2セルへいれた式の中で M1、N1を参照しているようなのですが、この二つは空欄(1行目は項目名でL列までの為) なのですが、そのまま空欄でよかったでしょうか?

  • aokii
  • ベストアンサー率23% (5210/22062)
回答No.1

ピボットテーブルを使ってみてください。

uzukisatuki
質問者

お礼

こんな機能もあるんですね。 アドバイスありがとうございます。 勉強になりました。

関連するQ&A

  • Excelの2つのシートのデータ-を。。。。。

    1つのシートには 鈴木さん  住所・・・・ 山田さん  住所・・・・ 田中さん  住所・・・・ というリストが3000人分ほど入っています 別のシートには 鈴木さん  りんご 鈴木さん  とまと 鈴木さん  みかん 山田さん  りんご 田中さん  いちご 田中さん  とまと 田中さん  りんご 田中さん  みかん と、言った感じで同じ人物が縦書きで複数回登場します 実際はフルネームなので別人が重なることはありません で、です。 別のシートでも1枚目のシートにでもいいのですが 鈴木さん  住所・・・   3 山田さん  住所・・・   1 田中さん  住所・・・   4 と、列に2枚目のシートでの登場回数を反映させたいのです。 なにせ3000件あまり、手作業ではなく、関数を使ってする方法はないでしょうか、、、 もう少し欲張ると             りんご とまと みかん いちご  鈴木さん 住所 3    1  1   1 山田さん 住所 1       1 田中さん 住所 4    1  1   1   1 ってな事は、できませんか。    

  • エクセルで条件に合うものを別シートに抽出(関数)

    希望日    りんご   ばなな   みかん   担当   配達チェック 6月1日      2             1     山田 6月3日             4      2     佐藤       6月1日      3                   山田      済 6月2日             1            佐藤  6月2日                    2     山田 というデータがsheet1に入力されています。 <条件>  ・担当 山田のもの  ・6月2日以前(このデータでは1日と2日)  ・配達チェックが済でないもの(空白です) この条件を満たすものをsheet2に抽出したいのです。 希望日    りんご   ばなな   みかん   担当   配達チェック 6月1日      2              1     山田 6月2日                    2     山田 とsheet2に表示させるには関数でできますか? できれば、セル参照でA1セルに6月2日、B1に山田と入力すると抽出されるととても便利なのですが・・・。 皆様のお知恵を拝借させてください!!

  • excelでシートから別シートに抽出する方法

    データシートに A   B    C 佐藤 りんご  25個 木村 オレンジ 3個 伊藤 メロン  12個 伊藤 スイカ  2個 佐藤 イチゴ  40個 佐藤 マンゴー 8個 というデータがあったとします。 それを別のシートに A   B    C 佐藤 りんご  25個    イチゴ  40個    マンゴー 8個 また別のシートに A   B    C 伊藤 メロン  12個    スイカ  2個 といったようにAに佐藤とか伊藤とか入力するだけでB、Cが自動で抽出できるようにできますか? 出来れば関数の入力でやりたいのですがわかる人がいましたらご教授ください。

  • Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さ

    Excel2003 複数の条件を満たすデータを抽出する関数を教えて下さい! 下のデータで、A列でB、B列で赤を選んだ人は「みかん」という「みかん」を抽出する関数を教えて頂けませんでしょうか? データシートとは別に集計シートを作成しています。 お忙しい中恐れ入りますが、ご教示下さいますようお願い申し上げます。。。 ●データ A B C 1 A 赤 みかん 2 B 赤 りんご 3 C 白 いちご 4 B 青 いちご 5 D 赤 みかん 6 A 青 みかん 7 C 黄 りんご 8 E 赤 バナナ

  • Excelで複数条件で抽出した複数データを出力

    Excelで複数条件で抽出した複数データを出力したい Shett1のセルAとセルBの複数条件で、Sheet2を検索し一致したSheet2のセルCを Sheet1の該当するセルCに入れたいのです。 それを関数でするのはどうしたらいいのでしょうか? Sheet1 A B NAME ID(タイトル) いちご A01 いちじく A02 かき B01 すいか C01 なし D01 ぱいなっぷる E01 ばなな E02 ぶどう F01 みかん G01 めろん H01 もも I01 りんご J01 Sheet2 A B C 名前 ID 漢字(タイトル) みかん G01 蜜柑 いちご A01 苺 ぶどう F01 葡萄 りんご J01 林檎 もも I01 桃 かき B01 柿 なし D01 梨 すいか C01 西瓜 いちじく A02 無花果

  • EXCEL VBA 複数列を2列にまとめる

    下記のようなデータ(列数も行数も常に変わり、固定ではない)を ┌───────────────── │ A 列  | B列   | C列   | D列 ├─────────────────── │ 1 │伝票01 │品名01 | 品名02 │品名03 ├─────────────────── | 2 │0011 │みかん │みかん | りんご ├─────────────────── │ 3 │1001 │りんご  │いちご |    ├─────────────────── │ 4 │1100 │いちご  │みかん | ぶどう  └─────────────────── ↓のように2列にまとめる方法はございますでしょうか?VBAを希望しております。   よろしくお願い申し上げます。 ┌───────────────── │ A │ B   ├───────────────── │ 1 │伝票  │品名 ├───────────────── │ 2 │0011_品名01 │みかん  ├───────────────── │ 3 │1001_品名01 │りんご    ├───────────────── │ 4 │1100_品名01 │いちご ├───────────────── │ 5 │1001_品名02 │みかん  ├───────────────── │ 6 │1100_品名02 │いちご  ├───────────────── │ 7 │1001_品名02 │みかん  ├───────────────── │ 8 │1100_品名03 │りんご  ├───────────────── │ 9 │1001_品名03 │  ├───────────────── │ 0 │1001_品名03 │ぶどう  ├─────────────────

  • Excel データの個数を複数条件付きでカウントしたい

    OS:XP Ver.:Excel2003 Excelの関数で質問です。 いろいろ調べたのですがどうしてもわかりません。 お知恵をご拝借下さい。 A B C D 1月 2月 3月 りんご 250 0 300 みかん 150 80 0 りんご 88 150 200 いちご 0 300 85 ぶどう 0 350 89 (確認画面にするとずれてしまいますが、A列には品名、B~D列には月が入るようになっています。) 上記のような元データがあり、(実際はもっとたくさん) 1月    2月    3月 りんご みかん いちご ぶどう (こちらもずれてしまいますが、それぞれの月の品名ごとの集計を入れたいのです。) のような表を完成させたいと思います。 (1)表に入れるのは、合計数量ではなく【データの個数】です。 1月のりんごは2、みかんは1、という感じです。 ただし、0はカウントしたくないので、1月のいちごとぶどうは0を 返してほしいのです。 countifやsumproductなど考え付くあたり試してみましたが、うまくできません。 どういう数式(関数)を入れればよいのでしょうか? (2)2月以降のデータ範囲を指定する場合はどうすればいいのでしょうか?  1月ならA2:B6とするのかもしれませんが、2月の場合は1月列(B列)が不要ですよね?

  • 条件に合う行を別シートに抽出

    エクセルで条件に合う行を別シートに抽出したいです。  出荷確認シートとします。     A    B   C    D    E    K    M   N   O     P   抽出列  No.  件名  工事店  出荷  確認  担2  担3  名称   作業列・・・・OKで番号 30行 OK 101-1 ふじ  あああ        OK     松田  みかん    1            以降     101-2 ふじ  あああ              松田  りんご                OK 102-1 ビル  いいい       OK     伊藤  いちご      2            OK 103-1 神社  ううう         OK     神田  アイス     3               103-2 神社  えええ               神田  レモン                    ・  ・    ・       ・      ・    ・     ・         ・  ・    ・       ・      ・    ・     ・        OK   ・  ・    ・             OK    ・     ・       4 上記がSheet1に入力されています。 条件1  ・Sheet1K列 確認でOKを入力された行をSheet2に抽出したいのです。       B   C     D    E    M    N    O            No.  件名  工事店  出荷   担2   担3  名称          101-1 ふじ  あああ            松田   みかん        102-1 ビル  いいい           伊藤   いちご              103-1 神社  ううう             神田   アイス  条件2  ・Sheet1K列 随時OKを入力された行をSheet2に追加           101-1 ふじ  あああ         松田   みかん        101-2 ふじ  あああ         松田   りんご       102-1 ビル  いいい        伊藤   いちご             103-1 神社  ううう         神田  アイス       103-2 神社  えええ          神田  レモン             条件3  ・出荷を確認後はその行を削除しますので、残りのOK分をSheet2に抽出後したもの       101-1 ふじ  あああ         松田  みかん         101-2 ふじ  あああ         松田  りんご       103-1 神社  ううう          神田  アイス とSheet2に表示させたいです。 A抽出列には=IF(B30="","",TEXT(B30,"OK"))を入力し、Sheet1P作業列がK列に OKを入力されるたびに番号が記入され、順序を行頭から若番として、A抽出列とP作業列を参照等 しながらと頭の中ではイメージしていますが・・・。 過去の分を検索したら、似たようなので逆のパターンがありました。 エクセルは2000です。文字位置が上手く合ってないですが 皆様のお知恵をお願いいたします。

  • エクセル 2枚のシートの違いを抽出したい

    目を通していただきありがとうございます。 エクセルは全く詳しくないため、質問させていただきます。 sheet1とsheet2に各2000行ほどの表があります。 sheet1 A列(商品) B列(産地) C列(定価) D列(特価) E列(数量)  みかん    愛媛     100      80       500  みかん    静岡     120      85       400  オレンジ  アメリカ     150      90       100   sheet2 A列(商品) B列(産地) C列(定価) D列(特価) E列(数量)  みかん    愛媛     100      80       300  オレンジ  アメリカ     150     100       100  いちご     福岡     300     150       100  みかん    静岡     120      70       400 それぞれ「1行目のみかん」はA~D列まで同じ値で、E列のみの違いですので、 抽出の必要はありません。 sheet2の3行目のいちごはsheet1にはありませんので、これも抽出の必要はありません。 sheet1の2行目とsheet2の4行目のみかん、 sheet1の3行目とsheet2の2行目のオレンジ、はD列(特価)の違いがあります。 この<D列のみ違いがある>ものを行単位でsheet3に抽出したいのですが、 何か良い方法(関数等)がありましたら、教えていただけないでしょうか? なお、表題に「エクセル」と書きましたが、実際はKingsoftのSpreadsheets 2012を使用しています。 基本的な関数でしたらそのまま使えるようですので、エクセルとして書かせていただきました。 よろしくお願いいたします。     

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

    エクセル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にぎっしり入っています。 宜しくお願い致します。

専門家に質問してみよう