เคยไหมครับที่ต้องมานั่งนับอายุของคนในทีม หรือคำนวณอายุงานของพนักงานทีละคนจากวันเริ่มงาน? ยิ่งถ้ามีข้อมูลเป็นร้อยเป็นพันคน การมานั่งนับเองนอกจากจะเสียเวลาแล้ว ยังอาจเกิดข้อผิดพลาดได้ง่ายอีกด้วย วันนี้ “น้องไอที” มี สูตรคำนวณอายุ Excel ที่เป็นเหมือน “สูตรลับ” มาฝากครับ สูตรนี้จะช่วยให้คุณคำนวณได้ทั้งอายุและอายุงาน โดยแสดงผลเป็น “ปี เดือน วัน” ได้อย่างแม่นยำและรวดเร็วในพริบตาเดียว ปัญหาน่าปวดหัวเหล่านี้จะหมดไปแน่นอนครับ
DATEDIF คืออะไร? ทำไมถึงเป็นสูตรลับ?
หัวใจหลักของการคำนวณในวันนี้คือฟังก์ชัน DATEDIF ครับ ที่บอกว่าเป็นสูตรลับก็เพราะว่าเมื่อเราพิมพ์ =DATEDIF( ใน Excel จะไม่มีคำอธิบายฟังก์ชันขึ้นมาช่วยเหลือ (Auto-complete) เหมือนฟังก์ชันอื่นๆ ทำให้หลายคนอาจไม่เคยรู้จักหรือไม่เคยใช้งานมาก่อน แต่จริงๆ แล้วมันเป็นฟังก์ชันที่มีประสิทธิภาพมากสำหรับการคำนวณหาระยะห่างระหว่างวันสองวันครับ (คุณสามารถอ่านข้อมูลเชิงลึกเพิ่มเติมได้จาก เอกสารทางการของ Microsoft โดยตรง)
โครงสร้างของสูตร DATEDIF นั้นเรียบง่ายมากครับ:
=DATEDIF(วันเริ่มต้น, วันสิ้นสุด, "รูปแบบผลลัพธ์")
- วันเริ่มต้น (Start_date): คือเซลล์ที่มีวันที่เริ่มต้น เช่น วันเกิด หรือ วันที่เริ่มทำงาน
- วันสิ้นสุด (End_date): คือเซลล์ที่มีวันที่สิ้นสุด โดยส่วนใหญ่มักจะใช้วันที่ปัจจุบัน ซึ่งเราสามารถใช้ฟังก์ชัน
TODAY()เข้ามาช่วยได้ครับ - รูปแบบผลลัพธ์ (Unit): คือตัวกำหนดว่าเราต้องการให้ผลลัพธ์แสดงเป็นอะไร ซึ่งมีสัญลักษณ์ที่ใช้บ่อยๆ ดังนี้:
"Y": คำนวณหาจำนวน ปี เต็ม"M": คำนวณหาจำนวน เดือน เต็ม"D": คำนวณหาจำนวน วัน ทั้งหมด"YM": คำนวณหาจำนวนเดือนที่เหลือ หลังจากหักปีเต็มออกไปแล้ว (เศษของปี)"MD": คำนวณหาจำนวนวันที่เหลือ หลังจากหักปีและเดือนเต็มออกไปแล้ว (เศษของเดือน)
วิธีใช้สูตร DATEDIF คำนวณอายุ (แบบแยกส่วน ปี, เดือน, วัน)
วิธีนี้เป็นวิธีพื้นฐานที่เข้าใจง่ายที่สุด เหมาะสำหรับผู้เริ่มต้น โดยเราจะแยกคำนวณ ปี, เดือน, และวัน ออกจากกันคนละเซลล์ครับ
สมมติว่า:
- วันเริ่มงานของพนักงานอยู่ที่เซลล์
D3 - เราต้องการให้ผลลัพธ์แสดงที่เซลล์
E3(ปี),F3(เดือน), และG3(วัน)
ขั้นตอน:
- คำนวณหา “ปี”: ที่เซลล์
E3พิมพ์สูตร:Excel=DATEDIF(D3,TODAY(),"Y")สูตรนี้จะคำนวณจำนวนปีเต็มจากวันเกิด (B2) จนถึงวันปัจจุบัน - คำนวณหา “เดือน”: ที่เซลล์
F3พิมพ์สูตร:Excel=DATEDIF(D3,TODAY(),"YM")สูตรนี้จะคำนวณหาเศษเดือนที่เหลือ หลังจากนับปีเต็มไปแล้ว - คำนวณหา “วัน”: ที่เซลล์
G3พิมพ์สูตร:Excel=DATEDIF(D3,TODAY(),"MD")สูตรนี้จะคำนวณหาเศษวันที่เหลือ หลังจากนับปีและเดือนเต็มไปแล้ว - คัดลอกสูตร: คลิกเลือกเซลล์
E3,F3, และG3จากนั้นนำเมาส์ไปชี้ที่มุมขวาล่างของเซลล์ที่เลือก (จะเห็นเป็นเครื่องหมายบวกสีดำ) แล้วดับเบิลคลิกหรือลากลงมาเพื่อใช้งานกับข้อมูลแถวอื่นๆ ได้ทันทีครับ

สูตรคำนวณอายุแบบรวมในช่องเดียว
สำหรับใครที่ต้องการให้ผลลัพธ์แสดงจบในเซลล์เดียว เช่น “35 ปี 8 เดือน 12 วัน” เพื่อความสวยงามและง่ายต่อการอ่าน เราสามารถนำสูตรทั้ง 3 ส่วนมารวมกันโดยใช้เครื่องหมาย & (Ampersand) เพื่อเชื่อมข้อความเข้าด้วยกันได้ครับ
ตัวอย่าง: จากข้อมูลเดิม (วันเริ่มงานอยู่ที่ D3) ที่เซลล์ E3 พิมพ์สูตร:
Excel
=DATEDIF(D3,TODAY(),"Y") & " ปี " & DATEDIF(D3,TODAY(),"YM") & " เดือน " & DATEDIF(D3,TODAY(),"MD") & " วัน"
เพียงเท่านี้ ผลลัพธ์ทั้งหมดก็จะถูกนำมาต่อกันเป็นข้อความที่อ่านง่ายในเซลล์เดียว ทำให้รายงานของคุณดูเป็นมืออาชีพมากขึ้นเยอะเลยครับ

ประยุกต์ใช้: คำนวณอายุงานของพนักงาน
เราสามารถใช้หลักการเดียวกันนี้กับการคำนวณอายุงานได้เลยครับ เพียงแค่เปลี่ยน “วันเริ่มต้น” จากวันเกิดเป็น “วันที่เริ่มงาน” เท่านั้นเอง
สมมติว่า:
- วันที่เริ่มงานอยู่ที่เซลล์
D3
สูตรแบบรวมในช่องเดียว:
Excel
=DATEDIF(D3,TODAY(),"Y") & " ปี " & DATEDIF(D3,TODAY(),"YM") & " เดือน " & DATEDIF(D3,TODAY(),"MD") & " วัน"
ผลลัพธ์ที่ได้ก็คืออายุงานของพนักงานคนนั้นจนถึงปัจจุบัน ง่ายและสะดวกมากครับ
บทสรุป (Conclusion)
ฟังก์ชัน DATEDIF ถึงแม้จะเป็นฟังก์ชันที่ซ่อนอยู่ แต่ก็เป็นเครื่องมือที่ทรงพลังอย่างไม่น่าเชื่อสำหรับการ คำนวณอายุและอายุงานใน Excel ช่วยลดเวลาและป้องกันความผิดพลาดจากการคำนวณด้วยมือได้อย่างสิ้นเชิง ไม่ว่าคุณจะเป็นผู้ใช้งานทั่วไปที่ต้องการคำนวณแบบง่ายๆ หรือเป็น Power User ที่อยากให้รายงานดูสวยงามเป็นระเบียบ ฟังก์ชันนี้ก็ตอบโจทย์ได้ทั้งหมด ลองนำไปปรับใช้กับงานของคุณดูนะครับ รับรองว่าจะช่วยให้ชีวิตง่ายขึ้นอีกเยอะเลยครับ
คำถามที่พบบ่อย (FAQ)
-
ทำไมใช้สูตรแล้วขึ้น
#NUM!?ปัญหานี้มักเกิดจาก “วันเริ่มต้น” มากกว่า “วันสิ้นสุด” ครับ ให้ลองตรวจสอบข้อมูลวันที่ในเซลล์ให้ดีว่าใส่สลับกันหรือไม่ หรือวันที่เริ่มต้นเป็นวันที่ในอนาคตหรือเปล่า
-
ถ้าวันที่เป็นปี พ.ศ. ต้องทำอย่างไร?
Excel จะคำนวณโดยอิงจากปี ค.ศ. เป็นหลัก หากคุณใส่ข้อมูลเป็น พ.ศ. เช่น
15/10/2535Excel อาจเข้าใจว่าเป็นปี ค.ศ. 2535 ซึ่งผิดพลาด วิธีแก้คือควรใส่ข้อมูลวันที่เป็นปี ค.ศ. (เช่น15/10/1992) เพื่อการคำนวณที่ถูกต้องเสมอครับ -
สามารถใช้กับ Google Sheets ได้หรือไม่?
ได้ครับ ฟังก์ชัน
DATEDIFสามารถใช้งานบน Google Sheets ได้ด้วยโครงสร้างและวิธีการเดียวกันกับใน Excel ทุกประการครับ






