• 作成日 : 2025年8月5日

ExcelのTIMEVALUE関数とは?使い方やエラー対処まで解説

TIMEVALUE関数(タイムバリュー)を使えば、文字列の時刻を計算可能な数値に変換でき、勤怠管理や時間計算を効率的に行えます。

Excelで時刻を扱う際、見た目は時刻でも実は文字列というケースは少なくありません。こうしたデータはそのままでは加減算ができず、業務の妨げになります。TIMEVALUE関数は、このような時刻の文字列をExcelが計算可能な「シリアル値」に変換し、正確な時間の計算を可能にします。本記事では、TIMEVALUE関数の使い方から応用、エラー対処までをわかりやすく解説します。

TIMEVALUE関数の基本的な使い方

まず、TIMEVALUE関数の基本的な構文と引数について理解しましょう。

構文: =TIMEVALUE(時刻文字列)

引数である 時刻文字列 には、Excelが時刻として認識できる文字列を指定します。たとえば、「”13:30″」や「”3:00 PM”」のような形式の文字列です。ダブルクォーテーション(”)で囲むか、時刻文字列が入力されたセルを参照して指定します。

具体例を見てみましょう。セルA1に =TIMEVALUE(“15:00”) と入力すると、「0.625」という数値が返されます。これは、Excelが1日(24時間)を「1」として扱い、時刻をその割合を示す小数(シリアル値)で管理しているためです。15時は24時間のうちの15時間目なので、「15 ÷ 24 = 0.625」という計算になります。

確認のため、セルの表示形式を「時刻」に変更してみましょう。セルの上で右クリックし、「セルの書式設定」から「日付または時刻」をクリックし、種類を選択すると、人間が直感的に理解できる「15:00」という表示に変わります。見た目は時刻ですが、セルの内部では計算可能なシリアル値(小数)として保持されている点がポイントです。

なお、引数に「2025/6/20 15:00」のように日付を含む文字列を指定した場合、日付データは無視され、時刻部分のみがシリアル値に変換されます。ただし、日付と時刻の区切り方など、文字列の形式によってはエラーとなる場合があります。

TIMEVALUE関数の利用シーン

TIMEVALUE関数は、文字列として入力された時刻データを使って計算を行いたい場面で特に役立ちます。

たとえば、外部システムから勤怠データをエクスポートした際に、出勤時刻や退勤時刻が文字列として取り込まれることがあります。これらのデータは、見た目上は時刻であっても、Excel上では単なる文字の羅列として認識されるため、そのままでは勤務時間を計算できません。

このような状況では、文字列を Excel の内部時刻(シリアル値)に変換するTIMEVALUE関数が役立ちます。以下の表のように、出勤時刻と退勤時刻が文字列で入力されているとします(文字列は、セル内で左揃えです)。

ABCD
1氏名出勤時刻(文字列)退勤時刻(文字列)勤務時間
2鈴木9:0017:30
3佐藤9:1518:00

勤務時間を計算するために、D2セルに次のような数式を入力します。

=(TIMEVALUE(C2) – TIMEVALUE(B2)) * 24

この数式は、まずTIMEVALUE関数を使ってC2セルの「17:30」とB2セルの「9:00」をそれぞれシリアル値に変換します。その後、退勤時刻のシリアル値から出勤時刻のシリアル値を引き算し、勤務時間を算出します。Excel では 1 日を 1 として表しますが、1 日には 24 時間があるため、「1 日の端数」に 24 を掛けると、その端数が直接合計時間数に変換されます。

最後に24を掛けているのは、算出されたシリアル値(1日の端数)を時間単位に変換するためです。この数式により、鈴木さんの勤務時間として「8.5」時間が算出されます。休憩時間などを考慮しない場合の基本的な計算として利用できます。

このように、計算できない文字列の時刻データを、計算可能な数値に変換することこそが、TIMEVALUE関数の主要な機能です。

TIMEVALUE関数の応用テクニック

TIMEVALUE関数は、他の関数と組み合わせることで、さらに活用の幅が広がります。

TIME関数との違いと使い分け

TIMEVALUE関数とよく似た関数にTIME関数があります。TIME関数は =TIME(時, 分, 秒) のように、数値の時、分、秒を引数として指定した時刻のシリアル値を作成します。

両者の違いは、変換元のデータ形式です。TIMEVALUE関数は「文字列」をシリアル値に変換するのに対し、TIME関数は「数値」をシリアル値に変換します。元のデータが「”13:30″」のような文字列であればTIMEVALUE関数を、時・分・秒が別々のセルに数値として入力されている場合はTIME関数を使う、といったように使い分けるのが良いでしょう。

TEXT関数との組み合わせ

時刻の計算結果を、特定の書式を持つ文字列として表示したい場合に、TEXT関数との組み合わせが有効です。

次のような数式を使います。

=TEXT(書式設定する値, “適用する表示形式コード”)

たとえば、TIMEVALUE関数で算出した時刻のシリアル値を、「〇時〇分」という形式で表示させたいとします。

=TEXT(TIMEVALUE(“13:45”), “h時m分”)

この数式を実行すると、「13時45分」という文字列が返されます。計算結果を報告書や他のドキュメントに貼り付ける際に、表示形式を整える際に便利です。

エラーへの対処法

TIMEVALUE関数を使用する際に、#VALUE!というエラーが表示されることがあります。これは、指定された文字列がExcelによって時刻として認識できない場合に発生します。たとえば、「午後8時」や「10-30」のように、Excelの標準的な時刻形式(例: “20:00″、”10:30″)から外れた文字列を指定するとこのエラーが発生する可能性が高まります。

このエラーを解消するには、引数の文字列を「20:00」や「10:30」のように、Excelが正しく解釈できる形式に修正する必要があります。引数として指定する「セルの書式設定」が「時刻」である場合も、エラーが返されるので留意が必要です。

TIMEVALUE関数で時刻データを有効活用

TIMEVALUE関数は、文字列で表現された時刻をExcelが理解できる「シリアル値」に変換する関数です。これにより、見た目は「9:00」でも内部的には文字列だったデータを、数値として扱えるようになり、時間の引き算や加算がスムーズになります。

勤怠計算やシステム出力の加工に最適で、TEXT関数やIF関数などとの組み合わせでも活用できます。エラーが出た場合は、時刻形式が正しく入力されているかを必ず確認しましょう。業務の時刻処理には、まずTIMEVALUE関数から取り入れるのが近道です。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事