• 締切済み

エクセル 時間の足し算

●分●秒 ▲秒 ■分■秒 エクセルで以上のように表記されているものを足して 合計を「○○○秒」と表示したいのですが、 どのようにすればよいのでしょうか?

みんなの回答

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.4

#1です > 文字列だと難しいでしょうか? TIMEVALUE関数も動作しませんので、普通には難しいです と、言うことで、残りはVBAでシリアル値に変換する関数を作成する方向に、なるのかな・・・ Function usTimeValue(usTime As String) As Date Dim I, N As Long Dim usChr, usChg As String Dim usH, usM, usS As Long usH = 0 usM = 0 usS = 0 N = 0 usChg = StrConv(usTime, vbNarrow) For I = 1 To Len(usTime) usChr = Mid(usChg, I, 1) Select Case usChr Case "時" usH = N N = 0 Case "分" usM = N N = 0 Case "秒" usS = N N = 0 Case Else N = N * 10 + Val(usChr) End Select Next I usTimeValue = TimeSerial(usH, usM, usS) End Function と、言う感じで、「時分秒」のシリアル値を取得可能 後は、応用、次第で・・・ね 質問内容からすれば、多分、難し過ぎる領域だと思うよ

toma-chan
質問者

お礼

御礼が遅くなり申し訳ありません。 やはり文字列となると難しいんですね。 せっかく回答いただいたのに内容がさっぱり理解できませんでした。 他の方法を探ってみます。 ありがとうございました。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>のように表記されている があいまい。表示形式でこうなっているのか、人手でこのような文字列が入力されているのか。 それで答えがガラッと変わる。 それをはっきりさせてないレベルということは、日付け(時刻)シリアル値とか、表示形式を勉強してもらわないと、答えも理解できないでしょう。 ーー ただユーザー定義でも正式な時刻入力0:0:14(14秒)を14秒と表示形式で表示させるのは難しいので、人手でこのような文字列が入力されているのかも知れない。 ーー 1秒は=1/24/60/60 0.000011574074074 なのでそれに14をかければよいが、分も文字列の中にあると切り分けが難しい。時は出てくるのかな。 VBAででもやることになるかな。

toma-chan
質問者

お礼

ありがとうございました。 表示は文字列になっています。 お察しの通りエクセルはあまり詳しくないので分かりやすい回答をお願いいたします。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

範囲の内容が文字列で結果が文字列でいいなら =TEXT(SUMPRODUCT(範囲*1),"[s]秒")

toma-chan
質問者

お礼

ありがとうございます。 回答の数式を試してみましたが「0秒」と表示されてしまいました。 表示形式などの問題でしょうか?

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> ●分●秒 > ▲秒 > ■分■秒 の入力が、どう言う入力か、次第では? 普通は、表示形式で [m]分ss秒 と、言う表示形式で足し算 [s]秒 と、言う表示形式で結果表示 合計時間は、Sum関数にて、出力されます 記載されているのは、文字列?表示形式で「分秒」表示したもの?

toma-chan
質問者

お礼

ありがとうございます。 記載は文字列になっています。 文字列だと難しいでしょうか?

関連するQ&A