PC

エクセル(Excel)やオープンオフィス(OpenOffice Calc)で時間を足したり引いたり掛けたり割ったりして計算する方法

投稿日:2018年4月24日 更新日:

エクセル(Excel)やオープンオフィス(OpenOffice Calc)で時間同士を足したり引いたりしようとしたら、ただの足し算や引き算になって混乱したので、その時に調べたことを共有。

結論から言うと

ポイントは次の3点

  1. セルの書式設定を「時刻」に設定した上で、時刻の形式で値を入力。
  2. TIME()関数の利用。
  3. 24を掛ける、または24で割る。

目的別に整理すると

  1. 時間同士を足したり引いたりしたい場合は、セルの書式設定が「時刻」に設定されていれば普通にできる。
  2. 時間同士ではない値を足したり引いたりしたい場合は、TIME()関数を利用。
  3. 時間を掛けたり割ったりしたい場合は、24を掛けたり割ったりする。

目的別の解法は、次項「全ての基本」の次にそれぞれ説明。

全ての基本

全ての基本は、

  1. セルの書式設定を「時刻」に設定。
  2. 値を「11:30」のような時刻の形式で入力。

することが超重要。

これが設定されていないと、例えばセルの書式設定が「テキスト」になっていたり、入力された値が時刻の形式ではなく、1130のような値になっていたりするとこれから説明する方法をいくら試したところで、徒労に終わる。

この基本を踏まえた上で、目的別の解法についてそれぞれ説明。

目的別解法

時間同士を足したり引いたりしたい場合

例えば11時30分と10時50分の時間の差を得たい場合。

この場合、

セルの書式設定が「時刻」に設定されていれば、普通に計算できます。

「11:30」から「10:50」を引けば「00:40」になり、「11:30」に「10:50」を足せば「22:20」になります。

この時、セルの書式設定が「時刻」になっていたとしても、「1130」や「1050」など、入力されている値が時刻の形式になっていないと計算できないので注意。

時間同士の差
A
1 11:30
2 10:50
3 00:40 =A1-A2
時間同士の和
A
1 11:30
2 10:50
3 22:20 =A1+A2

※ セルの書式設定は全て「時刻」。

上の表は実際に表計算ソフトで利用する時の例です。

便宜上、表示上の値(Aの列)と式を分けて書いています。例えば「時間同士の和」の表では「A3」のセルに「=A1+A2」と入力すると「A3」のセルに「22:20」が表示される、という意味です。式の列に何も値がない場合は、Aの列の値が入力されている値です。

これ以降にもいくつか表を例示しますが、他の表についても同じです。

時間同士ではない値を足したり引いたりしたい場合

例えば、

  • セルの書式設定が時刻であるセルと、セルの書式設定が数値であるセルの差を時間の差として得たい。
  • またはセルの書式設定が(時刻ではなく)数値であるセル同士の値の和を時間の和として得たい。

ような場合。

この場合、単純にセルとセルの差を取ろうとすると、セルの書式設定が数値であるセルの値が時間として扱われないため、正しい値を得ることができませんが、

TIME()関数を使って数値を時刻に変換することで、計算できます。

TIME()関数の使い方は、

エクセル(Excel)の場合、

=TIME(時, 分, 秒)

オープンオフィス(OpenOffice Calc)の場合は、

=TIME(時; 分; 秒)

と指定することで、指定された数値から時間としての値を得ることができます。

例えば、「TIME(12, 0, 0)」は「12:00」、「TIME(0, 45, 0)」は」「00:45」、「TIME(12, 45, 0)」は「12:45」を得ることができます。

時刻と数値の差を時間の差として得る
A
1 11:30
2 80
3 10:10 =A1-TIME(0, A2, 0)

※1. A2の書式設定は「数値」、他のセルの書式設定は「時刻」
※2. A2の値を80分として扱いたい場合。

数値と数値の和を時間の和として得る
A
1 700
2 300
3 16:40 =TIME(0, A1, 0)+TIME(0, A2, 0)

※1. A1とA2の書式設定は「数値」、A3の書式設定は「時刻」。
※2. A1とA2の値をそれぞれ700分、300分として扱いたい場合。

時間を掛けたり割ったりしたい場合

例えば、3時45分の3倍の時間を得たい場合や、12時54分の1分の1の時間を得たいような場合。

