• ベストアンサー

SUMIF関数で、条件に日付範囲で指定するには?

SUMIF関数で、条件に日付をいれたいのですが、 10日毎の範囲で集計を取るにはどうすればいいでしょうか。 A列に日付、B列に数値で =SUMIF(A:A,"【2013/9/1~2013/9/10】",B:B)  こんな感じで日付の部分が問題のところです。 date関数を入れてみると例えば9/3だけなど、一日だけの計算はできたのですが… 1~10,11~20、21~末日(31日)で合計するにはどう記入すればいいでしょうか。

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

  • ベストアンサー
noname#187541
noname#187541
回答No.4

こんにちは。 2013/9/10までを求めて、2013/9/1以前を引けば答えが出ます。 =SUMIF(A:A,">=2013/9/10",B:B)-SUMIF(A:A,"<2013/9/1",B:B) どうでしょうか。

hurry5me
質問者

補足

ありがとうございます!思うように出来ました(^^) ただ、左側の式の>=は<=で答えが出たようです。ですよね?

その他の回答 (4)

noname#187541
noname#187541
回答No.5

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

  • chonami
  • ベストアンサー率43% (448/1036)
回答No.3

もし、2007以降のバージョンをお使いならSUMIFSが使えますので、 例えば、1日以上10日以下を一つの式で集計する事はできます。 質問の際はバージョンを必ず記載して下さい。

hurry5me
質問者

お礼

ご回答ありがとうございます。 作っているのは2007なのですが、2005以前のエクセルが入ったPCでもやり取りするデータなので sumifが無難かと思っていました。 他シートとのリンクなど、全体の構成を整理してからやってみようと思います。

  • FEX2053
  • ベストアンサー率37% (7991/21373)
回答No.2

一発で作ろうとしないで、計算列を導入すればいいだけの話でしょ? 計算用の列を1列確保して =AND(A1>=DATE(2013,9,1),A1<=DATE(2013,9,10)) こうしておけば、該当期間なら"True"、そうじゃなければ"False"に なりますから =SUMIF(計算列,True,B:B) で計算できるはず。Excelが広大なワークシートを持ってるのは、こう 言う「計算用の列や行をいくつでも作る」ためです。 あまり凝った式を作ると、後で参照するとき、わけが分からなくなって 困りますよ。

hurry5me
質問者

お礼

質問する前に試行錯誤した中で、trueと出たことがあったので こうやって使うものとわかりました。 私には新たな発見です。 ただ他に問題があって列を増やすことは見送りたいと思います。 勉強になりました。ありがとうございます。

  • MSZ006
  • ベストアンサー率38% (390/1011)
回答No.1

ちょっと無理矢理感がありますがこんな感じでどうでしょう。 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) 集計範囲を変えるには算式中の日付を変えてください。

hurry5me
質問者

お礼

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

関連するQ&A

専門家に質問してみよう