
時間単位の合計について
こんにちは、よろしくお願いいたします。
時間単位で、合計をしたいのですが
A列に下記のように入っているとします。
A列(時間)
2 07:00
3 07:00
4 07:00
5 07:00
6 04:00
32:00 ←合計欄
合計欄に下記のように計算式を入れました。
=IFERROR(TIMEVALUE(A2),0)+IFERROR(TIMEVALUE(A3),0)+IFERROR(TIMEVALUE(A4),0)+IFERROR(TIMEVALUE(A5),0)+IFERROR(TIMEVALUE(A6),0)
※IFERRORでくくっているのは実際には空欄があるためです。
今現在は計算があっているのですが、例えばA2の07:00を07:30とか8:00など別の時間に修正すると、勝手に表示が7:30:00とされ
計算が狂います。
セル書式はすべて同じ時刻の"00:00"を選んでいるのにもかかわらずです。
原因を教えてください。
よろしくお願いいたします。
No.12
- 回答日時:
一括変換のマクロです。
※ 該当箇所の書式を事前に「hh:mm」や「[hh]:mm」に変更しておくと確実です。
Sub Sample()
Dim MaxRow As Long
Dim MaxCol As Long
Dim UsedR As Long
Dim UsedC As Long
With ActiveSheet.UsedRange
MaxRow = .Rows(.Rows.Count).Row
MaxCol = .Columns(.Columns.Count).Column
End With
For UsedR = 1 To MaxRow
For UsedC = 1 To MaxCol
If InStr(Cells(UsedR, UsedC).Value, ":") > 0 Then
If IsDate(Cells(UsedR, UsedC).Value) Then
Cells(UsedR, UsedC).Value = Cells(UsedR, UsedC).Value
End If
End If
Next
Next
End Sub
No.10
- 回答日時:
まずですね。
この質問内容だと貼り付けた直後のデータは「文字列」です。TIMEVALUEで変換されるということでそれが証明されています。(本当は№4の回答に返答が頂けてればもっと早く確証があったのですが。質問するのは回答に必要だからなので聞いたことには全部答えていただけるとその後の展開がスムーズになります。)
文字列のデータ型を貼りつけた後に表示形式で「時刻(h:mmとか)」に変換してもそれは時刻データにはなってません。ここはよく勘違いされる方が多いのでご注意ください。
貼り付けた後に、その列を選択して
データタブ→区切り位置→完了
とすればそれは時刻データになります。(面倒なコピペとかマクロはいりません。)
時刻データになれば普通にSUMで合計できるかと思います。
また、貼り付けて文字列のままの状態でも
=A2+A3+A4…
とSUMではなく足し算で式を書けば計算できますよ。
どちらを選ぶかはご本人の都合のいいようにしてください。
ご教示ありがとうございます。
やってみたら、ちゃんと時刻データになりました。
ですが、合計が130が正解なのに、10となります。空白が標準のままだったのでそこに値の入ったデータを書式コピーしてもダメでした。ちなみに、空白セルまでをsumすると正しい答えが出ました。
No.8
- 回答日時:
空いている列にとりあえずコピーしておき、その列の書式設定を標準にしたらどうなりますか?
①「0.??????」のように小数点で表示、または「07:00」のように時間で表示された場合
元の列の書式設定を「hh:mm」にして、コピーした列を元の列に「値貼り付け」してください。
② その他(どのように表示されたかご提示ください)
やってみました。
まず、空いている列にコピーし標準にしたら、07コロン00と表示され、元の列に値貼り付けしたら
やはり07コロン00と表示されます。合計は0コロン00です。
値貼り付けした元の列は
07コロン00と表示され、合計は0です
No.7
- 回答日時:
A2セルを選択した状態で数式バーにはなんと表示されていますか?
「07:00」または「'07:00」のように表示されているならば文字列になっているのでシリアル値にして下さい。
合計欄以外のA列の式設定は「hh:mm」にして、入力は「7:00」のようにしてみて下さい。
ありがとうございます。
やってみました。
ソフトから出力された時点で、
書式をhh:mmに変更して合計したら0になっていました。
数式バーには07:00と出ていました。
それをいったん消して07:00と手打ちしたところ
数式バーには7:00:00と出てちゃんと計算されました。
これはどういう現象なのでしょう?
例では5個しかデータないんですけど、実際はもっと多いので
全部手で打ち直すのは難しいです。
No.5
- 回答日時:
この後ちょっと長文が書きにくくなるので、現状での推論を書いておきます。
貼り付けたデータは文字列になっているためTIMEVALUE関数で時刻に変換することで合計ができています。
ですが、分などを入力しなおすことでそのセルは実際の時刻のデータ型(シリアル値)になります。
本来はTIMEVALUE関数の引数に実際の時刻データを入れるとエラーになるのですが、下手にIFERRORをつけているのでそのセルは0ということになり合計がずれているのだと思います。
貼り付ける際は貼り付けてから時刻データに変換してしまえばSUMで合計できますしSUMを使えば空欄セルがあっても普通に合計できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) IFERROR(IF()IF())のような形の構文が作れません 2 2023/02/05 17:51
- Excel(エクセル) <追加質問>【Excel関数】特定の文字を別表のリストの文字に変換したい 5 2022/10/23 13:09
- Excel(エクセル) Excel 特定セルの数値を参照したセルの0表示が空白にならないのはどうしてか? 3 2022/04/28 22:23
- Excel(エクセル) エクセルの早退時間を計算したいです。計算はうまくいっているようですが… 1 2022/12/26 16:22
- Excel(エクセル) excel 行でソートすると計算式が上手くいかない。 6 2022/06/01 08:18
- Excel(エクセル) エクセルの関数に関しての質問です。 5 2022/10/07 11:17
- その他(Microsoft Office) 勤務表のエクセル作成で数式を教えてください。 1 2023/01/17 03:27
- Excel(エクセル) エクセルの関数について 5 2023/01/26 15:26
- Excel(エクセル) エクセル 条件に合う日付に入力された時間数の合計したい 4 2022/06/17 22:18
- 小学校 5年 速さを求める 3 2023/02/16 17:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで表示形式の時刻の「0...
-
エクセルのパーセンテージで、...
-
officexpエクセルのゼロ値表記の件
-
エクセルの指数近似曲線の式か...
-
エクセル 時間の表示形式について
-
エクセルの「セル書式」の「表...
-
Excelの数値を文字列にす...
-
エクセル(Excel)で、数値を一定...
-
エクセル2002 #.##0と0.000
-
時間単位の合計について こんに...
-
ファイルメーカーでの計算結果...
-
時間計算をしたいのですが?
-
エクセルで分と秒だけを記録、...
-
エクセルで曜日
-
Excelで1:70と入力した結果表示...
-
エクセルで合計を%にしたい
-
excel 対数関数の目盛りを変えたい
-
計算結果に+-を付けたいのですが
-
EXCELの表示形式
-
エクセル(▲マイナス表示したい)
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで表示形式の時刻の「0...
-
エクセルのパーセンテージで、...
-
CSV形式にすると出てくる空白を...
-
グーグルスプレッドシートで6.5...
-
エクセル(Excel)で、数値を一定...
-
エクセルで四捨五入した数値に...
-
Excelで、小数点以下が0になる...
-
エクセルで上2桁をカットして...
-
エクセルで1ケタ数字に全て000...
-
エクセル(▲マイナス表示したい)
-
エクセルの指数近似曲線の式か...
-
小数点の数値をそのままセルに...
-
エクセルの時間計算でコロン(...
-
エクセル2003で並べ替えす...
-
エクセルで分と秒だけを記録、...
-
24時間以上の表示
-
【Excel】負の時間を入力する方法
-
エクセルで¥5,000-と表示...
-
エクセル3桁区切りの数値を通...
-
エクセルの時間計算表示で、( 0...
おすすめ情報
あ、すみません、
お礼に追加します。
7:00と入ってるのをコピーして貼り付けて、00を30に直しても、同じ事が起こります。
元データはちゃんと07:00と入っています。