DATEDIF
อัปเดต 24 ก.ย. 2569 · ตรวจ syntax และเวอร์ชันกับเอกสารของ Microsoft · ผลในตัวอย่างตรวจด้วยเครื่องมือคำนวณ 2 ชุด
DATEDIF คืออะไร
นับจำนวนปี เดือน หรือวันเต็มระหว่างสองวันที่ เช่น อายุงานหรืออายุ
ใช้เมื่อไหร่
- คำนวณอายุงานของพนักงานเพื่อคิดสวัสดิการหรือรางวัลอายุงาน
- ทำหนังสือรับรองที่ต้องระบุอายุงานเป็น ปี เดือน วัน
- นับจำนวนเดือนของสัญญาเช่าหรือสัญญาบริการ
รูปแบบสูตร
Argument แต่ละตัว
ชี้ที่ argument ในรูปแบบสูตรด้านบนเพื่อไฮไลต์แถวนั้น
| Argument | จำเป็นไหม | ความหมาย |
|---|---|---|
| start_date | จำเป็น | วันเริ่มต้นของช่วง เช่น วันเริ่มงานหรือวันเกิด |
| end_date | จำเป็น | วันสิ้นสุดของช่วง ต้องไม่อยู่ก่อน start_date |
| unit | จำเป็น | สิ่งที่ต้องการนับ ใส่ใน "..." เช่น "Y" "M" "D" "YM" "MD" "YD" |
ลองเลย: ตัวอย่างที่เปลี่ยนค่าได้
ข้อมูลชุดเดียวกับไฟล์ฝึก เปลี่ยนค่าในช่องกรอก หรือคลิกตัวเลขในตารางเพื่อแก้ แล้วดูผลลัพธ์เปลี่ยนทันที กดถัดไปเพื่อดูว่า Excel คิดทีละขั้นอย่างไร สีของช่วงในตารางตรงกับสีในสูตร
นับอายุงานถึงวันที่ใน I4 แล้วนับคนที่ครบ 5 ปี
| แถว | A | B | C | D | E | F |
|---|---|---|---|---|---|---|
| 4 | รหัส | ชื่อ-นามสกุล | วันเริ่มงาน | อายุงาน (ปี) | ||
| 5 | E001 | วิไลวรรณ ศรีสมบูรณ์ | 16/5/2012 | 13 | ||
| 6 | E002 | ธนพล แก้วประเสริฐ | 1/8/2016 | 9 | ||
| 7 | E003 | กัญญารัตน์ มีชัย | 31/1/2019 | 6 | ||
| 8 | E004 | ประเสริฐ ทองมา | 31/12/2020 | 5 | ||
| 9 | E005 | ณัฐธิดา พรหมวงศ์ | 1/1/2021 | 4 | ||
| 10 | E006 | อภิชาติ สุขเจริญ | 30/3/2023 | 2 | ||
| 11 | E007 | ศิริพร จันทร์หอม | 29/1/2024 | 1 | ||
| 12 | E008 | ภูริพัฒน์ ใจงาม | 16/6/2025 | 0 | ||
| 13 | ||||||
| 14 | ||||||
| 15 | ||||||
| 16 | ||||||
| 17 | ||||||
| 18 | ||||||
| 19 |
พิมพ์วันที่แบบ วัน/เดือน/ปี ค.ศ. เช่น 5/12/2025
ขั้นตอนการคำนวณ (3)
- อ่านสูตร: DATEDIF(C5,$I$4,"Y") นับปีเต็มตั้งแต่วันเริ่มงานใน C5 ถึงวันที่ใน I4
- ลองเปลี่ยน I4 เป็น 1/1/2026 ณัฐธิดา (E005) จะครบ 5 ปีพอดี จำนวนคนที่ครบ 5 ปีเพิ่มเป็น 5 คน
- ระวัง: "Y" นับเฉพาะปีที่ครบจริง ณัฐธิดาเริ่มงาน 1 ม.ค. 2021 ณ 31 ธ.ค. 2025 ยังขาด 1 วัน จึงได้ 4 ไม่ใช่ 5
ตัวอย่างทั้งหมด 4 แบบ
- 1อายุงานเป็นปีเต็ม · นับอายุงานถึงวันที่ใน I4 แล้วนับคนที่ครบ 5 ปี
- 2อายุงานแบบ ปี เดือน วัน · ต่อผลของ "Y", "YM" และ "MD" เป็นข้อความเดียวด้วยเครื่องหมาย &
- 3เทียบผล unit ทั้ง 6 แบบ · สูตรเดียวในคอลัมน์ C อ้าง unit จากคอลัมน์ A และวันที่จาก I4 กับ I5
- 4MD คลาดเมื่อเริ่มวันที่ 29–31 แก้ด้วย EDATE · คอลัมน์ D ใช้ "MD" ส่วน E หาวันครบเดือนล่าสุดด้วย EDATE แล้ว F นับวันที่เหลือจากวันนั้น
ข้อผิดพลาดที่พบบ่อย
เคล็ดลับจากห้องเรียน
ใช้กับ Excel ของคุณได้ไหม
| เวอร์ชัน | Excel 2016 | Excel 2019 | Excel 2021 | Excel 2024 | Microsoft 365 |
|---|---|---|---|---|---|
| DATEDIF |
DATEDIF ใช้ได้ทุกเวอร์ชันที่ยังใช้กันอยู่ จึงไม่ต้องมีสูตรทางเลือก
เลือกวิธีให้ถูกงาน
| วิธี | ใช้เมื่อ | ตัวอย่าง |
|---|---|---|
| DATEDIF | นับปีหรือเดือนเต็ม เช่น อายุงาน | =DATEDIF(C5,I4,"Y") |
| ลบวันที่ตรง ๆ | ต้องการแค่จำนวนวัน | =I4-C5 |
| DAYS | จำนวนวัน ใส่วันสิ้นสุดก่อนวันเริ่ม | =DAYS(I4,C5) |
| YEARFRAC | จำนวนปีแบบมีทศนิยม เช่น 4.5 ปี | =YEARFRAC(C5,I4) |
| EDATE | หาวันครบรอบ เช่น ครบทดลองงาน 4 เดือน | =EDATE(C5,4) |
ใน Power BI ใช้อะไร
ลำดับ argument เหมือนกัน (วันเริ่ม, วันสิ้นสุด, หน่วย) แต่ DATEDIFF นับจำนวนครั้งที่ข้ามขอบของหน่วย เช่น 31 ม.ค. ถึง 1 ก.พ. ได้ 1 เดือน ขณะที่ DATEDIF ได้ 0 หน่วยเป็นคำสงวน เช่น MONTH ไม่ใส่เครื่องหมายคำพูด และได้ค่าติดลบเมื่อวันเริ่มอยู่หลังวันสิ้นสุด
ไฟล์ฝึก DATEDIF
9Expert-DATEDIF-Practice-v1.2.xlsx
โจทย์ในชีตแบบฝึกหัด
- ข้อ 1อายุงานเป็นเดือนเต็มของพนักงานแถว 8 ถึงวันที่ในช่อง C7
- ข้อ 2จำนวนวันตั้งแต่วันเริ่มงานของพนักงานแถว 13 ถึงวันที่ในช่อง C8
- ข้อ 3เดือนที่เหลือหลังหักปีเต็ม (YM) ของพนักงานแถว 7 ถึงวันที่ในช่อง C9
- ข้อ 4อายุงานของพนักงานแถว 11 ถึงวันที่ในช่อง C10 แสดงแบบ "2 ปี 9 เดือน" (ต่อด้วย " ปี " และ " เดือน")
- ข้อ 5พนักงานแถว 10 อายุงานครบ 5 ปีหรือยัง ณ วันที่ในช่อง C11 แสดง ครบ 5 ปี หรือ ยังไม่ครบ
วิดีโอประกอบ
ในเว็บจริงจะฝังคลิปพร้อมตั้งเวลาเริ่มตรงหัวข้อนี้ ในต้นแบบเปิดผลค้นหาในช่องแทน
เปิดใน YouTubeแบบทดสอบ 3 ข้อ
1. เริ่มงาน 1 ม.ค. 2021 นับถึง 31 ธ.ค. 2025 ด้วย DATEDIF แบบ "Y" ได้เท่าไร
ยังขาดอีก 1 วันจึงครบ 5 ปี "Y" นับเฉพาะปีเต็ม จึงได้ 4
2. ถ้า start_date อยู่หลัง end_date จะได้อะไร
Microsoft ระบุว่า DATEDIF ให้ #NUM! เมื่อวันเริ่มมากกว่าวันสิ้นสุด
3. อยากได้จำนวนเดือนที่เหลือหลังหักปีเต็ม ใช้ unit ใด
"YM" ไม่สนปี นับเฉพาะเดือนที่เหลือ เช่น 13 ปี 7 เดือน ได้ 7
ไปต่อ
ต่อยอดใน Microsoft Excel Advanced: สูตรสรุปผลแบบมีเงื่อนไข สูตรสืบค้นข้อมูล สูตรใหม่ใน Microsoft 365 และการจัดการ Error (2 วัน)