• 更新日 : 2025年8月25日

MINUTE関数の使い方:時刻データから分を抽出する方法

MINUTE関数は、時刻データから「分」の部分だけを取り出す関数です。勤怠管理での細かい時間計算、会議スケジュールの管理、生産ラインのタクトタイム分析、交通機関の時刻表処理など、分単位の時間管理が必要な場面で活用されます。

例えば、「14:35:20」という時刻から「35」という分の値だけを抽出したり、始業時刻が何分過ぎかを判定したりできます。

本記事では、MINUTE関数の基本的な使い方から実践的な活用方法、他の関数との効果的な組み合わせまで、初心者の方にもわかりやすく解説します。

MINUTE関数とは

MINUTE関数は、指定した時刻から0から59までの整数として「分」を返す関数です。エクセルでは時刻を0から1までの小数として内部的に管理していますが、MINUTE関数を使うことで、人間が理解しやすい分の形式で取り出すことができます。

この関数の重要な特徴は、時刻データから分の情報だけを独立して抽出できることです。これにより、15分単位、30分単位といった時間の丸め処理や、定時を基準とした遅刻・早退の判定など、分単位の処理がシンプルに行えます。

MINUTE関数の基本的な使い方

関数の構文を理解する

MINUTE関数の構文は非常にシンプルです。

=MINUTE(シリアル値)

シリアル値には、時刻データが入力されているセル参照、時刻を表す数値、または時刻を返す数式を指定します。

基本的な使用例

実際の使用例を見てみましょう。

A1セルに「9:15:30」という時刻が入力されている場合:

=MINUTE(A1)

この結果は「15」となります。時と秒の情報は無視され、分の部分のみが抽出されます。

現在時刻から分を取得する例:

=MINUTE(NOW())

この数式は現在時刻の分を表示します。値はブックの再計算時(ファイルを開く、セルを編集する、F9で再計算する等)に更新され、時計の進みに連動して常時自動更新されるわけではありません。

様々な時刻形式への対応

MINUTE関数は、様々な形式の時刻データに対応しています。

=MINUTE(“14:30:45”)     ‘ 結果:30

=MINUTE(0.5)            ‘ 結果:0(12:00:00)

=MINUTE(TIME(10,45,0))  ‘ 結果:45

MINUTE関数の実践的な利用シーン

勤怠管理での活用

企業の勤怠管理では、15分単位や30分単位で勤務時間を計算することが一般的です。MINUTE関数を使って出退勤時刻から分を抽出し、適切な単位に丸める処理ができます。例えば、9:07に出社した場合は9:15として計算するような処理が可能です。

遅刻の判定では、MINUTE関数単体ではなく、=(出社時刻-始業時刻)*1440 のように時刻差を分に換算して求めます(遅刻のみを扱うなら =MAX(0,(出社時刻-始業時刻)*1440))。月末の勤怠集計では、これらの細かい時間管理が給与計算の正確性に直結します。

会議室予約システム

会議室の予約管理では、30分や1時間単位でのスケジュール管理が必要です。MINUTE関数で予約時刻の分を確認し、0分または30分以外の予約をエラーにすることで、重複の発生を減らせます。なお、重複を確実に防ぐには、同一会議室・同一時間帯での既存予約との重なり(例:COUNTIFS 等)も併せてチェックしてください。

会議の延長判定では、=MAX(0,(NOW()-終了予定時刻)*1440) のように時刻差を分に換算して算出します。時刻だけを扱う表で日付を持たない場合は、=MAX(0,MOD(NOW()-終了予定時刻,1)*1440) とすると日付跨ぎにも対応できます。

公共交通機関の時刻管理

バスや電車の時刻表データを扱う際、MINUTE関数で発車時刻の分を抽出し、時刻表の作成や遅延分析を行えます。例えば、毎時15分と45分に発車する路線で、実際の発車時刻との差を計算して定時運行率を評価できます。

通勤ラッシュ時間帯の分析では、乗車時刻の分布を調べることで、混雑のピークタイムを特定し、運行ダイヤの最適化に活用できます。

MINUTE関数の応用テクニック

時間の丸め処理

15分単位の切り上げ:

=CEILING(A1, TIME(0,15,0))

(秒を含む時刻でも正しく15分単位に切り上がります)

30分単位での切り捨て:

=TIME(HOUR(A1), INT(MINUTE(A1)/30)*30, 0)

分単位での時間差計算

2つの時刻の分単位の差:

=(B1-A1)*24*60  ‘ 総経過分数

=MOD((B1-A1)*24*60, 60)  ‘ 時間を除いた分のみ

