• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルで条件に合うものを別シートに抽出(関数))

エクセルで条件に合うものを別シートに抽出する方法

このQ&Aのポイント
  • エクセルの関数を使って、条件に合うデータを別のシートに抽出する方法を紹介します。
  • 条件は以下の通りです:担当が山田、希望日が6月2日以前、配達チェックが済でないデータ。
  • セル参照を使って6月2日と山田を指定すると、条件に合うデータがシート2に表示されます。

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

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

こんばんは! 一例です。 ↓の画像でSheet1に作業用の列を設けています。 作業列G2セルに =IF(COUNTBLANK(Sheet2!$A$1:$B$1),"",IF(AND(A2<=Sheet2!$A$1,E2=Sheet2!$B$1,F2=""),ROW(),"")) という数式を入れオートフィルでずぃ~~~!っと下へコピーしておきます。 そしてSheet2のA4セルに =IF(COUNT(Sheet1!$G:$G)<ROW(A1),"",INDEX(Sheet1!A:A,SMALL(Sheet1!$G:$G,ROW(A1)))) という数式を入れ列方向と行方向にオートフィルでコピー! A列の表示形式は「日付」にしておきます。 ただ、このままではSheet1に空白セルがあれば「0」が表示されてしまいますので、 当方使用のExcel2003の場合ですが、 メニュー → ツール → オプション → 「表示」タブ → 「ゼロ値」のチェックを外すと 画像のような感じになります。 以上、参考になれば良いのですが・・・m(__)m

yontyoru-9
質問者

お礼

ありがとうございます!! なるほど、そういうふうに組み合わせればいいのですね! 勉強になりましたっ 画像まで添付していただきとてもわかりやすかったです(^o^)

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (5)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.6

もう回答は出尽くしていますが、いつも気になることを書きます。 この種の質問は週に3度ぐらい出ます。 タイプは「条件付き抜き出し問題」です。 しかし関数でやるのは、1セル当たりでも非常に長い式で、関数の5式以上の組み合わせになる式になります。 エクセルに検索に適した関数が作られてないことが原因です。 初心者には、自分で生み出せる式でなく、式の意味もわからないと思う。コピペして出来ましたと、其れで良い人は使ったら良い。しかし質問者の場合への修正も一苦労。 ーー 解法のタイプは((1)(2)(3)は広く言えば関数による解法でしょう) (1)A 作業列を使う    B 使わない (2)A 配列数式を使う    B 使わない(通常の式) (3)A ユーザー定義関数を使うー 一種のVBA   B 使わない。 (4)フィルタ の別になると思います。 ーーー ですから、私は (1)操作 フィルタ を使うことをすすめます。 (2)VBA (3)特別のソフト(フリーソフト)ただし見つけるのが難しい を考える人もあるでしょう。 ーーー 私は長年「imogasi方式」というのを書いてきました。 上記で言うと(1)のAにあたります Googleで「imogasi方式」で照会すれば、沢山の質問回答の例が出て、私以外の、今回既に出ているタイプの回答も毎回出ています。 ーー imogasi方式では 例データ  Sheet3  A列ーH列(G列は飛ばし) --は左寄せ表示防止のために入れたもので、実際は空白セル。山田と日付(A1toB1セル)が条件を入れるセルと仮定。 山田 2011/6/2 希望日 りんご ばなな みかん 担当 配達チェック 6月1日 2 -- 1 山田 1 6月3日 -- 4 2 佐藤 6月1日 3 -- -- 山田 済 6月2日 -- 1 -- 佐藤 6月2日 -- -- -- 山田 2 H列が作業列で、H3の式は =IF(AND(E3=$A$1,A3<=$B$1,F3=""),MAX($H$1:H2)+1,"") 下方向に式を複写してます。 やっていることは、条件に合う行に連番を振ってます。連番にしているところがミソです。 ーー Sheet4  のA3で =INDEX(Sheet2!$A$1:$F$100,MATCH(ROW()-2,Sheet2!$H$1:$H$100,0),COLUMN()) F列まで式を複写 A3-F3の式を下方向に式を複写 A列の表示形式を日付、B,C,D列の表示形式を数値に設定。 ーー 結果 Sheet3 A3から 2011/6/1 2 0 1 山田 0 2011/6/2 0 0 0 山田 0 ーー 残された問題点 ・0を空白にする ーー>(表示形式で[=0]"";G/標準 の設定など) ・下の行の#N/Aを出さないようにする は略(上記Googleで「imogasi方式」で照会して出てくる記事に)WEBには書いています)

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.5

