PDA

View Full Version : ติดปัญหาการหาอายุจากวันเกิดครับ(Format Date)



neoskywalker
10 Sep 2008, 18:22
A1: ผมลองทำการหาอายุโดย ใส่วันเกิดที่ 18/12/2524(พ.ศ.)
A2: =DATEDIF(A1,TODAY(),"y") ไม่ยอมขึ้นอายุให้ครับ
ผลลองเปลี่ยน 18/12/2524 เป็น 18/12/1981(ค.ศ.)
Call A2: กลับขึ้นผล 27 ออกมา
แต่ผมอยากใช้ 18/12/2524(พ.ศ.) มากกว่าเพราะว่าข้อมูลที่ได้มาเป็น พ.ศ. หมดเลยครับ
ทำวิธีไหนได้บ้างครับ

เอก
10 Sep 2008, 20:37
Excel รับค่าวันที่เป็นปี ค.ศ.เท่านั้น โดยเริ่มนับวันที่ 1/1/1900 เป็นวันลำดับที่ 1
ฟังก์ชัน TODAY ส่งค่าวันที่ปัจจุบันออกมา ก็เป็นปี ค.ศ. เช่นกัน
ดังนั้น การที่คุณใส่ 18/12/2524 Excel ตีความหมายว่า วันที่ 18 เดือน ธันวาคม ค.ศ.2524 ดังนั้น เมื่อนำมาเทียบกับ TODAY มันจึงแสดงผลไม่ได้ เพราะยังไม่ถึงวันเกิด (ค.ศ.2524)

ดังนั้น ให้แปลงวันที่กลับไปเป็น ค.ศ.ก่อน แล้วจึงค่อยนำไปคำนวณ
สมมติ A1 คือวันที่ 18/12/2524
ที่ B1 พิมพ์สูตร =DATE(YEAR(A1)-543,MONTH(A1),DAY(A1))

ปล. เมื่อแปลงวันที่เป็นปี ค.ศ.แล้ว แต่อยากให้แสดงเป็น ปี พ.ศ. สามารถทำได้โดยการเข้าไปจัดรูปแบบเซล เป็น d/m/bbbb ครับ

สมเกียรติ
10 Sep 2008, 21:36
แนะนำให้อ่าน วิธีใช้วันที่และเวลา (http://www.excelexperttraining.com/blogs/archives/z000808.php) และ

http://www.excelexperttraining.com/forums/showthread.php?p=8742#post8742


ถ้าใช้สูตรปรับเลขปีพ.ศ.โดยนำไปลบกับเลข 543 เพื่อให้ได้เลขปีค.ศ. โดยใช้สูตร =Date(Year(cell)-543, Month(cell), Day(cell)) หรือสูตรใดๆที่คิดขึ้นโดยเกี่ยวข้องกับสูตร Year(), Month(), หรือ Day() จะใช้แก้ไขได้เฉพาะเซลล์ที่มีค่าเป็นตัวเลขชิดขวาของเซลล์เท่านั้น (สูตรนี้จะใช้แก้ไขวันที่ 29/2/25xx ที่บันทึกไว้ไม่ได้เพราะค่าชิดซ้ายของเซลล์)
กรณีวันที่ซึ่งถูกบันทึกไว้แบบ Text ซึ่งจะชิดซ้ายของเซลล์และใช้เลขปีพ.ศ. 4 หลัก ต้องแก้ไขให้เป็นปีค.ศ.โดยใช้สูตร =DATE(RIGHT(cell,4)-543,MID(cell,FIND("/",cell)+1,FIND("/",cell,FIND("/",cell)+1)-FIND("/",cell)-1),LEFT(cell,FIND("/",cell)-1))
ส่วนสูตร DateDif จะหาค่าผิดเพี้ยนได้ในบางช่วงครับ ต้องใช้ DateDiff.xla คำนวณจะได้คำตอบแม่นยำกว่า (ถ้าพบว่า DateDiff.xla คำนวณผิด กรุณาแจ้งผมด้วย จะได้ปรับปรุงต่อไป) ขอให้อ่าน http://www.excelexperttraining.com/forums/showthread.php?p=7062

neoskywalker
11 Sep 2008, 01:06
ขอบคุณครับผม
เดี๋ยวผมจะลองศึกษาเพิ่มเติมดูครับ
แต่ที่แนะนำมาให้ได้เลย