Thep Excel

Date.AddYears – เพิ่มจำนวนปีให้กับวันที่

Date.AddYears เพิ่มจำนวนปีที่ระบุให้กับค่า date datetime หรือ datetimezone คืนค่าเดียวกันกับประเภทข้อมูลอินพุต เก็บรักษาส่วนของเวลาไว้เหมือนเดิม ฟังก์ชันนี้จำเป็นสำหรับการคำนวณวันครบรอบปี การวางแผนระยะยาว และการวิเคราะห์ข้อมูลตามชั้นปี

=Date.AddYears(dateTime as any, numberOfYears as number) as any

By ThepExcel AI Agent
12 December 2025

Function Metrics


Popularity
6/10

Difficulty
3/10

Usefulness
7/10

Syntax & Arguments

=Date.AddYears(dateTime as any, numberOfYears as number) as any

Argument Type Required Default Description
dateTime any Yes ค่า date datetime หรือ datetimezone ที่ต้องการเพิ่มปี สามารถเป็นค่าคงที่หรือมาจากคอลัมน์ในตาราง
numberOfYears number Yes จำนวนปีที่ต้องการเพิ่ม สามารถใช้จำนวนลบเพื่อลบปี (เช่น -1 จะลดปี 1 ปี)

How it works

คำนวณวันครบรอบปี

คำนวณวันครบรอบปีที่ n ของเหตุการณ์หรือการเริ่มต้นของบริการ

วางแผนระยะยาว

กำหนดจุดสิ้นสุดของโครงการหรือสัญญาที่มีระยะเวลานับเป็นปี

Examples

ตัวอย่างที่ 1: เพิ่ม 4 ปีให้กับวันที่
Date.AddYears(#date(2011, 5, 14), 4)
เพิ่ม 4 ปีให้กับ 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 14 พฤษภาคม 2015 ฟังก์ชันจะคงเดือนและวันไว้เหมือนเดิม แต่เปลี่ยนปีเท่านั้น
Power Query Formula:

=Date.AddYears(#date(2011, 5, 14), 4)

Result:

#date(2015, 5, 14)

ตัวอย่างที่ 2: เพิ่ม 10 ปีให้กับ datetime พร้อมเวลา
Date.AddYears(#datetime(2011, 5, 14, 8, 15, 22), 10)
เพิ่ม 10 ปีให้กับ 14 พฤษภาคม 2011 เวลา 08:15:22 ได้ผลลัพธ์เป็น 14 พฤษภาคม 2021 เวลา 08:15:22 โปรดสังเกตว่าเวลา (hours, minutes, seconds) ไม่เปลี่ยนแปลง
Power Query Formula:

=Date.AddYears(#datetime(2011, 5, 14, 8, 15, 22), 10)

Result:

#datetime(2021, 5, 14, 8, 15, 22)

ตัวอย่างที่ 3: ลบปีด้วยจำนวนลบ
Date.AddYears(#date(2011, 5, 14), -2)
ลบ 2 ปีจาก 14 พฤษภาคม 2011 ได้ผลลัพธ์เป็น 14 พฤษภาคม 2009 ใช้เมื่อต้องการคำนวณไปยังปีที่ผ่านมา
Power Query Formula:

=Date.AddYears(#date(2011, 5, 14), -2)

Result:

#date(2009, 5, 14)

ตัวอย่างที่ 4: จัดการปีอธิกสุรทิน (leap year)
Date.AddYears(#date(2012, 2, 29), 1)
เมื่อเพิ่ม 1 ปีจาก 29 กุมภาพันธ์ 2012 (ปีอธิกสุรทิน) ไปยังปี 2013 (ไม่ใช่ปีอธิกสุรทิน) ระบบจะปรับเป็น 28 กุมภาพันธ์โดยอัตโนมัติเนื่องจาก 2013 ไม่มี 29 กุมภาพันธ์
Power Query Formula:

=Date.AddYears(#date(2012, 2, 29), 1)

Result:

#date(2013, 2, 28)

ตัวอย่างที่ 5: ใช้กับ datetimezone
Date.AddYears(#datetimezone(2011, 5, 14, 8, 15, 22, 8, 0), 5)
ทำงานกับ datetimezone เช่นเดียวกับ datetime โดยรักษาข้อมูล timezone offset (+08:00) ไว้
Power Query Formula:

=Date.AddYears(#datetimezone(2011, 5, 14, 8, 15, 22, 8, 0), 5)

Result:

#datetimezone(2016, 5, 14, 8, 15, 22, 8, 0)

FAQs

ถ้าฉันเพิ่ม 1 ปีจาก 29 กุมภาพันธ์ 2012 จะเกิดอะไรขึ้น?

ฟังก์ชันจะส่งคืน 28 กุมภาพันธ์ 2013 (ปีที่ไม่ใช่ปีอธิกสุรทิน) เนื่องจากปี 2013 ไม่มี 29 กุมภาพันธ์ ระบบทำการปรับลงโดยอัตโนมัติเพื่อให้ได้วันที่ที่ถูกต้อง

Date.AddYears กับ Date.AddMonths(date, 12) ต่างกันหรือไม่?

ในกรณีส่วนใหญ่ ผลลัพธ์เหมือนกัน แต่ Date.AddYears ชัดเจนและอ่านได้ง่ายกว่า เมื่อทำงานกับจำนวนปี ลองใช้ Date.AddYears เพราะมันแสดงจุดประสงค์ได้ดีกว่า

ฉันสามารถใช้ค่าศูนย์ (0) ได้หรือไม่?

ใช่ได้ Date.AddYears(date, 0) จะคืนค่าวันที่เดิมโดยไม่เปลี่ยนแปลง ซึ่งอาจดูโง่ แต่บางครั้งมีประโยชน์ในลอจิกเงื่อนไขที่ซับซ้อน

จำนวนปีที่สามารถใช้ได้มีขีดจำกัดหรือไม่?

ทางทฤษฎีไม่มีขีดจำกัด แต่ Power Query ทำงานกับวันที่ระหว่าง 0 ธันวาคม 1899 ถึง 31 ธันวาคม 9999 ดังนั้นต้องแน่ใจว่าผลลัพธ์อยู่ในช่วงนี้

Resources & Related

Additional Notes

ฟังก์ชัน Date.AddYears ใช้เพื่อเพิ่มจำนวนปีให้กับค่า date datetime หรือ datetimezone ซึ่งเป็นความต้องการทั่วไปในการทำงานกับข้อมูลวันที่เวลา

สิ่งที่เจ๋งของ Date.AddYears คือมันจัดการกับเรื่องปีอธิกสุรทิน (leap years) อย่างอัจฉริยะ ถ้าคุณเพิ่ม 1 ปีจาก 29 กุมภาพันธ์ 2012 (ปีอธิกสุรทิน) ไปยังปี 2013 (ไม่ใช่ปีอธิกสุรทิน) มันจะ ‘ปรับลง’ เป็น 28 กุมภาพันธ์โดยอัตโนมัติ นอกจากนี้ยังรักษาเวลาไว้ตรงเดิมเสมอ

ส่วนตัวผมชอบใช้ Date.AddYears ในกรณีที่ต้องการคำนวณวันครบรอบหรือหน่วยเวลาที่ยาวนาน เพราะมันชัดเจนกว่า Date.AddMonths(date, 12) ทั้งในแง่ของความเข้าใจและการบำรุงรักษา 😎

Leave a Reply

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