[No.4]の訂正 添付図の左下図が「Sheet1」となっているのは「Sheet2」の間違いです。 なお、その上の図は「Sheet1」で正しいです。

全文を見る
すると、全ての回答が全文表示されます。
noname#204879
noname#204879
回答No.4

[フィルタオプションの設定]による方法を案内しておきます。 添付図参照 1.Sheet2 のセル C2 に次式を入力    =AND(Sheet1!A2<=A$1,Sheet1!E2=B$1,Sheet1!F2="")   なお、セル C1 は空白のままにしておく 2.Sheet2 をアクティブにして、[データ]→[フィルタ]→[フィルタ   オプションの設定]を実行して、次の設定を行なった後で[OK]を   クリック    [抽出先]→    “指定した範囲”    [リスト範囲]→  Sheet1!$A$1:$F$10    [検索条件範囲]→ $C$1:$C$2    [抽出範囲]→   $A$3:$F$3

yontyoru-9
質問者

お礼

ありがとうございました 「フィルタオプションの設定」初めてこの機能を知りました! 勉強になりました。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

補助列なしにSheet2のA3セル以下に該当データを表示させたいなら、以下のような関数を入力して下方向にオートフィルしてください。 F3セル: =INDEX(Sheet1!E:E,SMALL(INDEX(((Sheet1!$A$2:$A$100>$A$1)+(Sheet1!$E$2:$E$100<>$B$1)+(Sheet1!$F$2:$F$100="済"))*1000+ROW($A$2:$A$100),),ROW(E1)))&"" A3セル:(右方向にD3セルまでオートフィル) =IF($E3="","",INDEX(Sheet1!A:A,SMALL(INDEX(((Sheet1!$A$2:$A$100>$A$1)+(Sheet1!$E$2:$E$100<>$B$1)+(Sheet1!$F$2:$F$100="済"))*1000+ROW($A$2:$A$100),),ROW(A1)))) B3:D3セルの空白部分に0を表示しないのであれば、その範囲を右クリックしてセルの書式設定の表示形式をユーザー定義にして「0;;」と入力してください。 #エクセルのバージョンが記載されていないので、すべてのバージョンに対応できる数式を示しましたが、この数式は必ずしも最適な方法とは限りません。 Officeソフトはバージョンによって使用できる機能や操作方法が異なりますので、ご質問の際には必ずバージョンを明記するようにしましょう。

yontyoru-9
質問者

お礼

ありがとうございます いろいろな方法があるのですね! 勉強になりました!

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

商業高校卒業してます。 29歳主婦です。 参考までに聞いてください。 別のシートに、 条件があう情報を抜き出して一覧表示したい、 ということですよね?? 別のシートに表示させる必要がない方法を教えます。 違ったらスルーしてくださいね☆ まず、入力した『希望日』から『配達チェック』までをドラッグします。 ※日付や数字を入力したところは含まず、見出しの行のみ。 上部の『データ』タブを開いて、『フィルタ』を選択して、 『オートフィルタ』を選択すると、各見出しの右端にボタンが現れます。 自分の欲しい希望日のみを表示したいときは、 希望日のボタンを押して、(例)6月2日を選ぶと6月2日のみ表示されますし、 更にその中から、担当が山田のもののみ表示させたいときは、 希望日で6月2日と操作したボタンはそのままにして、 更に担当のボタンをおして『山田』を選択してください。 希望日は関係なく、山田担当のもののみ表示させい時は、 希望日で操作したボタンを『すべて』に戻す必要があります。 長くなりましたが、オートフィルタボタンを使うと、 それらを更に昇順や降順にも並べ替えられますから、便利ですよ。 データが消えるわけではないですし、 使い勝手いいと思います。 頑張ってください!!

yontyoru-9
質問者

お礼