定時との比較

遅刻の判定(始業時刻がB1、出社時刻がA1):

=IF(A1>B1, “遅刻”&ROUNDUP((A1-B1)*1440,0)&”分”,”定時”)

時刻だけで日付を持たない場合(跨ぎ対応・始業が深夜で到着が翌日未明になる想定):

=IF(A1=B1,”定時”,IF(A1>B1,”遅刻”&ROUNDUP((A1-B1)*1440,0)&”分”,”遅刻”&ROUNDUP(((A1+1)-B1)*1440,0)&”分”))

※通常の同日勤務では次式を用いてください。

=IF(A1>B1,”遅刻”&ROUNDUP((A1-B1)*1440,0)&”分”,”定時”)

早退の判定(終業時刻がC1、退社時刻がD1):

=IF(D1<C1, “早退”&ROUNDUP((C1-D1)*1440,0)&”分”,”定時”)

MINUTE関数のよくあるエラーと対策

#VALUE!エラーへの対処

時刻として認識できない値を指定した場合に発生します。

基本的なエラー処理:

=IFERROR(MINUTE(A1), “時刻を入力してください”)

データ型の確認を含む処理:

=IF(ISNUMBER(A1), MINUTE(A1),

IF(ISTEXT(A1), IFERROR(MINUTE(TIMEVALUE(A1)), “時刻形式が正しくありません”),

“数値または時刻を入力してください”))

テキスト形式の時刻データは、TIMEVALUE関数で変換してからMINUTE関数を適用する必要があります。外部システムからインポートしたデータや、手入力されたデータでは、この変換処理が頻繁に必要になります。適切なエラーメッセージにより、問題の原因を素早く特定できます。

日付と時刻の混在

セルに日付と時刻の両方が含まれている場合の処理:

=MINUTE(MOD(A1, 1))  ‘ 日付部分を除去

=MINUTE(A1)  ‘ 日付が含まれていても正しく動作

表示形式の確認:

=TEXT(A1, “yyyy/mm/dd hh:mm:ss”)  ‘ 完全な日時を確認

=”時刻部分: ” & TEXT(MOD(A1, 1), “hh:mm:ss”)

日付と時刻が混在していても、MINUTE関数は正しく分を抽出しますが、セルの表示形式によっては時刻部分が見えないことがあります。書式設定を適切に行うことで、データの全体像を把握できます。業務システムからエクスポートしたデータでは、この問題がよく発生します。

60分を超える時間の扱い

累積時間から分を抽出する場合の注意:

=MOD(INT(A1*24*60), 60)  ‘ 25:30:00 → 30分

=INT(A1*24*60)  ‘ 総分数(25:30:00 → 1530分)

時間集計での処理:

=IF(A1*24>24, “24時間を超えています”, MINUTE(A1))

勤務時間の累計など、24時間を超える時間データを扱う場合、表示形式を[h]:mm:ssにすることで正しく表示できます。

MINUTE関数は0-59の範囲で分を返すため、累積時間の場合は別の計算方法が必要になることがあります。

精度の問題

計算による微小な誤差

厳密な判定が必要な場合は、時刻を丸めてからMINUTEを使います。

  • 最近接の1分に丸めてから分を抽出
    =MINUTE(MROUND(A1, TIME(0,1,0)))
    (MROUNDが使えない場合)=MINUTE(ROUND(A1*1440,0)/1440) ※1分=1/1440日(代替)=MINUTE(ROUND(A1/TIME(0,1,0),0)*TIME(0,1,0))
  • 経過分数を整数で取得(境界誤差を排除)
    =ROUND((B1-A1)*1440, 0)
  • 許容誤差を見込んだ比較例(1秒以内を同時刻とみなす)
    =IF(ABS(B1-A1) < 1/86400, “同時刻とみなす”, “差あり”)

※補足:MINUTE(A1)の戻り値自体は整数なので、通常はそのままで問題ありません。丸めは「時刻シリアル」側に適用してください。

時刻の計算では、浮動小数点演算による微小な誤差が発生することがあります。通常は問題になりませんが、厳密な判定が必要な場合は、適切な丸め処理を行うことで誤差を回避できます。

MINUTE関数と他の関数との組み合わせ

HOUR・SECOND関数との連携

完全な時刻を分解して処理:

=HOUR(A1) & “時” & MINUTE(A1) & “分” & SECOND(A1) & “秒”

=TEXT(HOUR(A1), “00”) & “:” & TEXT(MINUTE(A1), “00”)  ‘ ゼロパディング

