エクセル関数超技
数値を時刻に変換

Excel関数の解説、関数サンプルと高等テクニック
最終更新日:2019-08-09

数値を時刻に変換


数値(例えば930)を、時刻・時間(9:30)に変換する方法です


900 → 9:00
・1230 → 12:30

このように、単なる数値を時刻・時間に変換します。
以下、A1セルに数値が入っているとします。

数値を時刻に変換:方法1

TIME関数を使います。
TIME(時, 分, 秒)

=TIME(INT(A1/100),A1-INT(A1/100)*100,0)


数値を時刻に変換:方法2

TIMEVALUE関数を使います。
TIMEVALUE(時刻文字列)

=TIMEVALUE(TEXT(A1,"0"":""00"))

数値を時刻に変換:方法3

計算のみで実現djr>
エクセルでは、1日が1、つまり
1時間は、1/24
1分は、1/24/60

=INT(A1/100)/24 + (A1-INT(A1/100)*100)/24/60

数値を時刻に変換の注意点

上記方法のいずれが良いか、好みで使い分ければ良いと思いますが、
ただし、
実は、24時間を超える場合は、結果に多少の違いが出ます。


2530 の場合、
方法1 → 1:30
方法2 → 1:30
方法3 → 25:30

表示形式は、いずれも、[h]:mm
としてありる場合の表示です。。

これは、関数の戻り値によるものです。
TIME関数とTIMEVALUE関数の戻り値は、
0 ~ 0.99999999 の範囲にある値で、0:00:00 (午前 0 時) から 23:59:59 (午後 11 時 59 分 59 秒) までの時刻を表します。
となっています。
従って、これらの関数では、24時間以内しか扱えません。

また、数値が、
75
のように、60分を超えている場合では、
全ての方法において、
1:15
と正しく計算されます。

個々の関数・数式の意味合いが解らない場合は、以下で勉強して下さい。
数式.日付時刻のシリアル値
エクセルの日付時刻は、シリアル値と呼ばれる数値で管理されています。日付時刻のシリアル値は、1900/1/1を基準にした数値です。1900/1/1が1です。つまり1900/1/3は3です。シリアル値→日付 10000→1927/5/18 20000→1954/10/3 30000→1982/2/18 40000→ 2009/7/6 41000→2012/4…
INT関数
指定した数値を超えない最大の整数を返します。書式 INT(数値) 数値 切り捨てて整数にする実数を指定します。使用例 セルA1に19.5と入っている場合 =INT(A1)…19 セルA1に-19.5と入っている場合 =INT(A1)…-20 指定の数値を超えない最大整数になります。
TIME関数
引数の時,分,秒を時刻を表すシリアル値に変換します。セルにTIME関数を入力すると、セルの表示形式は自動的に時刻形式に設定されます。書式 TIME(時,分,秒) 時 時を表す数値を0~32767の範囲で指定します。
TIMEVALUE関数
文字列として格納された時刻を、Excelで時刻として認識できるシリアル値に変換します。書式 TIMEVALUE(時刻文字列) 時刻文字列 時刻を表す文字列を指定します。Excelの組み込みの時刻表示形式での時刻を表す文字列です。
時刻・時間についての計算においては常に注意が必要です。
時間計算で困ったときの確実な対処方法
Excelで非常に多い質問の一つが時間計算です、日付・時刻はエクセルのデータ形式の一つですが、特に時間計算は面倒で対処方法も書籍・ネットでもあまりみかけません。日付に関しては便利な関数も用意されていますし、なにより、1日が数値の1(これをシリアル値と言います)で表されているので、大抵はなんとかなっているようです。



同じテーマ「エクセル関数超技」の記事

グラフのデータ範囲を可変にする
セルの個数を数える関数
【奥義】大量データでの高速VLOOKUP
数値を時刻に変換
関数のネスト方法
ワイルドカードが使える関数
グラフで特定の横軸の色を変更し基準線を引く
OFFSET関数 解説・応用・使用例
MATCH関数 解説・応用・使用例
選択行の色を変える(条件付き書式,Worksheet_SelectionChange)
他ブックを参照できる関数、他ブックを参照できない関数


新着記事NEW ・・・新着記事一覧を見る

トランザクション処理|SQL入門(12月11日)
インデックスを作成して高速化(CREATE INDEX)|SQL入門(12月9日)
他のテーブルのデータで追加/更新/削除|SQL入門(12月8日)
データの削除(DELETE)|SQL入門(12月7日)
データの更新(UPDATE)|SQL入門(12月6日)
複数のSELECT結果を統合(UNION,UNION ALL)|SQL入門(12月5日)
テーブルを結合して取得(INNER JOIN,OUTER JOIN)|SQL入門(12月4日)
データベースの正規化とマスタの作成|SQL入門(12月3日)
データベースにおけるNULLの扱い方|SQL入門(12月2日)
オブジェクト変数とは何か|VBA技術解説(12月2日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|VBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.繰り返し処理(For Next)|VBA入門
7.マクロって何?VBAって何?|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説
10.ひらがな⇔カタカナの変換|エクセル基本操作



  • >
  • >
  • >
  • 数値を時刻に変換

  • このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


    記述には細心の注意をしたつもりですが、
    間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
    掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
    掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



    このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
    本文下部へ