• 締切済み

エクセル 時刻計算の方法

 ある書籍でエクセルの勉強をしているのですが、それに記載されている時刻計算の方法がよくわかりません。  その書籍では実働時間を算出する際    I13(18:30)-G13(9:00)-"1:00"としてあります。  このやり方で正しい答えは算出されるのですが、  なぜシリアル値が入力されているセル(I13とG13)と文字列に変換した1:00とで計算できるのでしょうか。  シリアル値と文字列は同じベクトルでは、計算できないので、1:00という数値は、TIME関数を用い TIME(1,0,0)としなければならないのではないのでしょうか。  考え方について、ご存じの方がいらしたらご教示ください。 よろしくお願いいたします。  

みんなの回答

noname#204879
noname#204879
回答No.4

》 文字列に変換した1:00とで計算できるのでしょうか。 クドイ説明は省いて、Excel においては 文字列の数字は、加減乗除(+、-、*、/)される際は、数値として計算される と覚えておきませう。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>シリアル値と文字列は同じベクトルでは、計算できないので、1:00という数値は、TIME関数を用いTIME(1,0,0)としなければならないのではないのでしょうか。 論理的にはその通りです。 しかし、Excelの中では次の方法も文字列を数値化できることになっています。 =VALUE("1:00") → 0.04666・・・・ (循環小数) ="1:00"*1 → 0.04666・・・・ (循環小数) ="1:00"+0 → 0.04666・・・・ (循環小数) 時刻を表す文字列は直接四則演算で数値に置き換えることを暗黙の了解事項として解釈しますのでエラーになりません。 つまり、"1:00"*1はVALUE("1:00")*1と同等に演算する約束ができているのです。

全文を見る
すると、全ての回答が全文表示されます。
  • Chiquilin
  • ベストアンサー率30% (94/306)
回答No.2

Excelでは「計算できる数字の文字列に演算を加えると数値化する」という 仕様があります。 ="2014/1/1"/1 のようにすれば「41640」というシリアル値が返ります。 ただ実際問題「"1:00"」は「1日の 24分の1」なので =I13-G13-1/24 としても同じです。いずれにしろ 演算誤差が発生しているので注意する必 要があると思います。 > TIME(1,0,0)としなければならない そうしたらダメだとは思いませんが TIME関数は 24時間を超える値を扱え ないこともありますし 却って不便ではないでしょうか。

全文を見る
すると、全ての回答が全文表示されます。
  • weboner
  • ベストアンサー率45% (111/244)
回答No.1

単純に言うと 文字列 "1:00" をExcelが時刻としてシリアル値に自動変換しているから もちろんTIME(1,0,0)としても同じ計算結果が得られます

yamato514
質問者

補足

