- ベストアンサー
時間の抽出、合計
セルに以下のように入力されているとします。 A B 1 6月29日 8:00 2 6月30日 8:00 3 7月1日 8:00 4 7月2日 8:00 5 7月3日 8:00 6 7月4日 8:00 7 7月5日 0:00 8 7月6日 0:00 9 7月7日 8:00 10 7月8日 8:00 7月の時間の合計を出すには =SUMIF(A1:A10,"7月*"、B1:B10)だと思ったのですが、0:00となってしまいます。 オートフィルターを使わず、関数だけで計算するにはどうしたらよろしいのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A列が文字列ではなく日付シリアル値だからヒットしません。 =SUMIF(A1:A10,">2008/07/01",B1:B10)で7月1日以上を計数でしますが検索範囲に8月以降が含まれていれば、 =SUMIF(A1:A10,">2008/07/01",B1:B10)-SUMIF(A1:A10,">2008/07/31",B1:B10) 因みに他の方法としては、=SUMPRODUCT((MONTH(A1:A10)=7)*(B1:B10))もあります。 尚、時間抽出セルの書式設定で表示形式をユーザ定義で[h]:mmとしないと24時間以上が表示できませんでご留意下さい。
その他の回答 (4)
- mu2011
- ベストアンサー率38% (1910/4994)
NO2です。 日付の条件設定に誤りがありましたので訂正します。 =SUMIF(A1:A10,">2008/06/30",B1:B10)で7月1日以上を計数でしますが検索範囲に8月以降が含まれていれば、 =SUMIF(A1:A10,">2008/06/30",B1:B10)-SUMIF(A1:A10,">2008/07/31",B1:B10)
お礼
度々ありがとうございます。
- keirika
- ベストアンサー率42% (279/658)
=SUM(IF(MONTH(A1:A10)=7,B1:B10)) を入力し、 Ctrl+Shift+Enter で確定。 式の入力に成功すると式が{}で囲まれます。
お礼
回答ありがとうございます。 回答の式で算出できました。
- mshr1962
- ベストアンサー率39% (7417/18945)
SUMIF関数のみでだすのなら =SUMIF(A1:A10,">=2008/7/1",B1:B10)-SUMIF(A1:A10,">=2008/8/1",B1:B10) です。 期間が月限定なら、別列に年月を関数で抽出するとか #2のかたのようにSUMPRODUCT関数ですかね。 EXCEL2007の場合だけなら、新しい関数SUMIFSで =SUMIFS(B1:B10,A1:A10,">=2008/7/1",A1:A10,"<=2008/7/31") という方法もあります。
お礼
回答ありがとうございます。 計算できなかったのはシリアル値だった為と思われます。 SUMIFSって関数あるんですね。ちなみにオフィスのバージョンが低いのでありませんでしたが・・・
- Tiffa9900
- ベストアンサー率31% (68/216)
SUMIFの検索条件にワイルドカード(*とか?とか)が利用できない為、"7月*"という条件にマッチしていない為と思われます。 色々と方法はあると思いますが、単純に考えれば C列に「=month(A1)」~「=month(A10)」といった月を抽出する関数を設定し、 「=SUMIF(C1:C10,7,B1:B10)」といった抽出を行えばいいのではないでしょうか。 尚、セルの書式が「h:mm」になっていると、0:00も24:00も48:00も「0:00」と表示されます。 書式をユーザー定義で「[h]:mm」としてみてください。
お礼
回答ありがとうございます。 C列に挿入したら可能になりました。
お礼
回答ありがとうございます。 はい、正にシリアル値なので、計算できなかったようです。