3つの時刻関数を組み合わせることで、時刻データを完全に分解し、必要な形式で再構成できます。勤怠システムでの表示や、レポート作成時の時刻フォーマットに活用できます。国際的なプロジェクトでは、24時間表記と12時間表記の変換にも使用されます。

TIME関数での時刻の再構築

15分単位に四捨五入:

=MROUND(A1, TIME(0,15,0))

(MROUNDが使えない場合)=ROUND(A1/TIME(0,15,0),0)*TIME(0,15,0)

30分単位に切り上げ:

=CEILING(A1, TIME(0,30,0))

(代替)=CEILING(A1*48,1)/48

勤怠管理や会議室予約など、特定の時間単位で管理する必要がある場合に有効です。TIME関数と組み合わせることで、元の時刻を保持しながら、管理用の丸められた時刻を生成できます。この手法により、実際の時刻と管理上の時刻を両方記録できます。

IF関数での条件分岐

分による営業時間の判定:

=IF(OR(MINUTE(NOW())=0, MINUTE(NOW())=30), “定時連絡の時間です”, “”)

=IF(MINUTE(A1)<30, “前半”, “後半”)

定期的な業務連絡や、時間帯別の処理切り替えに使用できます。コールセンターでは、30分ごとの休憩時間管理や、シフト交代のアラートに活用されます。製造現場では、定期点検のタイミング管理にも応用可能です。

MOD関数での繰り返し処理

一定間隔での処理判定:

=IF(MOD(MINUTE(NOW()), 15)=0, “15分間隔の処理実行”, “”)

=MOD(MINUTE(A1), 10)  ‘ 10分単位での余り

この判定式は、再計算が行われた時点で「現在の分が15の倍数か」を示すフラグとして利用できます。15分ごとに処理を自動実行したい場合は、VBA の Application.OnTime や Power Automate/外部のタスクスケジューラ等と組み合わせてください。見逃し・重複を避けるには、時刻ログ列に対して =MOD(MINUTE(ログ時刻),15)=0 のように判定する方法が確実です。IoTセンサーからのデータ収集間隔の管理や、定期レポートの自動生成タイミングの制御に有効です。

COUNTIF関数での分布分析

特定の分に集中するイベントの分析:

=COUNTIF(分データ範囲, “=30”)  ‘ 30分ちょうどのイベント数

=SUMPRODUCT((MINUTE(時刻範囲)>=0)*(MINUTE(時刻範囲)<15))  ‘ 0-14分のイベント数

アクセスログの分析や、顧客の来店パターンの把握に使用できます。例えば、正時付近にアクセスが集中する傾向を発見し、サーバーリソースの最適配分に活用できます。小売店では、来店時刻の分析により、スタッフ配置の最適化が可能になります。

TEXT関数での表示形式制御

分を含む柔軟な時刻表示:

=TEXT(A1, “h時m分”)  ‘ 9時15分

=IF(MINUTE(A1)=0, TEXT(A1, “h時”), TEXT(A1, “h時m分”))  ‘ 0分は省略

レポートや画面表示で、読みやすい形式に整形できます。日本語表記と英語表記の切り替えや、正式文書用とカジュアル表示用の使い分けなど、用途に応じた表示が可能です。ユーザーインターフェースの改善に貢献します。

ROUND関数での時間計算

分単位の端数処理:

=ROUND(MOD(終了時刻-開始時刻,1)*1440/15, 0)*15

(MOD(…,1) で日付跨ぎに対応。1440=24*60)

=CEILING(MOD(B1-A1,1)*24, 0.5)

(時間に換算して 0.5 時間単位で切り上げ)

給与計算や請求書作成で必要な、時間の端数処理を正確に行えます。丸め方向(四捨五入/切上げ/切下げ)は、社内規程・労使協定・法令上の要件や実運用(労働者不利益の有無)に適合しているかを必ず確認してください。必要に応じて専門部署・専門家に確認のうえ設定してください。

MINUTE関数は時間管理や勤怠処理に活用できる

MINUTE関数は、時刻データから分情報を抽出するシンプルながら実用的な関数です。勤怠管理、スケジュール調整、時刻表処理など、分単位の時間管理が必要なあらゆる場面で活用できます。

他の時刻関数と組み合わせることで、複雑な時間計算や条件判定も可能になります。15分や30分単位での丸め処理は、実務でもよく使われる典型的な活用方法です。

エラー処理と表示形式を理解すれば、より正確な時間処理が可能になります。

ぜひ日々の業務でMINUTE関数を活用し、効率的な時間管理を実現してください。分単位での把握することは、業務効率の改善にもつながります。


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

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

関連記事