目次
あなたのような読者は、MUOをサポートするために役立ちます。当サイトのリンクを使って購入された場合、アフィリエイト報酬が発生する場合があります。もっと読む
Excel’のTIME関数は、特定の時刻を表す別々の情報を1つのタイムスタンプに変換する効率的な方法です。これにより、ユーザーはより簡単に時間によってレコードを並べ替えたり、機械で読み取れるデータを人間にとって意味のある情報に変換したりすることができます。
また、2つのタイムスタンプの差を求めることもできます。この関数の実装はかなり単純ですが、関数の動作や出力の書式を理解しないと使いこなすのは難しいかもしれません。
ExcelのTIME関数とは?
ExcelのTIME関数は、時、分、秒の別々の値を1つのタイムスタンプに変換する簡単な方法です。この関数は3つの引数を取り、タイムスタンプの各セクションに1つずつ指定します。
最初の引数hourは、選択された時刻の時間部分を表す。TIME関数は、24時間表記を使用します。12時以降の時刻は、AM/PM形式ではなく、24時間形式で表示する必要があります。
入力された時間数が23を超える場合、Excelはその数を24で割ってタイムスタンプの時間値を決定します。その余りが時間の部分に挿入されます。
第2引数のminuteは、現在の時間から経過した分数である。59を超える分は、時間に変換され、第1引数の値に加えられる。
最後の引数secondは、現在の分単位で経過した秒数である。分と同様、59を超える秒は分に変換されて加算される。
標準的なTIME関数は、次のような形式をとる。
=TIME(hour, minute, second)
3つの値をすべて指定すると、TIME関数はタイムスタンプを表す10進数を時、分、秒の単位で返します。注意すべきは、どの引数も負にはなり得ないということです。
さらに、3つともセルへの参照、ハードコードされた数値、または空白でなければならない。これらの条件のいずれかに違反した場合は、タイムスタンプではなく、エラーが返されます。
ExcelのTIME関数の使用例
Excel’のTIME関数には、いくつかの異なる使用例と多くの実用性があります。TIME関数は、複数の拍子記号を1つのタイムスタンプに素早く変換する便利な関数です。
これは、時、分、秒をそれぞれ独立したセルに格納しているような場合に簡単に実現できる。TIME関数は、この3つの値を1つの値に変換することができる関数です。
=time(a2, b2, c2)
TIME関数のもう一つの一般的な使い方は、2つのタイムスタンプ間の時間経過を計算することです。これは、時、分、秒の差を関数の引数として取ることで実現されます。
=TIME(EndTimeHours – StartTimeHours, EndTimeMinutes – StartTimeMinutes, EndTimeSeconds – StartTimeSeconds)
出力は、開始時刻と終了時刻の間の継続時間に対応する10進数である。
Excelのデフォルトでは、TIME関数で出力されるセルの書式は、h:mm:ss AM/PM形式となります。セル’の書式を h:mm:ss, h:mm, mm:ss に切り替えると、時刻ではなく、経過時間を表示することができます。
Excelは、TIME関数によって出力が決定されるセルを、標準の時刻書式を使って自動的に書式設定します。デフォルトでは、これは06:17 PMのような12時間のAM/PMタイムスタンプになります。コンテキストメニューの「セルの書式設定」オプションを使用すると、他の書式設定オプションを選択することができます。
フォーマット一覧の時刻の項目には、標準的な時刻の表示方法がいくつかあります。24時間表記や時分秒表記などです。また、Excelのカスタム書式システムを使用して、これらのセルのカスタム書式を定義し、必要な出力を得ることができます。
この例では、最初の列は未知の機械が生成したIDを表している。次の3列は、機械’の処理のログからExcelに取り込まれたタイムスタンプのデータである。この3つは、プロセスがいつ開始されたかを表しています。最後の3列もログから取り込まれたものですが、プロセスの終了時刻を表しています。
このようなデータは、さまざまな自動化されたシステムから引き出すこともできますし、Excelで作成した自動収集フォームを使って手書きで入力することも可能です。
H欄には、関数
=time(b2, c2, d2)
は、プロセスが開始された時刻を示す、人間が読めるタイムスタンプを生成する。同様に、I列にこの関数を追加すると、プロセスが終了した時刻を表す人間が読めるタイムスタンプが生成される。
=time(e2, f2, g2)
最後に、次の関数を J 列に追加します。
=time(e2 – b2, f2 – c2, g2 – d2) となります。
または、次の式を使うことができます。
=I2 – H2
とし、セルの書式を h:mm:ss に切り替えると、各プロセスの実行時間が表示されます。
タイムスタンプによって、特定の時刻からの合計時間を分単位または秒単位で利用できる場合があります。これらは、TIME機能を使って人間が読みやすいようにフォーマットすることも可能です。
この例のスプレッドシートには、3つの列の情報が表示されます。最初の列は、仮想的な製品の生産ランのIDです。2列目は、その生産が終了した日付です。3列目は、生産が終了したその日の午前0時から何秒経過したかを表しています。
D列の終了時刻から、関数を使って人間が読めるタイムスタンプを作成することができます。
=time(0, 0, c2)
TIME関数は、SUMやAVERAGEなどの他の関数と組み合わせることもできます。TIME関数で作成した実行タイムスタンプのリストを平均化すると、プロセスの平均実行時間が得られます。
TIME関数で生成された一連の経過時間を合計することで、一連の処理の総実行時間を知ることができます。
Excel’のTIME関数を使用する際のベストプラクティス
ExcelのTIME関数には、不正確な結果をもたらすいくつかの落とし穴があります。ユーザーをしばしば悩ませる最大の問題の1つは、出力が10進数であることを理解していないことです。この数値は、午前0時からの経過時間を表しています。
この形式のため、設定した時間、分、秒を足したり引いたりするのは、関数を実行する前に行うのが最も簡単です。このことは、出力に使用されるフォーマットが、時間の捉え方に大きな違いをもたらすことも意味している。
もう一つの問題は、タイムスタンプを差し引く場合、2つの時間が同じ日に発生したものでなければならないことです。24時間以上のタイムスケールは、計算された経過時間が不正確になります。これは、TIME関数の出力が24時間までしか保持できないことに起因しています。
さらに、3つの引数はすべて最大値が32,767である。つまり、大量の分や秒を分解しようとすると、関数がオーバーフローする可能性があります。この場合、望ましい結果ではなく、エラーが発生します。また、負の値も許されず、エラーになります。
Excel’のTIME関数は汎用性が高い
Excel’のTIME関数には、さまざまな使い方があります。例えば、読みやすいタイムスタンプを作成したり、秒や分をわかりやすい形式に変換したりすることができます。TIME関数で作成したタイムスタンプは、2つの異なる時間を比較して、経過時間を求めることもできます。
レポートのフォーマットや、理解しにくいデータから有用な情報を抽出することができます。また、タイミングを基準にして、さまざまなデータを並べ替えたり、フィルタリングしたりすることもできます。このように、TIME関数はExcelのエキスパートにとって必須の知識となっています。