---
title: วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก
url: https://www.thepexcel.com/work-time-calculation-2-breaks/
type: post
date: 2019-08-08
updated: 2020-03-30
author: Sira Ekabut
categories: [Excel ทั่วไป]
tags: [TIME, max, min]
---

# วิธีคำนวณระยะเวลาทำงาน แบบมีช่วงเวลาหยุดพัก

ปัญหาหนึ่งที่มีคนถามมาบ่อยๆ เกี่ยวกับเรื่องของการคำนวณเวลา นั่นก็คือ การคำนวณระยะเวลาทำงาน เมื่อเรารู้เวลาเริ่มงาน เวลาเลิกงาน และมีการกำหนดช่วงเวลาพักไว้ เช่น Break อาจมีหลายช่วงด้วย เช่น พัก1 ตอน 12:00-13:00 และ พัก2 ตอน 17:00-18:00 เป็นต้น

 

ในบทความนี้ผมจะขอเขียนอธิบายแนวทางในการคิด ซึ่งหากเข้าใจแล้วจะมีช่วงพักกี่ช่วงเราก็ไม่กลัวครับ

 

ในบทความนี้ผมเตรียมข้อมูลอยู่ในรูปแบบ Table เพื่อให้เห็นชื่อ Field ชัดๆ ตอนเขียนสูตรดังนี้ ([โหลดไฟล์ได้ที่นี่](https://drive.google.com/open?id=16oO_3wsFVoHNq5XXarodboEBgUiKm_4j))

 ![1](https://www.thepexcel.com/wp-content/uploads/2019/08/data-sample.png) 

## แนวคิด

 

เนื่องจากมีการพักสองช่วงเวลา ดังนั้นผมจะขอแบ่งการทำงานออกเป็น 3 Part ดังนี้ เพื่อคำนวณเวลาการทำงานในแต่ละ Part จากนั้นค่อยเอามารวมกันอีกที

 ![2](https://www.thepexcel.com/wp-content/uploads/2019/08/worktime-diagram-0.png) 

## การคำนวณระยะเวลาใน Part 1

 ![3](https://www.thepexcel.com/wp-content/uploads/2019/08/worktime-diagram-part1.png) 

**เวลาจบ** : MIN([@เริ่มพัก1],[@เลิกงาน])

 

**เวลาเริ่ม** : MAX([@เริ่มงาน],0)

 

*ที่เทียบกับเลข 0 เพราะว่าเวลา 0:00 คือการเริ่มต้นวัน ซึ่งมีค่าที่แท้จริงคือเลข 0 นั่นเอง*

 

**Part 1 ทำให้ไม่ติดลบด้วย Max กับ 0** ** : **  
=MAX(MIN([@เริ่มพัก1],[@เลิกงาน])-MAX([@เริ่มงาน],0),0)

 

## การคำนวณระยะเวลาใน Part 2

 ![4](https://www.thepexcel.com/wp-content/uploads/2019/08/worktime-diagram-part2.png) 

**เวลาจบ** : MIN([@เริ่มพัก2],[@เลิกงาน])

 

**เวลาเริ่ม** : MAX([@เริ่มงาน],[@จบพัก1])

 

**Part 2 ทำให้ไม่ติดลบด้วย** **Max กับ 0** ** : **  
=MAX(MIN([@เริ่มพัก2],[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก1]),0)

 

## การคำนวณระยะเวลาใน Part 3

 ![5](https://www.thepexcel.com/wp-content/uploads/2019/08/worktime-diagram-part3.png) 

**เวลาจบ** : MIN(1,[@เลิกงาน])

 

* ที่เทียบกับเลข 1 เพราะว่าเวลา 24:00 ก็คือจบวันพอดี ซึ่ง 1 วันใน Excel มีค่าคือ 1 ครับ *

 

**เวลาเริ่ม** : MAX([@เริ่มงาน],[@จบพัก2])

 

**Part 3 ทำให้ไม่ติดลบด้วย Max กับ 0 : **  
=MAX(MIN(1,[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก2]),0)

 

## รวมระยะเวลา

 

รวมระยะเวลา =[@part1]+[@part2]+[@part3]

 

## สรุปสูตรทั้งหมด

 

part1 =MAX(MIN([@เริ่มพัก1],[@เลิกงาน])-MAX([@เริ่มงาน],0),0)  
part2 =MAX(MIN([@เริ่มพัก2],[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก1]),0)  
part3 =MAX(MIN(1,[@เลิกงาน])-MAX([@เริ่มงาน],[@จบพัก2]),0)  
รวม =[@part1]+[@part2]+[@part3]

 ![6](https://www.thepexcel.com/wp-content/uploads/2019/08/data-sample3.png) 

ถ้ามีพักแค่ทีเดียว เราอาจทำให้ เวลาพัก 1 กับ 2 เหมือนกันไปก็ได้นะครับ เช่น

 ![7](https://www.thepexcel.com/wp-content/uploads/2019/08/applied-1024x218.png) 

หรือถ้ามีพัก 3 อีกเราก็ใช้หลักการนี้ในการวิเคราะห์ได้ครับ ว่า Part4 ควรจะเริ่มต้นที่ไหน ยังไงลองดูนะครับ ถ้าติดก็ Comment ได้เลย

 

## คำนวณค่าแรง

 

สมมติว่าการทำงานแต่ละชั่วโมง มีค่าจ้างด้วย ชั่วโมงละ 100 บาท เราจะคิดค่าจ้างอย่างไร?

 

หากคิดว่าเราจะเอามาคูณกันตรงๆแบบนี้ ผลลัพธ์จะผิด เพราะว่าจริงๆ มันคนละหน่วยกัน   
 เช่น =[@รวมเวลาทำงานในวัน]*[@ค่าจ้างต่อชม]

 ![8](https://www.thepexcel.com/wp-content/uploads/2019/08/wage-cal-1.png) 

หากเราปรับ format ของช่องรวมเวลาเป็น general ให้เห็นค่าที่แท้จริงจะชัดเจนขึ้น

 ![9](https://www.thepexcel.com/wp-content/uploads/2019/08/wage-cal-2.png) 

ค่าที่ออกมาจริงๆ แล้วหน่วยเป็นวัน ไม่ใช่ชั่วโมง (10:10 คือ 0.42 วัน) ดังนั้นการคำนวณเราต้องแปลงหน่วยเป็นชั่วโมงโดยการคูณ 24 ด้วย จึงจะถูกต้อง

 

สรุป สูตร คือ : =[@รวมเวลาทำงานในวัน][@ค่าจ้างต่อชม]*24

 ![10](https://www.thepexcel.com/wp-content/uploads/2019/08/wage-cal-3.png) 

ดังนั้น จำไว้เลยว่า เมื่อไหร่ที่มีการคำนวณเรื่องวันที่/เวลา… อย่าลืมคิดถึงเรื่องของค่าที่แท้จริงของมันนะครับ จะได้ไม่พลาด ^^

---

_Source: [https://www.thepexcel.com/work-time-calculation-2-breaks/](https://www.thepexcel.com/work-time-calculation-2-breaks/)_
