• ベストアンサー

文字型で入っている時間を合計する方法について

moredeepの回答

  • ベストアンサー
  • moredeep
  • ベストアンサー率66% (2/3)
回答No.1

TO_NUMBERが出来なかったのは、文字であるコロン(:)が入っているからですね。 日付型のSUMはできなかったと思います(間違っていたらごめんなさい)ので、時と分を分けて合計する必要があるかと思います。 SELECT __TO_CHAR(V1.hour + TRUNC(V1.min / 60)) + ':' + TO_CHAR(MOD(V1.min, 60), 'FM00') FROM (SELECT __SUM(TO_NUMBER(SUBSTR(string, 1, 2))) hour, __SUM(TO_NUMBER(SUBSTR(string, 3, 2))) min )V1

mkmksicba
質問者

お礼

SUBSTRで時と分に分けて計算すればできました。 言われてみれば当然と言えば当然なのですが、初心者の私にはその発想が出てきませんでした。 回答ありがとうございます。

関連するQ&A

  • アクセス クエリ 時間の合計

    かなり初歩的な質問かと恐縮ですが、 フィールド名:時間 12:28 14:04 13:00 7:50 上記の様にアクセスのテーブルに時間が入力されている列をクエリの 集計で合計すると表示がおかしかったので、プロパティの書式に 時刻 (S)を指定しました。 そうすると時間の表示は正しい形となったのですが、 合計値がおかしな状態です。 エクセルでは[h]:mm:ssと書式を指定すれば縦列の時間合計値が 正しく表示されますが、アクセスではどういった指定をすれば 時間の合計をすることができるのでしょうか?

  • データ一部分の合計を求めたい

    環境:vb6,access97 質問内容: tableA (項目1,数字1,時間1) (項目2,数字2,時間2) (項目3,数字3,時間3) ・ ・ ・ (項目n,数字n,時間n) データ型: 項目は、テキスト 数字は、小数点2桁まで 時間は、hh:mm このテーブルに対し、一部分の合計を取りたいですが、 sql文の書き方を教えていただきませんか?、 別の方法なら、どんな方法がありますか? 要は、数字小数点以下の合計:       sum(cint(right(数字,2)) 時間mmのみの合計:        sum(cint(right(時間,2)) を求めたいです。よろしくお願いいたします。

  • エクセル 時間の合計

    ある二つの日時の引き算から、下記の時間を算出し その合計をオートSUMで出したいのですが、答えが0:00になります。 なぜでしょうか?お教えください。 ちなみ合計セルの表示書式は[h]:mmにしてます。 5:10 2:50 46:00 290:10

  • 【OpenOffice Calc】で時間の合計

    【OpenOffice Calc】で自分の日々の勤務時間を計算し、算出した一ヶ月分の勤務時間を合計したいのですが、表示がオカシイのです(汗) 一例として、まず日々の勤務時間(夜勤です)を 仮に17:03~5:03として勤務時間セルに=(5:03のセル番号-17:03のセル番号)を入力して勤務時間が12:00で表示されます。 書式設定は分類が時刻、書式が13:37、コードがH:MMです。 ここまでは問題ありません。 問題なのは算出した日々の勤務時間を一ヶ月分オートSUMで合計すると、いきなり数値の頭にマイナスが付くわ、電卓の時間計算機能で手計算した値とは微妙に違う合計値が出てきます(汗) 一ヶ月分の合計を出すセルの書式設定は 分類が時刻、書式が876133:37:46、コードが[HH]:MM:SSです。 異常な値の一例を書いておきます。 出勤   退勤    勤務時間 17:06   5:35     12:29 17:01   5:04     12:03 勤務時間合計⇒    -23:28:00 ぱっと見ても、合計値は24:32になるはずなのにうまく計算されません。 以上よろしくお願いします。

  • 時間を合計すると『0:00』となります

    Excelで勤務時間の計算をしたいのです。1日の勤務時間から、1ヶ月間の勤務時間を計算しようとしています。0:30,1:00,1:30を合計して3:00と表示したいと考えます。今までエクセルで作成したものはきちんと作動していましたが、今回は上手くいきません。セルの書式で[h]:mmとしSUM(範囲)を使用しましたが0:00と表示されます。上記の0:30の時間は別のアクセスソフトから貼り付けています。一応解決方法が2種類見つかりました。その0:30などの数字を打ち直したらキチンと動きます。しかし全部の数字を打ち直すのはかなりの手間です。もちろん半角数字を使用しています。また関数がSUM(A1:A3)だと0:00ですが、SUM(A1+A2+A3)だと3:00と表示されます。しかしこれも+を打ち込むのがかなり手間です。これらの状況をふまえた上でどなたか簡単な解決方法を教えてください。本当に困っています。

  • エクセル 時間の合計数が適正に表示されません

    添付のようなタイムシートを作成しましたが、「合計の時間数」が適正に表示されません。 D12、E12には正しくない合計時間数が表示され、 F12、G12に至っては、表示すらされません(TT) 間違っているのではなく、適正な表示になってくれていないだけだろうなとは理解できるのですが なぜこんな表示になってしまうのか、まったくわかりません。 どなたかご教示いただけないでしょうか。 よろしくお願いいたしますm(_ _)m 各列の関数は以下のとおりです。 D列=C-B-J E列=MIN("8:00",D) F列=D-K G列=C-I 合計のセルは次のように設定しています。 D12=SUM(D5:D11) E12=SUM(E5:E11) F12=SUM(F5:F11) G12=SUM(G5:G11) 各セルの表示形式は、 [h]:mm;; です。 よろしくお願いいたしますm(_ _)m

  • エクセル2003の時間計算の合計

    エクセル2003で時間計算のワークシートを作りました。 1日の労働時間が細切れで、4回くらいの小計を出すことはできたのですが、その合計がどうしても計算できません。 A列:月日 B列:1回目の開始時間 C列:1回目の終了時間・・・ 時間で入力しています。その横に1回目、2回目・・・という風に =TEXT(C7-B7,"h:mm") という計算式を入れて計算させています。 その書式設定を、標準にしても、時間にしても、1,2,3,4回目の合計がn列に =SUM(J7:M7) と入れても、できません。”0”になってしまいます。とても困っています。どうかよろしくお願いします。          

  • 勤務時間数を合計する方法がわかりません

    エクセルで出勤簿を作成しています。勤務時間数を毎日入力して1ヶ月の合計をSUM関数で入力したところ、おかしくなってしまいます。1時間を1:00、4時間20分を4:20で入力していますので単位が普通の数字でないので単純に合計して足してくれないのだと思います。勤務時間数を合計する数式を入力するのはどうしたらよいのでしょうか。初歩的な質問で申し訳ありませんがどなたか教えていただけますでしょうか。宜しくお願い致します。

  • オラクルの条件で時間を指定する方法

    オラクルの条件で時間を指定する方法と格闘中です。 ログのようなデータがたくさんあってそこから、 18時~翌2時のデータはいくつあるか。 というSQL文を書きたいのですが、 うまくいきません。以下のようなSQLなのですが、 どなたかアドバイスいただけないでしょうか? SELECT COUNT(*) as CNT, ID FROM テーブル名 WHERE TO_DATE(DATE型カラム, 'HH24:MI') >= '18:00' AND TO_DATE(DATE型カラム, 'HH24:MI') < '02:00' GROUP BY ID ORDER BY CNT; ちなみにこんなエラーが出ています。 SQLエラー: ORA-01843: 指定した月が無効です。 よろしくお願いいたします。

  • 時間の合計切上げ表示についてご再質問

    先月、時間の合計切上げ表示についてご質問しご回答をいただき解決いたしましたが、不具合が発生し再度ご質問させていただきます。 F4には始業時間を入力します。 I8:I38には出勤時間を入力します。 Z8:Z38には下記の関数を入力して遅刻時間を表示します。 =IF(F4=0,"",IF(OR(I8-F4<=0,I8=""),"",I8-F4)) *上記関数の「I8」はI8:I38にそって変更します。 *F4が未入力の場合は数値は表示しないようにしてます。 Z41にはZ8:Z38の遅刻合計時間を下記の関数を入力して表示します。 =SUM(Z8:Z38) V8:V38には中抜け時間を入力します。 V41にはV8:V38の中抜け合計時間を下記の関数を入力して表示します。 =SUM(V8:V38) H58にはV41:Z41の合計時間を30分単位で切上げて表示します。 前回、H58=CEILING(SUM(V41:Z41),"0:30" を入力すると V41:Z41の合計が1:00ではH58に1:00と表示されますが、 1:30ですと2:00と表示され 2:00ですと2:30と表示され合計プラス30分での表示となります。 *30分単位の入力での表示結果となりますが、時間の合計が1:29の場合は1:30分表示となり、1:31分の場合は2:00表示と正常に表示されます。 *すべての対象セルの書式設定は『ユーザー定義 [h]:mm』としております。 前回、上記の問題の解決方法を質問し下記の関数の入力のご回答をいただきましてこちらの問題は解消されましたが、V41:Z41の合計が「24:00」を過ぎるとH58は「0」からに戻って表示されます。 H58=CEILING(TIME(HOUR(SUM(V41:Z41)),MINUTE(SUM(V41:Z41)),SECOND(SUM(V41:Z41))),"0:30") H58には合計が24:00が過ぎても24:30分などと正しく合計が表示される方法のご教授を何卒よろしくお願いいたします。