0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Excel】退勤時刻から休憩時間を自動算出するVLOOKUP関数の作り方

Posted at

はじめに

毎日、退勤時間に応じて休憩時間をつい暗算して入力していませんか?
この記事では、ExcelのVLOOKUP関数を使って休憩時間を自動計算する方法をご紹介します。

背景

私が参画していた現場では、勤怠打刻システムとは別に、タイムシートへ勤務実績を転記する必要がありました。しかし、休憩時間は「退勤時刻」や「残業の有無」によって変わるため、毎回暗算で入力しており、ミスが生じる可能性もあり、もう少し効率的に算出できないかと考えExcelのVLOOKUP関数を用いた休憩時間の自動計算を実装しました。
この方法は汎用的に応用できると感じたため、今回記事としてまとめました。
※基本的なVLOOKUP関数の使い方の説明は省いております。

今回のケース

以下のように、あらかじめ休憩時間がシステム上で組み込まれているとします。

  • 12:00 ~ 13:00 → 60分の昼休み
  • 17:30 ~ 17:45 → 15分の残業前休憩(残業前の休憩が必須で設定されています)

そのため、例えば下記の勤務時間で打刻した場合、休憩時間はこちらのようになります。

  • 9:00 ~ 17:30 勤務 → 休憩時間は合計 60分
  • 9:00 ~ 17:45 勤務 → 休憩時間は合計 75分

このように勤務時間によって休憩時間が変動するケースでは、まずは「どの退勤時刻に対して、どの休憩時間を設定するか」を整理する必要があります。
そこで最初のステップとして、マスターテーブルを作成し、ルールを一覧化していきます。
なお、今回は半休等のイレギュラーな勤務時間を除き、終日、通常勤務で昼休憩を取得した場合を想定しています。

ステップ1:マスターテーブルの作成

Excelシート1のA3からB18のセルに、退勤時間ごとに対応する休憩時間を一覧化したマスターテーブルを作成します。
これにより、VLOOKUP関数を使って「退勤時刻 → 休憩時間」を自動的に参照できるようになります。

ポイント

  • 退勤時刻は昇順に並べておくと関数が扱いやすい
  • 分単位で細かく登録するか、ある程度の区切りで登録するかは運用に応じて調整可能

image.png

ステップ2:VLOOKUP関数の記述

次に、シート2のD列にVLOOKUP関数を記述します。

image.png

具体的には、D3セルに以下の数式を入力し、そのまま下方向へコピー(フィルハンドルをドラッグ)します。

image.png

=IFERROR(VLOOKUP(C3,Sheet1!$A$3:$B$18,2,TRUE),"")

この式では、

  • シート2のC3セルに記載した退勤時刻をキーとして検索
  • シート1のマスターテーブル(A列〜B列) から休憩時間を参照
  • 該当データがなければ空白を返す

という処理をしています。

注意点

今回のケースで特に重要なのは、「時刻データ型の一致」と「エラー処理」 です。

  • エラー処理(IFERROR関数)
    VLOOKUPが該当データを見つけられない場合、そのままだと#N/Aが表示されます。
    IFERRORを組み合わせることで、エラー時に空白を返すようにでき、シートの見やすさや可視化に役立ちます。
  • 時刻データの型
    検索値(退勤時刻)と、マスターテーブルの検索列の型をそろえる必要があります。
    どちらも「時刻データ(シリアル値)」なのか、「文字列」なのかが一致していないと、#N/Aエラーが発生する原因になります。
  • 近似一致(TRUE)の指定
    今回は「退勤時刻に最も近い休憩時間」を取得したいので、VLOOKUPの第4引数にTRUE(近似一致)を指定しています。
    例えば 17:46以降の退勤時刻は、マスターテーブルにそのものズバリの値がないため、近い値(17:45の行)を参照する必要があります。
    もし完全一致で検索する場合はFALSEを指定します。

まとめ

この記事では、VLOOKUP関数とIFERROR関数を組み合わせることで、退勤時間に応じた休憩時間の自動算出を実現しました。他にも、シフト管理や工数管理などにも応用可能だと考えていますので、ぜひご自身の業務に導入して、効率化を図るきっかけになれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?