- 締切済み
エクセルで複数条件から別シートへの結果表示
早速ですがお願いいたします。 データシートに A B C D ・・・ 佐藤 りんご 固定 3月 山田 みかん 固定 4月 田中 りんご 変動1 4月 佐藤 りんご 変動2 4月 鈴木 みかん 固定 4月 佐藤 イチゴ 変動2 5月 山田 りんご 固定 5月 田中 イチゴ 変動1 6月 (実際のデータは10列以上ある為、省略しています) 上記のようなときに、別シートで 【C列が固定】のものと、固定以外で【D列が該当月(仮に4月)】に該当するものを列単位で 抽出したいと思っています。 月別でシートを作成したく、抽出したものはシートとして残したい為 フィルタではなく、関数などでこのような条件が複数のものを表示するには どうしたらよいでしょうか? 知恵をお貸し下さい。
- uzukisatuki
- お礼率66% (4/6)
- オフィス系ソフト
- 回答数6
- ありがとう数6
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
親の仇のようにお邪魔します。 数式で表示されているデータをそのまま並び替えをしても おそらく無理のはずです。 苦肉の策ですが、 仮にデータがSheet2に表示されている場合は 表示されている列すべてを範囲指定 → 右クリック → コピー → 他のSheet(仮にSheet3)のA1セルを選択 → 右クリック → 形式を選択して貼り付け → 「値」を選択しOK これだと生データになりますので、並び替えが可能になります。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
No.3・4です。 前回の投稿の中で >(尚、前回同様単に「4月」という文字列の場合はA2セルに「4月」と入力してください) としましたが、 その場合Sheet1の作業列A2セルの数式が変わります。 =IF(OR(D2=Sheet2!A$1,E2=Sheet2!A$2),ROW(),"") に訂正してください。 Sheet2の数式はそのままで大丈夫です。 何度も失礼しました。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
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)
こんにちは! 一例です。 ↓の画像で左側が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
お礼
画像まで用意いただき、わかりやすい説明ありがとうございました。 教えていただきました方法でバッチリ再現しました。 ただ、いただいたやり方ですと「条件1と条件2」の両方を満たしたものしか表示されないようで 「条件1」と「条件1以外で条件2」を満たすものは表示できないようでした。 私の説明不足で、せっかく解答いただいたのに申し訳ございません。 教えていただいたのは、条件2つを満たす検索シートを別途作成予定でしたので そちらで活用させていただきます。
- KURUMITO
- ベストアンサー率42% (1835/4283)
お示しのデータがシート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にデータが入力されれば該当の月のデータのみが区分けされて表示されます。
お礼
細かくありがとうございます。 今実際に試しているのですが(いただきましたL列までのデータ状況などを再現し、コピペで再現するように調整してから) 私の操作がどこか悪いらしく、シート1のMセル・Nセルへのコピペ。シート2のA3セル以降へのコピペを 完了しても、空白のままでした。 ただデータシートを一行消したりすると、エラーを出すようなので 私のやりかたがどこか悪いみたいなのですが・・・ また区分けして表示されるのはすごくありがたく そこまで質問するのは欲張りかと、あとでソートしようとしていた為 すごく助かります。 どうにか再現できるようもう少し粘ってみたいと思います。
補足
質問主です。 すいません、どうにかと思い作業していてM2セル、N2セルへいれた式の中で M1、N1を参照しているようなのですが、この二つは空欄(1行目は項目名でL列までの為) なのですが、そのまま空欄でよかったでしょうか?
- aokii
- ベストアンサー率23% (5210/22062)
ピボットテーブルを使ってみてください。
お礼
こんな機能もあるんですね。 アドバイスありがとうございます。 勉強になりました。
関連する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列)が不要ですよね?
- 締切済み
- その他MS Office製品
- 条件に合う行を別シートに抽出
エクセルで条件に合う行を別シートに抽出したいです。 出荷確認シートとします。 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を使用しています。 基本的な関数でしたらそのまま使えるようですので、エクセルとして書かせていただきました。 よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- エクセル関数 データの抽出について
エクセル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にぎっしり入っています。 宜しくお願い致します。
- 締切済み
- オフィス系ソフト
お礼
何度もありがとうございました。 シリアル値入力で、無事再現しシート名などを変更したもので バッチリいきました! 抽出が出来たので「固定」などを基準に並び替えしようとしたのですが(O列) 反応しませんでした。 すごく基本的なことなのかもしれませんが、関数の入ったセルは並び替えには 対応してないのでしょうか?関数内で並び替えも行わせないと並ばない?など 面倒でなければお返事いただければと思います。