Googleスプレッドシートで時間/時間の計算を行うにはどうすればよいですか?


140

Googleスプレッドシートで時間/時間の計算を行う方法を教えてください。

時間(たとえば、36:00:00)の値があり、それを別の時間(たとえば、3:00:00)で除算して12を取得します。一方のみを他方で除算すると、288になります。 :00:00は、12(または12:00:00)です。

36:00:00が12になるため、hours()関数を使用しても機能しないことに注意してください。


1
= A1 * 24は「1:30:00」を「1.5」に変換します
psycho brm

回答:


136

あなたの式によって返される数は、時間としてフォーマットされている、とあなたはそれがプレーン数としてフォーマットしたい場合は、プレーンな数値形式にセルの書式を変更:セルをクリックし、[OK]をクリックしますFormatNumberNormal

Googleスプレッドシートの時間値は、日と日の一部として表されます。たとえば、36:00:00は数値1.5(1日半)のフォーマットされた表現です。

例のように、36:00:00を3:00:00で除算するとします。Googleスプレッドシートは、1.5を0.125で割った計算12を実行します。結果は、36時間の期間に12の3時間間隔があることを示しています。もちろん、12は時間間隔ではありません。単位のない数量です。

逆に言えば、任意の数値を一度にフォーマットすることが可能です。時刻として12をフォーマットする場合、288:00:00が得られると期待するのは妥当です。12日には288時間が含まれます。


6
素晴らしい答え。数式内でFormat / Number / Normalを実行できるかどうかを知っていますか(例:= Format.Number.Normal(A3))。それがなければ、時間列の複製列を通常のフォーマットで作成する必要があります。
user128807 2012年

2
実際、私にとっての形式は「期間」だったので、時間は単一の合計として合計されました
Marcos Vasconcelos

68

Googleスプレッドシートに期間のフォーマットオプションが追加されました。フォーマット->数値->期間を選択します。


Casebashおよび@xanderoid。すごい!次に、秒なしの期間としてフォーマットする方法について説明します。タイムシートのため、これを使用している可能性があります。期間をHH:mmで表示するために追加できるものはありますか?テキスト式をフォーマットしてみましたが、それは期間を行いません。
Christiaan Westerbeek 2014

経過秒数だけのカスタム日付形式を実行する必要があります。
メンタ2015

32

時間の計算例:

work-start   work-stop   lunchbreak    effective time

  07:30:00    17:00:00          1.5                 8  [=((A2-A1)*24)-A3]

ある時間の値を別の時間の値から減算すると、得られる結果は24時間の端数を表すため、結果に24を掛けると、時間で表される値が得られます。

言い換えると、操作は複数であるが、意味は数値の形式を(日から時間に)変更することです。


3
そして、有効な時間の行をどのようにまとめるか
タリオン2016

@mikkelbreumこの式を表示するつもりだったと思います:=((B2-A2)* 24)-C2しかし、Duration形式を使用している場合、変更された式でも現在のバージョンのGSheetsでは機能しません。10進数の時間を取得するには、次のようにする必要があります:abs(-time(8,30,0)-1)* 24 = 8.5
Steve Gon

22

Googleスプレッドシートの関数TIME(h、m、s)を使用できます。相互に時間(または他の算術演算)を加算する場合は、数式の入力ごとにセルまたはTIMEの呼び出しを指定できます。

例えば:

  • B3 = 10:45
  • C3 = 20(分)
  • D3 = 15(分)
  • E3 = 8(時間)
  • F3 = B3 + time(E3、C3 + D3,0)は19:20に等しい

8

私は同様の問題があり、今のところそれを修正しました

  1. 各セルを時間に合わせてフォーマットする
  2. 合計セル(常に合計)を期間にフォーマットする

7

私はTO_PURE_NUMBER()関数を使用し、それが機能しました。


2
これは、以前行っていたhours:min:secからhoursへの変換よりもはるかに簡単です
HerrBag

これが最良の方法のようです。特に1日以上の時間を合計する場合。結果は小数であることを注意日間お時間を探しているなら、あなたがに乗算24によって必要
TheAtomicOption


2

期間がh:mmの場合、そのセルに保存される実際の値は、1日あたり24時間で割った実数に変換された時間です。

例:6:45または6時間45分は6.75時間6.75時間/ 24 = 0.28125(つまり、6時間45分は1日の28.125%です)。列を使用して期間を実際の数値に変換する場合(たとえば、6:45を0.28125に変換する)、乗算または除算を実行して正しい答えを得ることができます。


0

数式内で書式を設定する場合(たとえば、文字列と値を連結している場合)、前述のGoogleの書式オプションは使用できませんが、TEXT数式を使用できます。

=TEXT(B1-C1,"HH:MM:SS")

したがって、問題のある例では、連結を使用します。

="The number of " & TEXT(B1,"HH") & " hour slots in " & TEXT(C1,"HH") _
& " is " & TEXT(C1/B1,"HH")

乾杯


0

36:00:00A1に3:00:00入力し、B1に入力した新しいスプレッドシートでは、次のようになります。

=A1/B1

C1で戻ると言います12


-9

単一のセルに値を入力します。これは、Googleスプレッドシートでは、どのような形や形式でも期間の形式をまったく処理できないためです。または、スクリプトを作成する方法を学び、チョッパーパイロットとして卒業する必要があります。それもオプションです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.