エクセルの関数でわからないことがあります。

時間帯別の売上高を計算したいのですが、どのようにすればよろしいでしょうか?

以下に例を示します。
A列に売上発生時刻、B列が売上金額です。

発生時刻 金額
8:15 1,070
8:45 2,240
9:15 500
10:17 800
10:49 1,250
11:33 750
11:45 980
11:55 1,430

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/11/04 00:01:58

ベストアンサー

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

たとえば 10時台の合計を出したい場合は、以下のようにします。

=SUM(B:B)-SUMIF(A:B,"<10:00",B:B)-SUMIF(A:B,">11:00",B:B)

全部の合計から 10時未満と11時以上の合計を引けば 10時台の合計となります。


ちなみに 8時台は
=SUM(B:B)-SUMIF(A:B,"<8:00",B:B)-SUMIF(A:B,">9:00",B:B)

9時台は
=SUM(B:B)-SUMIF(A:B,"<9:00",B:B)-SUMIF(A:B,">10:00",B:B)

11時台は
=SUM(B:B)-SUMIF(A:B,"<11:00",B:B)-SUMIF(A:B,">12:00",B:B)

とすればいいです。
とりたい時間から その一時間後を指定すればいいだけです。

id:ghotiandchips

列番号のアルファベットの後ろに状況に合わせて行番号の数字を付加して実際の範囲指定をすれば良いのですね。
それで解決しました。有難うございました!!
助かりました。
最初の単純なコピペした私があほでした^^;

2012/11/04 00:05:07
id:ghotiandchips

数式を見ると、その意味することがよくわかりますが、いざ自分でやりたいことを数式で組み立てていくのが未だ五里霧中です。色々勉強したり、考えたり、書いてみたり、という過程の中でわからぬことがきっとまた出てくるでしょう。
その時はまた是非宜しくお付き合い下されば嬉しいです。
人任せは好きではないので、頂いた回答をもとに応用?スキルアップ?にも取り組みたいと思っていますが、時間関数の扱い(シリアル値の扱い方)がまだおぼつかないレベルです。今後とも宜しくお願いいたします。

2012/11/04 00:12:29

その他の回答1件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198ここでベストアンサー

たとえば 10時台の合計を出したい場合は、以下のようにします。

=SUM(B:B)-SUMIF(A:B,"<10:00",B:B)-SUMIF(A:B,">11:00",B:B)

全部の合計から 10時未満と11時以上の合計を引けば 10時台の合計となります。


ちなみに 8時台は
=SUM(B:B)-SUMIF(A:B,"<8:00",B:B)-SUMIF(A:B,">9:00",B:B)

9時台は
=SUM(B:B)-SUMIF(A:B,"<9:00",B:B)-SUMIF(A:B,">10:00",B:B)

11時台は
=SUM(B:B)-SUMIF(A:B,"<11:00",B:B)-SUMIF(A:B,">12:00",B:B)

とすればいいです。
とりたい時間から その一時間後を指定すればいいだけです。

id:ghotiandchips

列番号のアルファベットの後ろに状況に合わせて行番号の数字を付加して実際の範囲指定をすれば良いのですね。
それで解決しました。有難うございました!!
助かりました。
最初の単純なコピペした私があほでした^^;

2012/11/04 00:05:07
id:ghotiandchips

数式を見ると、その意味することがよくわかりますが、いざ自分でやりたいことを数式で組み立てていくのが未だ五里霧中です。色々勉強したり、考えたり、書いてみたり、という過程の中でわからぬことがきっとまた出てくるでしょう。
その時はまた是非宜しくお付き合い下されば嬉しいです。
人任せは好きではないので、頂いた回答をもとに応用?スキルアップ?にも取り組みたいと思っていますが、時間関数の扱い(シリアル値の扱い方)がまだおぼつかないレベルです。今後とも宜しくお願いいたします。

2012/11/04 00:12:29
id:ghotiandchips

takntさま

早速のご回答有難うございます。

頂いた数式をコピペしましたが、表示が0:00と表示されました。

セルの書式設定でペーストしたセルが時刻になっていたので、標準に戻しましたら、0(ゼロ)と表示されてしまいました。

どうしたものかと思案しております。

id:Silvanus No.2

回答回数180ベストアンサー獲得回数71

以下の式をA列、B列以外(例えばC列)に貼ってみて下さい。
=SUMIFS(B:B,A:A,">=10:00",A:A,"<11:00")
この式では10時台の金額の合計を示します。

他4件のコメントを見る
id:Silvanus

タッチ差でしたねw

2012/11/01 22:40:56
id:Silvanus

>質問者さん
takntさんの最初の回答内容で、SUMIF関数の第一引数が"A:B"と
なっている部分を"A:A"に換えれば良いんですよ。
この場合、行番号は必須ではありませんから
(第一引数さえ正しければ)単純コピペで問題有りません。
勿論、式を貼るセルを正しく書式設定してやることは必要ですけど。
時間値に限りませんが、こういう処理をする際に
不等号に付随するイコールの有無(≦か<か、≧か>か)が
結果に少なからず影響を及ぼしますので、よく考えて記述して下さい。
例えば、このコメの3つ上の式を見て、「10:00」ジャストの値と
「11:00」ジャストの値がどの様に扱われるか考えてみて下さい。

2012/11/04 16:46:44
id:ghotiandchips

Silvanusさま

ご回答有難うございます。

記入し忘れがあります。使用アプリケーションはエクセル2003です。

2003ではsumifsは使えないみたいです。

WEBで調べると無理やり使うやり方もありそうですが、一見して私にそのスキルは無さそうです。

http://excel-magic.com/blog-entry-27.html

2007にバージョンアップしかないか。。。。

  • id:taknt
    発生時刻っのては 時刻型で 8:15:00 というような感じになっているんですよね?
  • id:taknt
    ちなみに 数式は AとB列以外に おいてください。
    A列やB列におくときは 範囲指定してください。


    SUM(B:B)を範囲指定にすると SUM(B1:B10) といった感じになります。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません