- 更新日 : 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関数を活用し、効率的な時間管理を実現してください。分単位での把握することは、業務効率の改善にもつながります。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
MAXIFS関数とは?複数の条件で最大値を抽出する方法
MAXIFS関数(読み方:マックスイフス関数)は、複数の条件を満たすデータの中から最大値を抽出できる便利なExcel関数です。 従来のMAX関数や、MAXとIFを組み合わせた配列数式よりもシンプルに記述でき、直感的に使えるのが特徴です。 た…
詳しくみるエクセルで見やすい表の作り方をわかりやすく解説
エクセルを使って表を作成する際、見やすさは非常に重要な要素です。情報を整理し、わかりやすく提示することで、閲覧者の理解を助けることができます。そこで本記事では、エクセルで見やすい表を作るための具体的な方法や工夫を解説していきます。初めてエク…
詳しくみるエクセルで見やすい折れ線グラフを作る方法とは?どんな時に使う?
エクセルを用いてデータを視覚的に表現する方法の一つとして、折れ線グラフの作成があります。折れ線グラフは、時間の経過とともに変化するデータのトレンドを把握するために非常に有効です。本記事では、エクセルで見やすい折れ線グラフを作る具体的な手法や…
詳しくみるSUBTOTAL関数とは?使い方や利用シーンをわかりやすく解説
SUBTOTAL関数は、Excelなどのスプレッドシートソフトで使用できる便利な関数の一つです。この関数は、データの集計を行う際に役立ち、合計や平均などの計算を簡単に実行できます。他の集計関数と異なり、フィルターを適用したデータに対しても正…
詳しくみるT関数の使い方:エクセルで文字列を抽出する方法
T関数は、指定した値が文字列の場合はその文字列を返し、文字列以外の場合は空白文字列を返すエクセルの文字列関数です。データ型の判定と文字列の安全な抽出を同時に行える便利な関数で、異なるデータ型が混在する表の処理、エラー回避、条件付き文字列処理…
詳しくみるPMT関数の使い方:ローン計算を簡単にマスターする方法
PMT関数は、ローンなどの定期的な返済額を自動計算できるExcelの財務関数です。住宅ローンや自動車ローンの返済計画を立てる際に欠かせないこの関数は、金利・期間・借入額から正確な支払額を算出します。 本記事では、PMT関数の基本的な使い方か…
詳しくみる