ฟังก์ชัน DATEDIF ใน Excel เป็นฟังก์ชันที่ใช้คำนวณความแตกต่างระหว่างวันเริ่มต้นและวันสิ้นสุด โดยสามารถเลือกให้แสดงผลลัพธ์ในรูปแบบ “จำนวนปี”, “จำนวนเดือน”, “จำนวนวัน” หรือรูปแบบผสม เช่น “ปีและเดือน” หรือ “เดือนและวัน” ได้อย่างยืดหยุ่น
ฟังก์ชันนี้เหมาะสำหรับการคำนวณอายุบุคคล, อายุงาน, ระยะเวลาในการดำเนินโครงการ, หรือระยะห่างระหว่างวันสำคัญต่าง ๆ โดยใช้งานง่ายและไม่จำเป็นต้องสร้างสูตรซับซ้อน
แม้ว่า DATEDIF จะไม่ได้ปรากฏในรายการแนะนำของ Excel (ไม่มีแสดงขณะพิมพ์สูตร) แต่ก็ยังเป็นฟังก์ชันที่มีอยู่และสามารถใช้งานได้ปกติใน Excel ทุกเวอร์ชัน
ประโยชน์ของฟังก์ชัน DATEDIF ใน Excel
- คำนวณอายุของบุคคลจากวันเกิด
- คำนวณจำนวนปีหรือเดือนที่ทำงานในองค์กร
- คำนวณช่วงเวลาใช้งานสินทรัพย์
- ช่วยวิเคราะห์ข้อมูลเกี่ยวกับเวลาได้อย่างแม่นยำ
รูปแบบการใช้งาน (Syntax)
DATEDIF(start_date, end_date, unit)
อาร์กิวเมนต์ที่ใช้ในฟังก์ชัน DATEDIF มีดังนี้
start_date: วันที่เริ่มต้นend_date: วันที่สิ้นสุดunit: หน่วยที่ต้องการคำนวณ"Y"= จำนวนปีเต็ม"M"= จำนวนเดือนเต็ม"D"= จำนวนวัน"YM"= จำนวนเดือนที่เกินปีเต็ม"YD"= จำนวนวันที่เกินปีเต็ม"MD"= จำนวนวันที่เกินเดือนเต็ม
ตัวอย่างการใช้งาน
=DATEDIF(DATE(2000,1,1), DATE(2024,4,27), "Y")
ผลลัพธ์
24
- วันเริ่มต้นคือ 1 ม.ค. 2000
- วันสิ้นสุดคือ 27 เม.ย. 2024
- หน่วย
"Y"หมายถึงคำนวณจำนวนปีเต็ม - ผลลัพธ์ได้ 24 ปีเต็ม
ต้องการคำนวณระยะเวลาการทำงานของพนักงานแต่ละคนเพื่อประเมินสิทธิการลาพักร้อน

สูตรในเซลล์ C2 (คำนวณปีการทำงานถึงวันนี้ (27/04/2025))
=DATEDIF(B2, TODAY(), "Y")
ผลลัพธ์

- นำวันที่เริ่มงานมาเทียบกับวันปัจจุบัน
- ใช้หน่วย
"Y"เพื่อคำนวณจำนวนปีเต็ม - ได้ระยะเวลาการทำงานของแต่ละคน
ฟังก์ชัน DATEDIF ใน Excel กับการประยุกต์ใช้งาน
ตัวอย่างที่ 1: คำนวณอายุจากวันเกิด
สมมติว่ามีรายชื่อพนักงานและวันเกิด ต้องการคำนวณ อายุปัจจุบัน (ปีเต็ม) เพื่อใช้ในการวางแผนงานสวัสดิการและประกันกลุ่ม
| รหัสพนักงาน | วันเกิด | อายุ (ปีเต็ม) |
| EMP001 | 15/03/1990 | |
| EMP002 | 10/07/1985 | |
| EMP003 | 01/01/2000 | |
| EMP004 | 25/09/1995 | |
| EMP005 | 30/11/1982 |
ต้องการคำนวณอายุในรูปแบบ “จำนวนปีเต็ม” จากวันเกิดเทียบกับวันที่ปัจจุบัน
สูตร
=DATEDIF(B2, TODAY(), "Y")

TODAY()คืนค่าวันที่ปัจจุบัน (เช่น 07/05/2025)B2คือวันเกิดของพนักงาน → เช่น 15/03/1990"Y"ในสูตร DATEDIF หมายถึง ต้องการผลลัพธ์เป็น “จำนวนปีเต็ม” เท่านั้น- Excel จะคำนวณความแตกต่างระหว่างวันที่ (ปี ค.ศ.) โดยไม่ปัดเศษขึ้น เช่น:
- วันที่ 15/03/1990 ถึงวันที่ 07/05/2025 = 35 ปีเต็ม
ผลลัพธ์

ตัวอย่างที่ 2: ใช้ฟังก์ชัน DATEDIF ใน Excel คำนวณอายุงานเป็น “ปีและเดือน” สำหรับพนักงาน
ฝ่ายบุคคลต้องการคำนวณอายุงานของพนักงานในรูปแบบ “X ปี Y เดือน” จากวันที่เริ่มงานจนถึงปัจจุบัน เพื่อใช้จัดสวัสดิการตามอายุงาน
| รหัสพนักงาน | วันที่เริ่มงาน | อายุงาน (ปี เดือน) |
| EMP001 | 01/09/2018 | |
| EMP002 | 15/02/2017 | |
| EMP003 | 10/11/2019 | |
| EMP004 | 20/06/2015 | |
| EMP005 | 05/01/2021 |
ต้องการคำนวณอายุงานโดยแยก “จำนวนปีเต็ม” และ “จำนวนเดือนที่เหลือ”
สูตร
=DATEDIF(B2, TODAY(), "Y") & " ปี " & DATEDIF(B2, TODAY(), "YM") & " เดือน"

