
ใช้ Excel คำนวณอายุเป็น ปี เดือน วัน รวมไว้ในเซลล์เดียวกัน
ถ้าต้องการคำนวณอายุของบุคคลให้แสดงผลแบบ ปี เดือน วัน เราสามารถใช้ฟังก์ชัน IF()
รวมกับฟังก์ชัน DATEDIF()
มาช่วยเราทำงานได้
สมมติว่าเราต้องการข้อมูลดังภาพด่านล่าง

จากตัวอย่าง ถ้าอายุเป็นจำนวนปีบริบูรณ์ เราจะแสดงเฉพาะปี ถ้าอายุมีเศษเป็นเดือน แต่ไม่มีเศษเป็นวัน เราก็จะแสดงเฉพาะปีและเดือน สรุปว่า แสดงเฉพาะข้อมูลที่ไม่เป็น 0 นั่นเอง
จากข้อมูลตัวอย่าง เราเก็บข้อมูลวันเกิดไว้ที่คอลัมน์ B เราจะเขียนสูตรคำนวณอายุของคนแรกก่อน โดยการเขียนสูตรที่เซลล์ C2 ดังนี้
=IF(DATEDIF(B2, TODAY(), "Y") > 0, DATEDIF(B2, TODAY(), "Y") & " ปี ", "") & IF(DATEDIF(B2, TODAY(), "YM") > 0, DATEDIF(B2, TODAY(), "YM") & " เดือน ", "") & IF(DATEDIF(B2, TODAY(), "MD") > 0, DATEDIF(B2, TODAY(), "MD") & " วัน", "")
จากสูตร ขออธิบายไล่ตามลำดับดังนี้
IF(DATEDIF(B2, TODAY(), "Y") > 0, DATEDIF(B2, TODAY(), "Y") & " ปี ", "")
นำวันเกิดมาเปรียบเทียบกับวันปัจจุบัน (ฟังก์ชันTODAY()
) แล้วแสดงผลออกมาเป็นตัวเลขจำนวนปี ถ้าจำนวนปีมากกว่า 0 ให้แสดงจำนวนปี ตามด้วยคำว่า “ปี” แต่ถ้าไม่ใช่ ก็ไม่ต้องแสดงข้อความใด ๆIF(DATEDIF(B2, TODAY(), "YM") > 0, DATEDIF(B2, TODAY(), "YM") & " เดือน ", "")
นำวันเกิดมาเปรียบเทียบกับวันปัจจุบัน (ฟังก์ชันTODAY()
) แล้วแสดงผลออกมาเป็นตัวเลขจำนวนเดือนที่เป็นเศษจากปี ถ้าจำนวนเดือนมากกว่า 0 ให้แสดงจำนวนเดือน ตามด้วยคำว่า “เดือน” แต่ถ้าไม่ใช่ ก็ไม่ต้องแสดงข้อความใด ๆIF(DATEDIF(B2, TODAY(), "MD") > 0, DATEDIF(B2, TODAY(), "MD") & " วัน", "")
นำวันเกิดมาเปรียบเทียบกับวันปัจจุบัน (ฟังก์ชันTODAY()
) แล้วแสดงผลออกมาเป็นตัวเลขจำนวนวันที่เป็นเศษจากเดือน ถ้าจำนวนวันมากกว่า 0 ให้แสดงจำนวนวัน ตามด้วยคำว่า “วัน” แต่ถ้าไม่ใช่ ก็ไม่ต้องแสดงข้อความใด ๆ- เชื่อมเงื่อนไขทั้ง 3 ข้างต้นด้วยเครื่องหมาย
&
จากสูตร เราจะได้ผลลัพธ์เป็นอายุในรูปแบบ ปี เดือน และ วัน ตามเงื่อนไขที่กำหนด

เมื่อคัดลอกสูตรไปยังเซลล์อื่น ๆ ก็จะได้ข้อมูลที่สมบูรณ์แบบตามที่เราต้องการ

ลองนำไปปรับใช้ดูนะครับ