アプリ版:「スタンプのみでお礼する」機能のリリースについて

  受注日  発注NO  商品名   数   出荷日
   A      B      C     D     E
1  1/5    1234    ビール    1     1/10
2  1/10   1235    ビール    5     1/20
3  1/12           酒      3     2/1
4        0345     ワイン   2     1/30
5  1/15   0256    ビール    5     2/10

上の表から受注日Aがあり(A1:A5<>””)、発注NoBがあり(B1:B5<>””)、商品名Cがビール(C1:C5=”ビール”)、出荷日Eが今月以降(2月以降)の物の数Dの合計を求めたい。
 A5,B5,C5、E5で”5”

A 回答 (5件)

こんばんは!



>出荷日Eが今月以降(2月以降)の物・・・

一般的に、○以降といえば○も含まれるのが普通ですので、
正確には「来月以降」だと思います。

細かいコトはさておいて、

質問文をそのままSUMPRODUCT関数に当てはめてみてはどうでしょうか?

表示したいセルに
=SUMPRODUCT((A1:A5<>"")*(B1:B5<>"")*(C1:C5="ビール")*(MONTH(E1:E5)>=2),D1:D5)

としてみてください。m(_ _)m
    • good
    • 0
この回答へのお礼

まずは早々のご回答に対しお礼が遅れて誠に申し訳ありません。NO.5の補足回答もありがとうございます。
さっそく利用させていただきました。
今後ともよろしくお願いいたします。

お礼日時:2013/01/27 22:08

ヤリタイ事:


>数Dの合計を求めたい。

エクセル2007以降を使っているなら
=SUMIFS(D:D,A:A,"<>",B:B,"<>",C:C,"ビール",E:E,">="&DATE(YEAR(TODAY()),MONTH(TODAY())+1,1))
のように。

エクセル2003以前を使っているなら
=SUMPRODUCT((A1:A5<>"")*(B1:B5<>"")*(C1:C5="ビール")*(E1:E5>=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)), D1:D5)
といった具合に。*と,が混在しているので、間違えないように。

ご利用のエクセルのバージョンによって、出来る方法が変わります。(まぁ2003の方法は2007以降でももちろん使えますが)
ご相談投稿では、必ず普段あなたが使ってるソフトのバージョンまでキチンと明記する事を憶えて下さい。



#A5,B5,C5、E5で”5”
 についてはイミフメイのためスルー。
    • good
    • 0
この回答へのお礼

早々にご回答をいただいておきながらお礼が遅くなり誠に申し訳ありません。
今後ともよろしくお願いいたします。

お礼日時:2013/01/27 22:12

5行目のデータだけが満足した条件ということで5となっています。


SUMPRODUCT関数やSUMIFS関数では合計は求められますが、どの行が該当の行であるかが分かりません。お示しの条件を満足した行が分かるようにしてしかも合計を表示させるとしたら次のようにすればよいでしょう。
F2セルに次の式を入力して下方にドラッグコピーします。

=IF(AND(A2<>"",B2<>"",C2="ビール",MONTH(E2)>MONTH(TODAY())),MAX(F$1:F1)+D2,"")

これでどの行が該当する行であるのかが分かりますし集計の額も該当する行の最終行に表示されます。
ところで今回はビールについてでしたがワインや酒についても同時に求めたい場合にはF2セルから右横方向の列にビール、ワイン、酒などと入力します。
F2セルには次の式を入力して右横方向にドラッグコピーしたのちに下方にもドラッグコピーします。

=IF(OR($C2="",F$1=""),"",IF(AND($A2<>"",$B2<>"",$C2=F$1,MONTH($E2)>MONTH(TODAY())),MAX(F$1:F1)+$D2,""))

なお、集計の数を1行にまとめて表示させるために例えば表が99行目で利用されるとしたら100行目にF100セルから右横方向に商品名をF101セルから右横方向に合計数を表示させます。

F100セルには次の式を入力して右横方向にドラッグコピーします。

=F$1

F101セルには次の式を入力して右横方向にドラッグコピーします。

=MAX(F2:F99)
    • good
    • 0
この回答へのお礼

早々のご回答ありがとうございました。
お礼が遅れて申し訳ありません。
今後ともよろしくお願いいたします

お礼日時:2013/01/27 22:14

回答No3です。



=IF(AND(A2<>"",B2<>"",C2="ビール",MONTH(E2)>MONTH(TODAY())),MAX(F$1:F1)+D2,"")

の式ですが次のように訂正してください。

=IF(AND(A2<>"",B2<>"",C2="ビール",E2>=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)),MAX(F$1:F1)+D2,"")
    • good
    • 0

No.1です!



たびたびごめんなさい。
前回の数式では11月までしか対応できませんので、
↓の数式に変更してください。

=SUMPRODUCT((A1:A5<>"")*(B1:B5<>"")*(C1:C5="ビール")*(E1:E5>EOMONTH(TODAY(),0)),D1:D5)

※ EOMONTH関数を使用するにあたり、Excel2003以前のバージョンですと
メニュー → ツール → アドイン → 「分析ツール」にチェックを入れておく必要があります。

Excel2007以降のバージョンだとそのままでOKです。m(_ _)m
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!