DATEDIF(B2, TODAY(), "Y")→ คำนวณปีเต็มตั้งแต่วันเริ่มงานจนถึงวันนี้DATEDIF(B2, TODAY(), "YM")→ คำนวณจำนวนเดือน (ไม่นับปีเต็ม)&ใช้ต่อข้อความให้แสดงเป็น “X ปี Y เดือน”- ได้ผลลัพธ์เช่น “6 ปี 8 เดือน”
ผลลัพธ์

ตัวอย่างที่ 3: คำนวณจำนวนวันระหว่างวันเริ่มโครงการกับวันสิ้นสุด
มีวันเริ่มและวันสิ้นสุดโครงการในคอลัมน์ A และ B ต้องการคำนวณ จำนวนวันทั้งหมด ของโครงการแต่ละงาน
| วันเริ่มโครงการ | วันสิ้นสุดโครงการ | ระยะเวลา (วัน) |
| 01/01/2024 | 30/03/2024 | |
| 15/02/2024 | 28/02/2024 | |
| 01/03/2024 | 15/04/2024 | |
| 10/04/2024 | 10/07/2024 | |
| 01/05/2024 | 30/09/2024 |
สูตร

DATEDIF(A2, B2, "D")→ ให้ผลลัพธ์เป็นจำนวนวันทั้งหมดระหว่างวันเริ่มและวันสิ้นสุด- ไม่คำนวณปีหรือเดือน แสดงผลลัพธ์รวมเป็น “วัน”
- ใช้กับการบริหารเวลาโครงการ หรืองานแผนงานที่มีช่วงชัดเจน
ผลลัพธ์

ตัวอย่างที่ 4: ใช้ฟังก์ชัน DATEDIF ใน Excel แยกจำนวนเดือน (ไม่นับปี)
ในแบบฟอร์มสมัครงาน ผู้สมัครกรอกวันที่เริ่มงานกับวันที่ลาออกในแต่ละตำแหน่ง ต้องการทราบว่าแต่ละคนทำงานตำแหน่งนั้นนานกี่ “เดือน” (โดยไม่นับปี)
| วันที่เริ่มงาน | วันที่ลาออก | เดือน (ไม่นับปี) |
| 01/01/2020 | 15/07/2023 | |
| 10/06/2021 | 20/09/2023 | |
| 01/11/2018 | 01/02/2024 | |
| 05/04/2022 | 05/08/2023 | |
| 15/03/2019 | 10/12/2023 |
สูตร
=DATEDIF(A2, B2, "YM")

"YM"จะให้ “จำนวนเดือน” หลังจากหักจำนวนปีเต็มออกไปแล้ว- เช่น: 01/01/2020 ถึง 15/07/2023 = 3 ปี 6 เดือน →
"YM"= 6 - เหมาะกับการใช้รวมกับ
"Y"เพื่อสร้างการแสดงผลแบบ “X ปี Y เดือน”
ผลลัพธ์

ตัวอย่างที่ 5: แสดงเฉพาะจำนวนวัน (ไม่นับเดือนหรือปี)
ต้องการทราบว่า “วันเกิดของผู้สมัคร” อยู่ห่างจาก “วันที่สมัคร” กี่วัน (เฉพาะจำนวนวัน ไม่นับเดือนหรือปี)
| วันเกิด | วันที่สมัคร | ส่วนต่าง (วัน) |
| 20/03/1995 | 01/03/2024 | |
| 05/10/1990 | 01/10/2024 | |
| 15/12/1988 | 20/12/2024 | |
| 07/06/2000 | 15/06/2024 | |
| 01/01/1999 | 10/01/2024 |
สูตร
=DATEDIF(A2, B2, "MD")

"MD"= “จำนวนวัน” ที่เหลือหลังหักเดือนและปีออก- เช่น 20/03/1995 ถึง 01/03/2024 →
"MD"= 9 วัน - ใช้ในกรณีที่ต้องการวิเคราะห์ “จำนวนวัน” ล้วน ๆ โดยไม่สนเดือนหรือปี
ผลลัพธ์

หมายเหตุ
- ฟังก์ชัน DATEDIF ไม่แสดงในหน้าต่างฟังก์ชันอัตโนมัติของ Excel แต่สามารถใช้งานได้ปกติ
- ระวังอย่าให้
start_dateมากกว่าend_dateเพราะจะทำให้เกิดข้อผิดพลาด - หากต้องการคำนวณระยะเวลาทั้งปี เดือน และวัน ต้องใช้ฟังก์ชัน DATEDIF หลายครั้งในสูตรเดียวกัน
- ฟังก์ชันนี้เหมาะกับการใช้ร่วมกับ ฟังก์ชัน TEXT, ฟังก์ชัน TODAY เพื่อสร้างผลลัพธ์ที่อ่านง่าย
สรุป
ฟังก์ชัน DATEDIF ใน Excel เป็นฟังก์ชันที่เรียบง่ายแต่ประสิทธิภาพสูง เหมาะสำหรับการคำนวณระยะเวลาระหว่างวันที่ในรูปแบบที่ยืดหยุ่น เช่น จำนวนปี เดือน หรือวัน โดยไม่ต้องใช้สูตรที่ซับซ้อน และสามารถประยุกต์ใช้ได้หลากหลายในงานจริง เช่น การคำนวณอายุ อายุงาน หรือระยะเวลาของโครงการต่าง ๆ
ข้อมูลอ้างอิง: DATEDIF function
