プロが教える店舗&オフィスのセキュリティ対策術

SUMIF関数で、条件に日付をいれたいのですが、
10日毎の範囲で集計を取るにはどうすればいいでしょうか。

A列に日付、B列に数値で
=SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B) 
こんな感じで日付の部分が問題のところです。

date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが…
1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

A 回答 (5件)

ちょっと無理矢理感がありますがこんな感じでどうでしょう。


9/1から9/10の場合です。
=SUMPRODUCT(($A$1:$A$65536>=DATE(2013,9,1))*($A$1:$A$65536<=DATE(2013,9,10))*$B$1:$B$65536)

集計範囲を変えるには算式中の日付を変えてください。
    • good
    • 2
この回答へのお礼

早速のお答えありがとうございました。

実はデータに他のシートからのリンクが入っている為か、#valueになってしまいました。
じっくり検証しようと思います。
説明不足で済みませんでした。

お礼日時:2013/09/27 11:51

一発で作ろうとしないで、計算列を導入すればいいだけの話でしょ?



計算用の列を1列確保して

=AND(A1>=DATE(2013,9,1),A1<=DATE(2013,9,10))

こうしておけば、該当期間なら"True"、そうじゃなければ"False"に
なりますから

=SUMIF(計算列,True,B:B)

で計算できるはず。Excelが広大なワークシートを持ってるのは、こう
言う「計算用の列や行をいくつでも作る」ためです。

あまり凝った式を作ると、後で参照するとき、わけが分からなくなって
困りますよ。
    • good
    • 8
この回答へのお礼

質問する前に試行錯誤した中で、trueと出たことがあったので
こうやって使うものとわかりました。

私には新たな発見です。
ただ他に問題があって列を増やすことは見送りたいと思います。

勉強になりました。ありがとうございます。

お礼日時:2013/09/27 11:08

もし、2007以降のバージョンをお使いならSUMIFSが使えますので、



例えば、1日以上10日以下を一つの式で集計する事はできます。
質問の際はバージョンを必ず記載して下さい。
    • good
    • 2
この回答へのお礼

ご回答ありがとうございます。

作っているのは2007なのですが、2005以前のエクセルが入ったPCでもやり取りするデータなので
sumifが無難かと思っていました。

他シートとのリンクなど、全体の構成を整理してからやってみようと思います。

お礼日時:2013/09/27 12:17

こんにちは。



2013/9/10までを求めて、2013/9/1以前を引けば答えが出ます。
=SUMIF(A:A,">=2013/9/10",B:B)-SUMIF(A:A,"<2013/9/1",B:B)

どうでしょうか。

この回答への補足

ありがとうございます!思うように出来ました(^^)

ただ、左側の式の>=は<=で答えが出たようです。ですよね?

補足日時:2013/09/27 13:18
    • good
    • 11

No.4です。



ご指摘のように>=ではなく、<=です。
打ち間違えでした。
    • good
    • 12

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