表計算ソフトでは、時間は内部的にシリアル値という特別な値を使って管理されているため、普通に掛けたり割ったりしても正しい値を得ることができません。

しかし、

  • シリアル値は24を掛けることで10進数に変換できる
  • 10進数は普通に計算できる。
  • 10進数を24で割るとシリアル値に変換できる。

ことから、

時間に24を掛けて10進数に変換した上で、普通に計算後、10進数を24で割ることで時間に再変換する、という手順で時間の乗除を行うことができます。

さて、何故時間(シリアル値)に24を掛けると10進数としての値を得られるのか?

ですが、

時間を表すシリアル値の正体は10進数を24分の1にしたものだからです。

何故24分の1にするのかは、24時間の時に丁度1となり都合が良いからです。逆に言うと、シリアル値は1日の長さである24時間という長さを1として扱っているため、24を掛けると10進数に変換できる、とも言えます。

また、この計算を逆に行い、10進数を24で割ることで、シリアル値に変換することもできるので、時間を10進数に変換して行った計算の結果を、再びシリアル値に戻すことで、結果として時間の乗除を行うことができます。

例えば「3:54」の3倍の時間を計算する場合。

時間の積
A シリアル値 備考
1 3:54 0.1625
2 3.9 =A1*24 0.1625 10進数に変換
3 11.7 =A2*3 0.4875 10進数として3倍
4 11:42 =A2/24 0.4875 シリアル値に戻す

※ A1とA4の書式設定は「時刻」、A2とA3の書式設定は「数値」。

例えば「12:54」の2分の1の時間を計算する場合。

時間の商
A シリアル値 備考
1 12:54 0.05375
2 12.9 =A1*24 0.05375 10進数に変換
3 6.45 =A2/2 0.26875 10進数として2分の1
4 6:27 =A2/24 0.26875 シリアル値に戻す

※ A1とA4の書式設定は「時刻」、A2とA3の書式設定は「数値」。

ちなみにシリアル値、という言葉は時間以外の文脈、例えば日付けを扱う時等にも登場しますが、日付けのシリアル値の場合、それは1900年01月01日からの経過日数を表すもので、シリアル値はそれぞれの文脈において異なるものなので、混同しないように気を付けてください、ここで紹介しているのはあくまで時間のシリアル値です。

まとめ

表計算ソフトでの時間の扱いはとっつきにくいですが、分かってしまえば簡単です。

基本はセルの書式設定を「時刻」に設定し、セルの値を時刻として扱うこと。

これだけで大抵の場合は用が足ります。

そして、

時刻以外のセルを時刻として演算を行いたい場合は、

TIME()関数を使って数値を時刻に変換。

時間の乗除を行いたい場合は、

一度24を掛けて10進数に変換して計算した後、24で割ってシリアル値に戻す。

以上です。

参考ページ

-PC
-

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


関連記事

no image

Windowsでマウスやキーボードからスリープから復帰する方法

電源ボタンで用は足りるのだけど、電源ボタン押しすぎて電源ボタン壊れたらやだなー、と思ってマウスやキーボードからスリープ復帰できる方法を模索。 というかたぶん何にも設定いじってなければWindowsのデ …

no image

DVDやCDからISOイメージを作成する方法を調べてみた

昔はISOイメージを作成するソフトというのは山のようにあって、まあ、ISOイメージを作成する必要が生じたら、簡単にダウンロードして使うことができたのだけど、なんか最近の事情はそうではないらしく、ちょっ …

no image

Windows10でやたらとメモリを消費するRuntime Brokerというプロセスと解消法

特に何もしてないのに急にパソコンのファンがうなりをあげることが多いので、重い腰を上げて調べてみた。 うなりをあげたタイミングでタスクマネージャーを立ち上げてウォッチしてみると、総メモリの70%以上を占 …

no image

MS IMEを無効にしてATOKやGoogle IME(Google日本語入力)から勝手に切り替わらないようにする方法

ATOKやGoogle-IMEを使っている時に勝手にMS-IMEに切り替わってしまうと不便、というかとてもイラッとしますよね、というかします。 そもそもIMEを切り替えて使う用途なんてほとんどないのだ …

PCパーツ(部品)の相性問題とは実際のところ何か?

PCやPCのパーツ(部品)がうまく動かなかった時、「相性問題」という言葉をよく聞くと思います。 さて、この「相性問題」とは一体何でしょうか? 相性問題、と言われると、正常な部品同士でも部品の組み合わせ …