• ベストアンサー

Excelで条件に一致する数値の合計を求める

日付け列と商品名(商品ID)列と入庫、出庫列を作ったとして、一日に何回にも分かれて同じ商品が入出庫された場合、伝票でその都度入力したとします。後日見て何日に商品ID"何"が合計何個入庫したかをほかのセルに表示したい場合どのような関数を使えばよいのでしょうか?解りずらい質問ですが、ご回答頂きたく御願い致します。

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.6

複数条件で絞り込んで合計したいときは、DSum関数使うと楽です。 A列に日付、Bに商品ID、Cに数量が入っているとします。1行目に列名が入力されていて、2行目からデータが入力されているとします。 まず、適当なセルに検索条件を記述します。 日付 商品ID 4/16 1 (この例では「日付」のセルがG1にくるようにします。) 適当なセルに以下のように記述 =DSum(A1..C1000,3,G1..H2) これで、4/16日の商品IDが1の商品の数量の合計が取得できます。 参考URLのQ&Aも参考になるかも。DCountをDSumと読み替えれば、あとは同様です。 他には「配列数式」を使ったやり方もあります。 配列数式自体は結構ややこしいんですが、ご質問の内容でしたら、 [ツール]-[アドイン]で「条件付き合計ウィザード」を組み込んだ後、 [ツール]-[ウィザード]-[条件付き合計式]を実行することで、簡単に作成することが出来ます。

参考URL:
http://www.okweb.ne.jp/kotaeru.php3?qid=63506
herohero21
質問者

お礼

条件付き合計ウィザードでほぼ望んでいた事が出来ました。こんな事も知らないで、Excelを使っているつもりでいたとは、大変恥ずかしいです。有難う御座いました。

その他の回答 (5)

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.5

↓さっきの一部訂正:先にオートフィルタを設定しておいてください。

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.4

SUBTOTALを使いますか Aに日付、BにID、Cに数量とする 2行目から10行目までにデータが有るとします。 C11に式=SUBTOTAL(9,C2:C10)とします。 あとはAとBに対してオートフィルタを設定します。 後は好きな条件でフィルタ値を設定して下さい。 そうするとC11に選択した条件の合計が表示されます。

herohero21
質問者

お礼

有難う御座います。色んな雑誌や参考書(初心者向け)にはSUBTOTALなどと言う、関数は出ていなかったと思います。ますますExcelの奥深さを実感いたしました。(あたりまえですか?)

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.3

複数の条件があると、keronyan さんが書かれた通り、 ピボットテーブルを作るか、マクロを組むしかないですね。 ピボットテーブルを作る程度の操作が許されるのであれば、 オートフィルタも、そこそこ使えます。 シートの全域を指定して、オートフィルタで条件を絞り込んで、 出荷数のセルを範囲指定して、別のシートに貼ります。 で、あらためて、その貼ったものに対して sum() をとる。 面倒ですが、直感的な操作ではあります。

herohero21
質問者

お礼

マクロですか・・・・その言葉だけは聞きたくなかったです。(笑)しかしマクロを使えるようにならないと色んなデーターも紙を置き換えた物になりかねませんね。有難う御座いました。またお願い致します。

  • keronyan
  • ベストアンサー率25% (31/122)
回答No.2

ピボットテーブルを使ってみては出来ないでしょうか。 入力された行の先頭にそれぞれの項目名を付けて、すべてを選択してデータのピボットテーブルを選んでみてください。 それで、行に表示する項目(日付と商品ID)を選択し表示部に個数を選択すると一覧できる表になります。 見るたびに作らないといけませんがいかがでしょうか。

herohero21
質問者

お礼

有難う御座います。当社は私がこんな感じですので、ほかの人間が一目で入出庫状況(結構何日に何が何個出たか?とか言う問い合わせが多いのです。)がわかるように、と思ったのですが。何とかピポットテーブルぐらいは教えようと思います。また御願い致します。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

sumif という関数があります。 商品IDがA列、出荷数がB列にあるときに、 =sumif(a1:a100, "ID-A", b1:b100) とすると、商品IDが "ID-A" の行のB列の数値の合計を返します。

herohero21
質問者

補足

こんなに早く回答が頂けるとは思いませんでした。ありがとう御座います。もう少し補足良いでしょうか?範囲、検索条件を工夫すれば出来るのかと思いますが、"何月何日"に、"ID"何が、"何個"入庫したか?まで抽出する方法はありますか?度々スミマセンが宜しく御願い致します。

関連するQ&A