ありがとうございます 説明不足で申し訳ありませんが、今現在オートフィルタで処理しているのです。 ですが担当者が非常に多くフィルタで抽出する時間と手間が非常にかかるので別シートに抽出したかったのです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

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

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

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

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

  • EXCELのマクロで条件2つでの合計

    現在シート1に以下のようにあります。 sheet1   A    B    C   D   E 1 品名  日付  担当 個数 チェック 2 いちご 1/10  伊藤 10   ○ 3 りんご 1/15  山田  2   ○ 4 ばなな 1/10  伊藤  5   × 5 いちご 1/20  伊藤  10  △ 6 いちご 1/7   山田  5   ○ 7 ばなな 1/8   江口  5   △ 8 りんご  1/4  江口  4   ○ 9 りんご  1/18 伊藤  5   ○ 10 ばなな  1/8  伊藤  6   × 11 いちご  1/20 江口  4   ○ これを以下のようにシート2にしたいです。 sheet2   A    B    C   D   E 1 品名  日付  担当 個数 チェック 2 いちご 1/10  伊藤  20  ○ 3 りんご 1/15  山田  2   ○ 4 ばなな 1/10  伊藤  11  × 6 いちご 1/7   山田  5   ○ 7 ばなな 1/8   江口  5   △ 8 りんご  1/4  江口  4   ○ 9 りんご  1/18 伊藤  5   ○ 11 いちご  1/20 江口  4   ○ 条件は、「品名」と「担当」が同じならば個数を合計してシート2にコ記すということです。 また、「日付」と「チェック」は照合した一番上の行の「日付」と「チェック」になります。 例えば、2行目と5行目は「いちご」と「伊藤」で同じなので合計を10+10で20にします。 「日付」と「チェック」は2行目の方が上なので「1/10」と「○」になります。 以上をマクロでやりたいです。 マクロの勉強中なので色々なやり方を知りたいです。 よろしくお願いします。

  • 同じ日にちの件数を制限して抽出する

    日付ごとのデータがあり、同じ日付の数は日によって違い、10個の時も20個の時もあります。 そのデータを、同じ日付のデータは14個以下に制限し、それ以上は無視して別シートに抽出したいのですが。(エクセル2010) 下記のようなシート1のデータを      A     B     C 1  11月1日  りんご   A社 2  11月1日  みかん  C社 3  11月1日  とまと   B社 ・ ・ 14 11月1日  みかん  D社 15 11月1日  とまと   H社 16 11月2日  ばなな   B社  17 11月2日  りんご   D社 別シートに下記のように抽出      A     B     C 1  11月1日  りんご   A社 2  11月1日  みかん  C社 3  11月1日  とまと   B社 ・ ・ 14 11月1日  みかん  D社 15 11月2日  ばなな   B社 16 11月2日  りんご   D社 どなたか教えていただける方がいましたらよろしくお願いします。

  • Excel 他シートのデータを抽出

    お世話になっております。 さっそく質問失礼いたします。 全売上が記載されたシートのデータを抽出し、営業担当者名で割り振られた各シートに該当するデータを抽出する方法を教えてください。 具体的には下記のようなものを作成したく思います。 シート1(月度売上表) 日付 担当 商品 台数 1日 田中  A1  1台 1日 山田  B1  2台 1日 佐藤  B1  5台 2日 田中  B1  3台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 シート2(田中) 日付 担当 商品 台数 1日 田中  A1  1台 2日 田中  B1  3台 シート3(佐藤) 日付 担当 商品 台数 1日 佐藤  B1  5台 2日 佐藤  A1  2台 2日 佐藤  B1  4台 以下続く 以上のような表を一覧として作成したいと思っております。 シート1に内容が記載されたら自動的にリンクされるようにしたいので、ご質問いたしました。 よろしくおねがいいたします。

  • 関数で2つの条件から抽出する表を作りたい。

    A1は手入力D4手入力、H2は=D2&C2 担当者と週で検索して抽出する式を教えて下さい。 上手く出来なくて1行しか抽出しないんです。  A   B  C      D   E   F  G   H 1担当者 沼田 週    1 2 番号 日付 週 担当 企業 名前 住所 検索用 3 1 7月1日 1 沼田 a 高橋 土浦 沼田1 4 2 7月2日 1 佐藤 a 山田 阿見 佐藤1 5 3 7月2日 1 沼田 r 沖田 水戸 沼田1 6 4 7月7日  1 沼田 c 斎藤 土浦 沼田1 7 5  7月9日 2 佐藤 h 鈴木 牛久 佐藤2 8 6 7月14日 3 佐藤 d 河合 土浦 佐藤3 9 7 7月15日 3 高橋 e 吉田 阿見 高橋3 10 8 7月20日 4 高橋 e 木田 水戸 高橋4 11 9 7月4日 1 沼田 g 飯田 牛久 沼田1 上記の表から1週目だったら、1週目の担当者のデータをシート2の表に抽出 週2だったら2週目の担当者データを抽出 A1・D1は手入力 A3は=IF(COUNTIF(Sheet1!D$2:D$1000,B$1)=0,"",MATCH($B$1&$D$1,Sheet1!$H$2:$H$1000,0)) シート2     A   B   C  D  E  F  G 1  担当 沼田 週 1 2  番号 日付  週  担当  企業  名前   住所 3  1  7月1日  1  沼田   a    会田   牛久 4  4  7月2日  1  沼田   r   沖田   水戸 5  6  7月7日  1  沼田   c   斎藤  土浦  6  9  7月4日  1  沼田   g   飯田  牛久 上記の様にシート2に表示したいんです。 細かく教えて下さい。何度やっても1行目のデータしか抽出しないんです。 A3=IF(COUNTIF(Sheet1!D$2:D$1000,B$1)=0,"",MATCH($B$1&$D$1,Sheet1!$H$2:$H$1000,0)) B3=IF($A3="","",IF(VLOOKUP($A3,Sheet1!$A$2:$H$1000,COLUMN(B1),0)="","",VLOOKUP($A3,Sheet1!$A$2:$H$1000,COLUMN(B1),0))) A4の2行目以降1になってしまって同じ物しか出ないんです。 Aの番号の抽出方法の式を教えて下さい。

  • エクセルのデータ抽出、別シートへの表記

    こんばんは。 とても簡単かもしれませんが、私の力ではどうしようもありませんのでどなたかお教えください。 sheet2には下記のようなデータがあります。    A       B       C       D 1         吉田     山田     佐藤   2 10月1日   A 勤    C 勤    B 勤 3 10月2日   C 勤    B 勤    A 勤 4    ・・・以下、データが続く・・・ sheet1に、以下のような結果を表記したいのです。    A       B       C       D 1          A 勤    B 勤    C 勤 2 10月1日    吉田     佐藤    山田  3 10月2日    佐藤     山田    吉田 4   ・・・以下、データが続く・・・ 過去の質問を見ても解決できませんでした・・。かなり素人です。お助けください。

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

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

  • エクセルのデータ抽出、別シートへの表記について

    こんばんは。 昨晩同じ質問をしたのですが、やはりN/Aエラーが出てしまいますのであらためてお願いいたします。(昨晩の質問は締め切ってしまいました) sheet2には下記のようなデータがあります。    A       B       C       D 1         吉田     山田     佐藤   2 10月1日   A 勤    C 勤    B 勤 3 10月2日   C 勤    B 勤    A 勤 4    ・・・以下、データが続く・・・ sheet1に、以下のような結果を表記したいのです。    A       B       C       D 1          A 勤    B 勤    C 勤 2 10月1日    吉田     佐藤    山田  3 10月2日    佐藤     山田    吉田 4   ・・・以下、データが続く・・・ 過去の質問を見ても解決できませんでした・・。かなり素人です。お助けください。

  • エクセル関数

    エクセル関数について下記のような表があります。 A   B    C    D    E F     12/1  りんご  9.5kg 12月度 りんご 48.0kg 12/1  みかん  5.0kg 12月度 みかん 25.0kg 12/1  ばなな 5.0kg 12月度 ばなな 25.0kg 12/2  りんご 9.5kg 12/2  みかん 5.0kg 12/2  ばなな 5.0kg 12/3  りんご 9.5kg 12/3  みかん 5.0kg 12/3  ばなな 5.0kg 12/4  りんご 9.5kg 12/4  みかん 5.0kg 12/4  ばなな 5.0kg 12/5  りんご 9.5kg 12/5  みかん 5.0kg 12/5  ばなな 5.0kg F2列の式は、SUMIF($B:$B,E2,$C:$C)で、F3,F4はF2の式を下フィルしています。質問内容はF2の小計が本来47.5kgとなるべきはずが、48kgとなってしまうのは何故かということです。ご教示の程 よろしくお願いします。

専門家に質問してみよう