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

エクセルで複数条件抽出方法とは?

このQ&Aのポイント
  • エクセルで複数条件を指定してデータ抽出する方法について教えていただきました。
  • 今回は別の条件でのデータ抽出が必要になったため、関数を使用して効率的に処理する方法を教えていただきたいです。
  • 品番、使用個数、注文数が絡んでいるため、手打ちでは効率が悪くミスも起こりやすいです。

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

  • ベストアンサー
  • SI299792
  • ベストアンサー率48% (719/1487)
回答No.4

間違いでした。 =MIN($D2*2-SUM(D2:$D2),$A2*6)-SUMIF($B$1:$B1,$B2,E$1:E1) です。前の式でもできますが、余計なものが付いているのでこっちのほうがいいです。

m_chance
質問者

お礼

前回といいお世話になります。 すみません。ご指摘のとおりS9が10でそこから値が狂っています・・・ 手入力だとこうなります・・・ そうなんです。前回より納入日がなくなりました。 前回教えていただいた関数を駆使したんですが、全然できませんでした・・・(泣 今回教えていただいたとおりに入力してできました!感動です。 本当に本当に毎回助かります。今後ともよろしくお願いします。

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

その他の回答 (3)

  • SI299792
  • ベストアンサー率48% (719/1487)
回答No.3

前回より、納入日が無くなったのですね。 E2に =MAX(MIN($D2*2-SUM(D2:$D2),$A2*6)-SUMIF($B$1:$B1,$B2,E$1:E1),0) 右下へコピー。 S8が 2なのに、なぜS9が12になるのかわかりません。 ルールに従えばS9は10になるはずです。 手作業による入力ミスだろうと判断しました。 そうでないなら、S9が12になる理由を書いてさい。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

質問の文言と添付画像に差異があります。 図示 → 論理値 S9=12 → S9=10 U9=6 → U9=8 U10=6 → U10=4 W10=2 → W10=4 論理値の結果で良いとすれば品番毎に4つの数式を用意しなければならないようです。 机Cのとき E2=A3*6 F2=IF(AND($D2>SUM($E2:E2),E2<>""),MIN($A2*6,$D2-SUM($E2:E2)),"") F2セルを右へW2セルまでコピーします。 E3=IF($A3*6=SUM(E$2:E2),"",$A3*6) E3セルを下へE4セルへコピーします。 F3=IF($A3*6=SUM(F$2:F2),"",IF($D3>SUM($E3:E3),MIN($A3*6,$D3-SUM($E3:E3)),"")) F3セルを右へW3セルまでコピーし、F3:W3の範囲を下へW4までコピーすれば良いでしょう。 机Fのとき 机Cに倣って下記の数式を範囲内の目的のセルへ配置すれば良いでしょう。 E5=A5*6 F5=IF(AND($D5>SUM($E5:E5),E5<>""),MIN($A5*6,$D5-SUM($E5:E5)),"") E6=IF($A6*6=SUM(E$5:E5),"",$A6*6) F6=IF($A6*6=SUM(F$5:F5),"",IF($D6>SUM($E6:E6),MIN($A6*6,$D6-SUM($E6:E6),$A6*6-SUM(F$5:F5)),""))

m_chance
質問者

お礼

すみません。ご指摘のとおりS9が10でそこから値が狂っています・・・ 手入力だとこうなります・・・ いただいた回答で表記したいとおりの表ができました! 関数の内容はこれから理解したいと思います(汗 ご回答ありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。
  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.1

9行目は、10,12,8 10行目は、4,12,4 ですよね。 課題を関数で解決できるか考えてみましたが 私にはできそうもありません。 VBAを持ち込むことができますか? 持ち込めるようなら、 解を提示できるだろうと思います。

m_chance
質問者

お礼

すみません。ご指摘のとおりS9が10でそこから値が狂っています・・・ 手入力だとこうなります・・・ VBAは苦手で(関数も苦手ですが)なんとか関数でご回答いただけたのでそちらでトライします。ありがとうございました。

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

関連するQ&A

  • エクセル 複数条件の方法

    仕事で使用する資料でどうにも行き詰っています。 品番ごとに納入日が違うデータの振り分けなのですが、条件多すぎてパニックです・・・ ★納入日★ A:2/5~ F:2/13~ K:2/19~ ★納入個数★ 6個単位(使用個数が1の場合は6個、2の場合は12個・・・) 注文数まで納入されれば終わり。 文字にすると簡単にできそうですが、2時間くらい悩んでも進みません。。 画像添付しました。手打ちで入れてみましたが、関数でできないかなと。。 たとえば1行目の机Aは使用個数1で納入日がF、注文数30なので 2/13~6個ずつ納入され2/17で30個で完了 2行目も机Aで、使用個数1で納入日がK、注文数30なので 2/19~6個ずつ納入され2/23で完了。 10行目の机Eは使用個数1で納入日がF、注文数40なので 2/13~6個ずつ納入され最終日は2/20に4個で完了です。(でも6個ずつなので2個足りない・・・) 11行目の机Eは使用個数1で納入日がK、注文数40です。 本来なら2/19~6個ずつですが、2/19は10行目の分が納入されているので10行目が完了する2/20に2個、からスタートとなります。 で、3/1に2個で終了です。 これが500行くらいあるので、手打ちでは効率悪すぎるしミスもでるので、関数でできないかというご相談です。。。 使用個数と品番と納入日と注文数・・・ こんなややこしい複数条件絡みあった関数はあるでしょうか・・・ いつもここで助けていただいているので、エクセル得意な方よろしくお願いします。

  • エクセル VBA でVLOOKUPにて不特定数の行の抽出を繰り返す。

    エクセルVBAについて教えてください。 工場の品種ごとの使用材料の計算を作っているのですが、 各品番のリストがあり5桁の品番コードをキーにしてそれに使用されている材料を別リスト(別なシートにある)から抽出しリストを作成したいです。使用されている材料は5~10種と抽出する、列が不特定数あるのので、関数だとかっこ悪くなってしまいそうなのでVBAにチャレンジしたいのですが。可能でしょうか。 品番コード 83764→    83764に使用されている行を5行抽出 82727→    82727に使用されている行を8行抽出 25124→    25124に使用されている行を11行抽出。 必ず同じ行数あるわけではないので83764に使用されている材料を5行抽出した後に空欄まで下に移動して次の82727に使用されている行を8行抽出というようにしたいのですが。 不備後不明な点あればお願いします。

  • エクセル 複数列からの同一条件抽出について

    表題の質問をさせていただきます。 B列からF列まで金額の入っている表があります。 基本的に金額の数字なのですが、割引をした場合に金額の数字のまえに「割」と入力しています。 例   1,000・・・割引無し(通常入力)    割1,200・・・割引有り そこで質問させていただきたいのは、 「割」と入力したセルがB2、B16、C9、D18、F5にあったとして、その該当行のみを抽出するにはどうしたらよいのでしょうか。 各行への入力はBからFまでの どれか1セルのみです。 オートフィルタオプションでは一つの列からしか抽出できなくて悩んでおります。 よろしくお願いいたします。

  • 複数条件の検索と抽出

    複数店舗を運営しており、片方の店舗の在庫csvが以下の様になっています。   A   |  B   |  C   |  D  |  E   |  F   |  G  | 商品型番 | 不使用 | 不使用 | コードA | 不使用 | コードB |  在庫  | 00001|     |     |  カラー|     |ブラック |    5| 00001|     |     |  カラー|     |シルバー |    9| 00008|     |     |  カラー|     |ブラック |    1| 00008|     |     |  カラー|     |シルバー |    0| 00055|     |     |  東芝用|     |     |   15| 00055|     |     |  日立用|     |     |   55| 上記の在庫を別店舗の在庫csvに登録する際に、VLOOKUPを使用して以下の表に抽出したいのですが、   A   |  B   |  C   |  D  |  E   |  F   |  G  | 商品型番 | 不使用 | 不使用 | コードC | 不使用 |  在庫  | 不使用 | 00001|     |     |ブラック |     |    *|     | 00001|     |     |シルバー |     |    *|     | 00008|     |     |ブラック |     |    *|     | 00008|     |     |シルバー |     |    *|     | 00055|     |     |東芝用  |     |    *|     | 00055|     |     |日立用  |     |    *|     | コードCにはコードAとコードBの両方のデータが入っている *の箇所に在庫数を持ってきたい 不使用行は別データが入っているので削除不可 上記の場合にIF関数とVLOOKUP関数を使用して在庫数を入れる事は可能でしょうか。 いくつか調べてみたのですが、上記のような条件の場合の説明が無かった為、 もし可能であればご教授頂ければと思っています。 よろしくお願いします。

  • エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

    エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。                A列   B列    C列 Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。 Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。 AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。 VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

  • エクセル表から項目と交点データを抽出する

    表1 品番    出荷日 製品A   10/1       台数        5 表2 品番 10/1 10/2 10/3 10/4 製品A 5   5   5   0 製品B 0   0   0   5 製品C 0   0   2   0 製品D 0   1   0   3 表2のように製品名と納入日、その交点に納入数が表記されています。 製品Aを10/1に納入する 5 が表記されたセルをクリックすると表1のようにデータが抽出する事が出来るでしょうか? 現状は製品名は入力規制でプルダウンメニューからクリック選択、日付はカレンダーコントロールの日付をクリック選択、台数はINDEX,MATCH関数でデータ抽出して表1を作成しています。

  • エクセルで別のファイルにあるものをそれぞれ抽出して、ひとつにまとめたいんです。

    エクセルに関する質問はたくさんあり、重複しているのか確認してみつつも漏れていたら申し訳ございません。 仕事上で困っております。ぜひ、ご教授ください。 エクセルのデータが2つあります。 ひとつは    A  B   C ・・・ 1 品番 商品名 納品日 2 N010  机   2008/1/9 3 N009 テープ  2007/12/29 もうひとつは似たような形なのですが    A  B   C ・・・ 1 商品名 納品日 品番 2 机   2008/1/9 N010 3 テープ  2007/12/29 N009 とそれぞれ業者から毎日送られてくるものがあります。 並び替えてくっつければ問題ないという意見もありますが、 それぞれを見つつ、全体も見るためにひとつにもまとめたいのです。 さらにそれぞれのファイルには余計なものも付いて来て (業者によって担当が入っていたり、期日があったり・・・)、 必要な部分行だけを抽出してひとつのファイルにしたいのです。 今回必要なのは それぞれのA・B・Cなのですが、順番が違うのでどうやって抽出し、ひとつのファイルにまとめることが出来るのでしょうか? また、毎日更新されてくるので自動的にひとつのまとめたデータのファイルにも更新されると嬉しいのですが・・・。 文章が下手で質問の意図がわかりにくいかと思いますが、 ぜひ、お教えくださいませ。

  • エクセル2013 マクロ ご教示ください

    1行目は見出し Sheet1 A列に品番 B列に個数 C列に注文日 D列に納入日 Sheet2 A列に品番 B列に品が納入される週単位の数値 (1、2、4・・・等) Sheet1のA列~C列が入力された時、 Sheet2のA列を参照してSheet1のA列と合致した品番が Sheet2で見つかったら Sheet1のD列 = Sheet1のC列 * Sheet2のB列の数値x7日 を、表示させたいです。 合致する品番が無い場合は 該当なし と表示させたいです。 どうか宜しくお願い致します。

  • EXCEL 文字列条件抽出

    特定の文字列を検索条件として別シートに抽出する方法を御教授願います。 使用する関数はLEN,MID,LEFT,ISERR,もしくはワイルドカードなどを使用すればいいのかと考えておるのですがいまいちやりたいような数式を組めず悩んでおります。 やりたいことを言葉で表現するならば以下のような感じとなります。 「sheet1のF列に<107>という文字が含まれていた場合」 ・顧客別シートのD列に顧客ごとに分けて抽出 ・含まれていない場合、抽出しない と、単純なことなのです。が、制約がある為にうまくいきません。 制約は以下となります。 ・検索対象の文字列が以下のように決まった形ではない。 (1)A-BB-107○#----- (2)A-BB-107○#----- (3)ABB107○C #----- (4)ュウリABB-107○#----- (5)ュウリABB107○#----- (6)BB-107○C-D9#-----  など、その他にも数種類存在。(○部分には違う数字が入ります) ・上記でも分かるように<107>が始まる文字列の位置が決まっていない。 という具合です。 操作しているブック構成は下記のとおりです。 ・sheet1・・・参照用シート 4行目 /D列・・・顧客No / E列・・・顧客名 / C列・・・製品仕様 (A列,B列,G~AD列まで使用中) 5行目 / 1 / A / A-BB-107○#----- 6行目 / 2 / B / ュウリABB-107○#----- 7行目 / 1 / A / BB-107○C-D9#----- 8行目 / 3 / C / A-BB-107○#----- 9行目 / 3 / C / BB-107○C-D9#-----  10行目 / 4 / D / A-BB-107○#----- (会社のサーバーで管理している情報がそのままエクセルに打ち出されたシート。 情報量として約1000行ほど) ・sheet2,3,4,5(開始行,項目列は同じ位置)・・・特定の顧客別ごとに分け、特定の製品仕様だけを抽出したシート(参照用から引用)。 4行目/ B列・・・顧客No / C列・・・顧客名 / D列・・・製品仕様 5行目 / / A-BB-107○#----- 6行目 / / ュウリABB-107○#----- 7行目 1 / A / BB-1234C-D9#----- 8行目 / / A-BB-1115#----- 9行目 / / BB-107○C-D9#-----  10行目 / / A-BB-3498○#----- 特定の顧客NoをB列(一つのセルになってます。C列も同様一つのセルになってます)に入力すると、製品仕様すべてを抽出するように作成したシート。このシート内のG列から新たに表を作成し<107>の文字列が含む製品仕様を抽出しようと考えております。 出来れば、このような一度段階を踏んでから特定の仕様を抽出するのではなく各シートに対象となる顧客Noを入力すると特定の仕様が一回で抽出できるようなシートを作成したいのですが、関数初心者の為、うまく組めずこのような形となりました。(現在、参照用シートに作業列を作り対応。作業列ばかりが増えて正直困っているのも確かなのです) 【御教授頂きたいこと】 ・<107>の文字列を条件として別表に抽出する関数の数式 です。 また、出来ればでいいのですが、 ・顧客Noを入力すると特定の仕様が一回で別表に抽出できるような方法が御座いましたら、そちらも合わせてお願いしたいと思っております。 長々と書き綴り、大変申し訳御座いませんが、宜しくお願い致します。

  • ACCESS で、古い日付順に抽出したい

    こんにちは。質問ばかりですみません。 EXCEL から ACCESS に移行するため、四苦八苦している者です。 たとえば下のようなCSV データがあったとします。 品番,納入日 A001,2006/1/24 A001,2006/2/10 A001,2006/2/13 A001,2006/2/14 A001,2006/2/15 B002,2006/1/26 B002,2006/2/3 B002,2006/2/14 B002,2006/2/24 B002,2006/2/27 C003,2006/1/27 C003,2006/2/7 C003,2006/2/9 C003,2006/2/14 C003,2006/2/21 品番に対して、日付は納入日です。 このデータに対して、以下のように一番近い日付だけ抽出し、納入日一覧クエリーを作りたいです。 品番,納入日 A001,2006/1/24 B002,2006/1/26 C003,2006/1/27 EXCEL だと日付順に並び替えてから、別シートからVLOOKUP で上から抽出してくれますよね。 アイデア下さい。 また、どんな言葉で検索していいかわからなくて、既出だったらごめんなさい。 ACCESS 97 で、WINDOWS 2000です。 よろしくお願いします。

専門家に質問してみよう