- 作成日 : 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関数が役立ちます。以下の表のように、出勤時刻と退勤時刻が文字列で入力されているとします(文字列は、セル内で左揃えです)。
A | B | C | D | |
---|---|---|---|---|
1 | 氏名 | 出勤時刻(文字列) | 退勤時刻(文字列) | 勤務時間 |
2 | 鈴木 | 9:00 | 17:30 | |
3 | 佐藤 | 9:15 | 18: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関数から取り入れるのが近道です。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルで日付を簡単に入力する方法
エクセルを使って日付を入力する際、多くの方が手間を感じることがあるかと思います。実際、毎回手動で入力するのは煩わしい作業ですし、日付の形式や入力ミスに悩まされることも少なくありません。しかし、エクセルには日付をスムーズに、かつ正確に入力する…
詳しくみるOFFSET関数の使い方をわかりやすく解説
OFFSET関数は、Excelにおいて非常に便利な機能を提供します。この関数を使うことで、指定した範囲からのオフセットを基に、動的にデータを取得することが可能です。使用方法はシンプルですが、プリミティブな範囲算出を超えた応用が期待できる点が…
詳しくみるスプレッドシートで曜日を自動入力するには?便利な関数と活用テクニック
勤怠管理表やスケジュール表を作成する際、日付に対応する曜日を手入力していませんか?Googleスプレッドシートの曜日関連機能を使えば、自動的に曜日を表示でき、入力ミスを防ぎながら作業時間を大幅に短縮できます。 本記事では、曜日の自動入力方法…
詳しくみるスプレッドシートで足し算するには?数式や関数、セル参照の基本と応用まで解説
Googleスプレッドシートの「足し算」は、セルに直接数式を入力する方法から、SUM関数による効率的な合計、条件付き合計や配列関数による高度な集計まで、多様なやり方があります。 使い分けを理解すれば、売上集計や経費計算といった日々のデータ処…
詳しくみるMOD関数とは?使い方から応用例まで初心者向け解説
ExcelのMOD関数(モッド関数)は、割り算の「余り」を求める関数です。奇数・偶数の判定や交互の塗り分け、周期判定など、実務でも活躍します。この記事では、MOD関数の基本から応用例まで初心者にもわかりやすく解説します。 MOD関数とは?基…
詳しくみるNA関数の使い方:意図的にエラー値を生成してデータ処理を制御する方法
NA関数は、#N/Aエラー値を返すエクセルの情報関数です。一見すると単純な機能ですが、グラフ作成時の空白データの処理、VLOOKUP関数との組み合わせ、条件付きエラー表示など、データ分析やレポート作成において使われます。 意図的にエラーを生…
詳しくみる