Thep Excel

DATEDIF – คำนวณระยะห่างระหว่างวันที่ (ปี/เดือน/วัน)

DATEDIF เป็นฟังก์ชัน ‘ลับ’ (Hidden Function) ที่ใช้คำนวณระยะเวลาระหว่างวันที่สองวัน โดยสามารถเลือกหน่วยได้: ปี, เดือน, วัน, หรือการรวมกัน เหมาะใช้คำนวณอายุ, อายุงาน, หรือระยะเวลาโครงการอย่างแม่นยำ

=DATEDIF(start_date, end_date, unit)

By ThepExcel AI Agent
2 December 2025

Function Metrics


Popularity
8/10

Difficulty
3/10

Usefulness
8/10

Syntax & Arguments

=DATEDIF(start_date, end_date, unit)

Argument Type Required Default Description
start_date Date Yes วันที่เริ่มต้น (ต้องน้อยกว่าหรือเท่ากับ end_date หากมากกว่าจะได้ #NUM! error)
end_date Date Yes วันที่สิ้นสุด (ต้องมากกว่าหรือเท่ากับ start_date)
unit Text Yes หน่วยที่ต้องการคำนวณ (ต้องใส่ในเครื่องหมายคำพูด): “Y”=ปี, “M”=เดือน, “D”=วัน, “YM”=เศษเดือน(ไม่นับปี), “MD”=เศษวัน(ไม่นับเดือน), “YD”=เศษวัน(ไม่นับปี)

How it works

คำนวณอายุพนักงาน/อายุงาน

ใช้คำนวณอายุเพื่อพิจารณาเกษียณ หรือคำนวณอายุงานเพื่อปรับฐานเงินเดือน/โบนัส

ระยะเวลาสัญญา (Contract Duration)

ตรวจสอบว่าสัญญาเหลือระยะเวลาอีกกี่เดือน กี่วัน

Examples

คำนวณอายุ (ปีเต็ม)
DATEDIF("1990-05-15", TODAY(), "Y")
คำนวณจำนวนปีเต็มจากวันเกิด 15 มีนาคม 1990 จนถึงวันนี้ หน่วย "Y" คือการนับปี โดยปีต้องนับเต็มแล้วจึงนับ
Excel Formula:

=DATEDIF("1990-05-15", TODAY(), "Y")

Result:

34 (ตัวอย่าง)

คำนวณอายุงาน (ปี-เดือน-วัน) ด้วยฟอร์มแตร
DATEDIF(A2, B2, "Y") & " ปี " & DATEDIF(A2, B2, "YM") & " เดือน " & DATEDIF(A2, B2, "MD") & " วัน"
สมมติ A2 = วันที่เข้างาน (1-1-2022), B2 = วันนี้ เราใช้ "Y" หาปีเต็ม, "YM" หาเศษเดือนที่ไม่นับปี, "MD" หาเศษวัน แล้วนำมาต่อกันด้วย & เป็นข้อความ
Excel Formula:

=DATEDIF(A2, B2, "Y") & " ปี " & DATEDIF(A2, B2, "YM") & " เดือน " & DATEDIF(A2, B2, "MD") & " วัน"

Result:

2 ปี 4 เดือน 13 วัน

หาจำนวนวันทั้งหมด
DATEDIF(A1, B1, "D")
หาว่า A1 ถึง B1 ห่างกันกี่วัน โดยใช้หน่วย "D" (Day) ผลลัพธ์เหมือนกับการลบ B1-A1 แต่ DATEDIF ชัดเจนกว่าเรื่องจำนวนตัวเลข
Excel Formula:

=DATEDIF(A1, B1, "D")

Result:

45

ตรวจสอบวันหมดอายุของสินค้า
IF(DATEDIF(TODAY(), A3, "D") > 30, "ยังปลอดภัย", "ใกล้หมดอายุแล้ว")
สมมติ A3 = วันหมดอายุ ใช้ DATEDIF หาว่าเหลือกี่วัน ถ้า > 30 วันแสดง "ยังปลอดภัย" ไม่ก็ "ใกล้หมดอายุแล้ว" โดยใช้ IF
Excel Formula:

=IF(DATEDIF(TODAY(), A3, "D") > 30, "ยังปลอดภัย", "ใกล้หมดอายุแล้ว")

Result:

ยังปลอดภัย

คำนวณ Project Duration ในเดือน
DATEDIF("2025-01-15", "2025-06-30", "M")
คำนวณว่าจากวันที่ 15 มกราคม ถึง 30 มิถุนายน 2025 คือกี่เดือนเต็ม หน่วย "M" นับเดือนเต็มเท่านั้น ผลลัพธ์ = 5 เดือน
Excel Formula:

=DATEDIF("2025-01-15", "2025-06-30", "M")

Result:

5

FAQs

ทำไมพิมพ์ DATEDIF แล้วไม่มี Tooltip แนะนำ?

เพราะ DATEDIF เป็น Compatibility Function (ฟังก์ชันรักษาความเข้ากันได้) มาจากยุคสมัย Lotus 1-2-3 Excel จึงซ่อนไว้ โดยมิให้ Tooltip ขึ้นมา แต่ยังสามารถพิมพ์ใช้งานได้ปกติโดยไม่มีปัญหา

หน่วย "MD" ทำไมถึงมีปัญหา?

Microsoft เองก็รับมาแล้วว่า DATEDIF มี Bug ใน “MD” unit บางกรณี (เช่นตอนคำนวณเกี่ยวกับปีอธิกสุรทิน) ที่แนะนำคือหลีกเลี่ยงใช้ “MD” ถ้าต้องใช้ ลองตรวจสอบผลลัพธ์ให้ดีๆ หรือใช้ =MOD(B1, A1, 32) แทน

ถ้า start_date มากกว่า end_date จะเกิดอะไร?

DATEDIF จะส่งออก #NUM! error ทันที ฟังก์ชันนี้ต้องการให้ start_date น้อยกว่า end_date เสมอ ถ้าต้องการให้ยืดหยุ่น ให้ครอบด้วย IFERROR หรือตรวจสอบก่อนด้วย IF

DATEDIF กับ DAYS() ต่างกันอย่างไร?

DAYS(end_date, start_date) บอกจำนวนวันทั้งหมดเท่านั้น ส่วน DATEDIF(start_date, end_date, “D”) ก็เหมือนกัน แต่ DATEDIF ยังทำให้คำนวณปี/เดือน/เศษต่างๆ ได้ ถ้าแค่นับวัน B1-A1 ก็ได้ 😎

เคล็ดลับอะไรสำหรับคำนวณอายุให้ถูกต้อง?

ใช้ =DATEDIF(birth_date, TODAY(), “Y”) เป็นพื้นฐาน บอกได้เลยว่าวิธีนี้คำนวณแบบ “full year” เหมือนวิธีการหาอายุตามปกติ ถ้าต้องการละเอียดถึงเดือน-วัน ก็ต่อหลายๆ unit เข้าด้วยกัน

Resources & Related

Additional Notes

ฟังก์ชัน DATEDIF (Date Difference) มาจากยุคของ Lotus 1-2-3 เลยนะ เพราะฉะนั้น Excel จึงไม่ลงท้ายให้เห็น Tooltip ในแถบสูตร

แต่ประโยชน์ของฟังก์ชันตัวนี้มหาศาล! บอกได้เลยว่าถ้าต้องการนับว่าห่างกันกี่ปี เดือน วัน DATEDIF คือคำตอบตรงทำการ โดยเฉพาะตอน feature “YM” (เศษเดือนไม่นับปี) กับ “MD” (เศษวันไม่นับเดือน) มันจะช่วยให้ได้ผลลัพธ์ที่ละเอียดมากๆ เช่น “2 ปี 5 เดือน 13 วัน” อย่างเดียว

ข้อควรระวังคือ DATEDIF มี bug บ้างใน Unit “MD” และ “YD” บางสถานการณ์ (โดยเฉพาะกับปีอธิกสุรทิน) ถ้าสงสัยผล ลองเช็คดูหรือหาทางเลือกอื่นเช่น INDEX+MATCH หรือ DAYS() ได้นะ 😎

Leave a Reply

Your email address will not be published. Required fields are marked *