早速 ご回答いただきましてありがとうございます。 ちなみにどのような時にシリアル値に自動変換されるのでしょうか。 なにか規則のようなものがあれば、教えていただけたら幸いです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの関数を教えてください。(時刻の計算)

    例えば、従業員が10人いて、日・週・月ごとに実働時間を集計できるような表を作っています。 A 9:00-17:00 8:00h B 1:00-21:00 8:00h C 3:00-23:00 8:00h : : こんな感じなのですが、実働時間の8時間というのは「退社時刻-出社時刻」で簡単にだせるのですが、ABCの実働時間の合計を普通にSUM関数で出すとシリアル値で計算してしまうので、うまくいきません。 日付・時刻関係の関数をみてみたのですが、どれもうまくいきませんでした。 最終的にはこれに半休が加わったり、食事休憩の時間をマイナスしたり、勤務時間も24時を越えたりするので、少し複雑になってくるのですが、時刻の計算ができないと前に進めません... エクセルはOffice XPを使っています。 よろしくお願いします。

  • Excel 関数 計算式について

    Excel関数について教えて下さい。 下記のようにExcelの縦列で、A列とB列があるとします。 まず、B列の数値が「2.5」以下になる際の”A列のセル数”を算出するには、どのような関数(計算式)を使えば宜しいでしょうか? また、B列の数値が「2.5」のみの”A列のセル数”を算出するには、どのような関数(計算式)を使えば宜しいでしょうか? 但し、実際に計算式を記入するセルはA列でもB列ではなく、X列となります。 A列   B列 1     2.4 3     3.5 5     3.6 2     2.7 1     2.1 1     3.0 4     2.2 1     2.5 2     1.6 1     1.9 1     3.4 3     1.7 1     1.4 6     2.5 1     3.6 5     2.5 宜しくお願い致します。

  • Excel 関数 計算式について

    Excel関数について教えて下さい。 下記のようにExcelの縦列で、A列とB列があるとします。 A列の数値が「1」で、かつB列の数値が「2.5」以下の数(割合)を算出するにはどのような関数(計算式)を使えば宜しいでしょうか? また、上記の計算をすると同時に、その計算結果に当てはまる”B列”の数値を計算して、B列の合計数と平均数を割り出すためにはどのような関数(計算式)を使えば宜しいでしょうか。 個人的には、幾つかのセルに計算式を分ける必要があるかと思いますが、セルを分けるパターンでも分けないパターンてもどちらでも結構です。 但し、実際に計算式を記入するセルはA列でもB列ではなく、X列となります。 A列    B列 1      2.4 3      3.5 5      3.6 2      2.7 1      2.1 1      3.0 4      2.2 1      2.8 2      1.6 1      1.9 1      3.4 3      1.7 1      1.4 宜しくお願い致します。

  • エクセルで計算の結果がある数値の場合のみ文字列を表示させたいです・・・。

    エクセルで計算の結果がある数値の場合のみ文字列を表示させたいのですが、IF関数を使うのかなと思いますが関数がよく解かりません。。。 やりたいことはこんな感じです。 セルG1にはA1-B1、H1にはC1-D1、I1にはE1-F1と計算式が入っています。 計算の結果、▲1になるセルだけを文字列『売上』と表示させたいのですが・・・。 なお、計算の結果は、必ず『1』か『▲1』のどちらかにしかなりません。 つたない質問ですが解決したく困っています。よろしくお願いします。

  • Excel &で他セルを参照させた時の時刻の表示がシリアル値になってしまう

    あるセルに、他の複数のセル内容を、&でつないで表示させたいのですが、 その表示させたい内容のひとつが時刻で、それがどうしてもシリアル値で 表示されてしまいます。時刻のままで表示させたいのですが・・・。 元のセルは今、書式設定は「時刻」になっており、 それを「文字列」にしてしまっても良いのですが、 その場合でも、半角数字:半角数字という書式を維持させたいです。 関数で処理しようと、 HourとMinuteを使う、Timeを使う、なども考えたのですが、 今ひとつスマートでないと思われました。 書式設定などで処理できるならばそれで一番良いのですが・・・。

  • Excelでの時刻入力

    初めて質問を投稿します。 私は仕事でよくExcelを使うのですが、 Excelで時刻入力する際、通常は”15:00”というように入力しますが、 時刻の入力数が多過ぎて、毎回わざわざ”:(コロン)”を入れるのに手間がかかってます。 ”1500”と入力するだけで時刻を入力できる方法ってあるんでしょうか? その入力した時刻データを使って、別セルに関数で計算をさせてるんですが、 シリアル値で入ってないと当然計算ができないので困ってます。 セルの書式設定とかでどうにかできたりするんでしょうか? いい方法をご存知の方、どなたか教えて頂ければ嬉しいです。

  • 時刻の計算について

    A列        B列     20080630133106 20080701030844 というテキスト形式から、時刻を抜き出して労働時間を算出したいのですが、適当な関数がわかりません。日付をまたいでいる点をどうすればクリアできるか、どなたかエクセルマスターの方、お教えください!

  • 時刻×時給計算

    Excel 2010です。 列 A   B    C    D     E      F             G 10:00  19:00   9:00   1:00    8:00    =Eの計算結果*24  時給   としたいのですが、 このページ(http://pc.nikkeibp.co.jp/pc21/tech/excel36/13/)を参考にしたところ、 Fのセルが8になってしまいました、なぜでしょうか? Eの書式設定は時刻です。 Fの書式設定は数値です。

  • EXCEL で 累計時間の計算方法と関数等を教えてください

    例えば  実働時間  1日 8:25 (書式:時刻)        2日 8:55 (書式:時刻)           計 17:20 ・・・(1) (1) の計算式とセルの書式を教えてください

  • Excelで24時間対応の給与計算方法を教えてください

    Excelを使って給与計算をしたいと思っているのですが、うまくいきません。 人数も多く勤務パターンも多いので計算式を作れないでいます。 日付をまたぐ勤務パターンもあるので 24時間で対応できる計算式ができればありがたいです。 ぜひ皆さんのお力をお貸し頂きたくお願いいたします。 セルには A:日付 B:曜日 C:出勤時間(夜勤例18.0で表示) D:退勤時間(夜勤例30.5で表示) E:実働時間(D-Cで求めてます) F:所定労働時間(22時~5時以外で9時間までの実働時間) G:時間外労働時間(22時~5時以外で実働9時間を超えた時間) H:深夜労働時間(22時~5時の実働時間) I:深夜残業時間(22時~5時で実働9時間を超えた時間) ※出勤時間・退勤時間は数値に変換し、退勤時間で24時を越えた時間に関しては+24して基本の勤怠データを作っています。 関数計算式を利用して算出したいのは F:所定労働時間 G:時間外労働時間 H:深夜労働時間 I:深夜時間外労働時間 です。 例えば 日勤:出勤9.0 退勤24.0 実働15時間の場合は F:所定:9h G:残業:4h H:深夜:0h I:深残:2h 夜勤:出勤18.0 退勤31.5(朝の7時半)実働13.5時間の場合は F:所定:4h G:残業:2.5h H:深夜:5h I:深残:2h と計算結果を出したいのです。 給与の支払いに直接関わるのでとても困っています。 よろしくお願いいたします。

専門家に質問してみよう