• 締切済み

エクセルで時間表記を変えたい

一般的には例えば 1時間15分は1.25時間と置き換えられますよね? しかし、うちの会社では、便宜上なのか1時間15分は1.15と表記して管理しているようです。 たとえば、(1)1.15+1.45+2.15=(2)5.15となるわけです。違和感はありますが・・・。 さて、エクセルで計算しても当然に (1)の単純合計は4.75であり、(2)5.15とはなりません。 一旦、0.75の部分を0.75×100/60=1.25 ここから、小数点以下を0.25×60/100=0.15として、 整数部分をたして、やっと5.15となるわけです。 この計算過程をなるべく長々とエクセルで計算させずに即、5.15と導き出す関数のあわせわざなどはありますでしょうか?

みんなの回答

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

>小数点をコロンに変える?とはどういうことでしょうか。 単純にいえば、一度SUBSTITUTE関数で少数点を時刻形式(コロン)に変えて SUMPRODUCT関数で配列加算したのちに、 TEXT関数で時刻形式を小数点に戻しただけです。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.4

>しかし、うちの会社では、便宜上なのか1時間15分は1.15と表記して管理しているようです。 実態を調べてから質問された方が良いですよ。 Excelで時間の計算をするときは「24時間=1」と言う約束事があり、セルの表示形式で「1時間15分=0.0520833333333333」を「1.15」とする方法があります。(ユーザー定義で[h].mとする) 時間だけの計算であれば問題ないと思いますが、時給を掛けて時間外手当を計算するときは勘違いすることになり易いので気を付けてください。 一般的には1時間15分を1:15と表示します。 時間を集計すると24時間以上になる正しい表示にならないことがありますので表示形式を[h]:mのようにします。(26:45のように表示できる)

  • msMike
  • ベストアンサー率20% (368/1813)
回答No.3

》 うちの会社では、…しているようです。 「うちの会社」のことなのに「ようです」とは此れ如何に? 》 …あわせわざなどはありますでしょうか? 当然あります。添付図で十分でしょ? D1: =SUM(A1:C1) D3: =INT(D1)+INT(MOD(D1,1)/0.6)+MOD(MOD(D1,1),0.6)

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

加算に限って言えば、整数部分と小数点以下部分を別にすることになる。少なくとも加算の場合はそのようにする。小数点以下の部分の和は60分の単位で、1時間部分に繰り上げる。 筆算は考慮しないなら、そういうプログラムを組むしかない。 Excelは日付時刻シリアル値というもので、日付、時刻(時間)を(シームレスに)表すことにしている。 これは素晴らしい仕組み・考えだと思う。 それに反する、時間と分を分けた方式での計算は用意してないので、自作関数(VBA)でも作るか、VBAで計算するしかない。2,3手間を抱えるが、ひっ算で遣っている倍の方式だから、知恵が要るわけじゃないでしょう。 複素数の計算はこれに似た部分があるが繰り上げは、考えるものではない。 いそいで書いていてテストがおろそかになっているので、誤りあれば後免。 セルのデータを小数点ピリオッドでスプリットSplitする方法もあるかも。 Sub test01(a) h = 0: m = 0 For Each cl In Range(a) h = h + Int(cl) m = m + (cl - Int(cl)*60) Next MsgBox h + Int(m * 100 / 60) 'MsgBox m * 100 MsgBox (m * 100⦆ Mod 60 End Sub ーー データがA1:A5にある場合の例 1.15 3.45 5.25 4.1 5.35 質問者の言う表現法で時間と分が入力してある場合の例 Sub tes02() test01 ("a1:A5") End Sub またユーザー関数にする方法はある。 ーー ちなみに http://homepage1.nifty.com/gfk/complex.htm エクセルを用いた虚数、複素数計算 ーー ただこういうことをやると、入念なプログラムテストが要る。テストは面倒で、誤りも全部なくすのはむつかしいかもしれない。だからエクセルの定めた方式で、データ入力を1:15:00のように入力することが望ましい。 ーー それが会社の慣習でやめられないというなら、会社(の誰か)がどこかで修正して手間をかけている(しなければならない)だけ。 加算の考え方は、小学生でも知っていることだから、この質問コーナーに持ち出されても仕方がない。

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

>この計算過程をなるべく長々とエクセルで計算させずに即、5.15と導き出す関数のあわせわざなどはありますでしょうか? VBAでユーザー定義関数を作るのが一番いいんですけどね。 (1)の数値がA2:A4にあるとして =TEXT(SUMPRODUCT(SUBSTITUTE(A2:A4,".",":")*1),"H.M")*1

ayumcom
質問者

お礼

やってみましたら、出来ました。 さて、substituteの中の":"はどんな意味ですか? 小数点をコロンに変える?とはどういうことでしょうか。

関連するQ&A