Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel สำหรับเว็บ Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2016 Windows SharePoint Services 3.0

คํานวณจํานวนวัน เดือน หรือปีระหว่างวันที่สองวัน

Excel มีฟังก์ชัน DATEDIF เพื่อสนับสนุนเวิร์กบุ๊กที่เก่ากว่าจาก Lotus 1-2-3 ฟังก์ชัน DATEDIF อาจคํานวณผลลัพธ์ที่ไม่ถูกต้องภายใต้สถานการณ์บางอย่าง โปรดดูส่วนปัญหาที่ทราบแล้วของบทความนี้สําหรับรายละเอียดเพิ่มเติม

ไวยากรณ์

DATEDIF(start_date,end_date,unit)

อาร์กิวเมนต์

คำอธิบาย

start_date   

จำเป็น

วันที่ที่แสดงถึงวันที่แรก หรือวันที่เริ่มต้นของรอบระยะเวลาที่กําหนด อาจใส่วันที่เป็นสตริงข้อความภายในเครื่องหมายอัญประกาศ (ตัวอย่างเช่น "2001/1/30") เป็นเลขลําดับ (ตัวอย่างเช่น 36921 ซึ่งแทนวันที่ 30 มกราคม 2544 ถ้าคุณกําลังใช้ระบบวันที่แบบ 1900) หรือเป็นผลลัพธ์ของสูตรหรือฟังก์ชันอื่นๆ (ตัวอย่างเช่น DATEVALUE("2001/1/30"))

end_date   

จำเป็น

วันที่ที่แสดงถึงวันสุดท้ายหรือวันที่สิ้นสุดของรอบระยะเวลา

Unit   

ชนิดของข้อมูลที่คุณต้องการส่งกลับ โดยที่

Unit

ส่งกลับ

"Y"

จำนวนปีแบบเต็มในช่วงเวลา

"M"

จำนวนเดือนแบบเต็มในช่วงเวลา

"D"

จำนวนวันในช่วงเวลา

"MD"

ความแตกต่างระหว่างวันใน start_date และ end_date เดือนและปีของวันที่จะถูกละเว้น

เราไม่แนะนําให้ใช้อาร์กิวเมนต์ "MD" เนื่องจากมีข้อจํากัดที่ทราบแล้ว ดูที่ส่วนปัญหาที่ทราบด้านล่าง

"YM"

ความแตกต่างระหว่างเดือนใน start_date กับ end_date วันและปีของวันที่จะถูกละเว้น

"YD"

ความแตกต่างระหว่างจํานวนวันที่ start_date กับ end_date ปีของวันที่จะถูกละเว้น

ข้อสังเกต

  • วันที่จะถูกจัดเก็บเป็นเลขลําดับต่อเนื่องเพื่อให้สามารถใช้ในการคํานวณได้ ตามค่าเริ่มต้น 1 มกราคม 1900 จะเป็นเลขลําดับ 1 และวันที่ 1 มกราคม 2551 เป็นเลขลําดับ 39448 เนื่องจากเป็น 39,447 วันหลังจากวันที่ 1 มกราคม 2443

  • ฟังก์ชัน DATEDIF มีประโยชน์ในสูตรที่คุณต้องการคำนวณหาอายุ

  • ถ้า tart_dates มากกว่าnd_date ผลลัพธ์จะถูก #NUM!

ตัวอย่าง

Start_date

End_date

สูตร

คำอธิบาย (ผลลัพธ์)

1/1/2001

1/1/2003

=DATEDIF(start_date,end_date,"Y")

สองปีเต็มในช่วงเวลา (2)

6/1/2001

8/15/2002

=DATEDIF(start_date,end_date,"D")

440 วันระหว่าง June 1, 2001 และ August 15, 2002 (440)

6/1/2001

8/15/2002

=DATEDIF(start_date,end_date,"YD")

75 วันระหว่าง June 1 และ August 15 ไม่สนใจส่วนที่เป็นปีของวันที่ (75)

ปัญหาที่ทราบแล้ว

อาร์กิวเมนต์ "MD" อาจส่งผลให้เกิดจํานวนลบ ศูนย์ หรือผลลัพธ์ที่ไม่ถูกต้อง ถ้าคุณกําลังพยายามคํานวณวันที่เหลือหลังจากเดือนที่เสร็จสมบูรณ์ล่าสุด นี่คือวิธีแก้ไขปัญหาชั่วคราว:

=DATEDIF(D17,E17,"md") และผลลัพธ์: 5

สูตรนี้จะลบวันแรกของเดือนสิ้นสุด (5/1/2016) จากวันที่สิ้นสุดดั้งเดิมในเซลล์ E17 (5/6/2016) นี่คือวิธีการ: ก่อนอื่น ฟังก์ชัน DATE จะสร้างวันที่ 5/1/2016 ซึ่งจะสร้างโดยใช้ปีในเซลล์ E17 และเดือนในเซลล์ E17 จากนั้น 1 จะแสดงวันแรกของเดือน ผลลัพธ์สำหรับฟังก์ชัน DATE คือ 5/1/2016 จากนั้น เราจะลบจากวันที่สิ้นสุดดั้งเดิมในเซลล์ E17 ซึ่งก็คือ 5/6/2016 5/6/2016 ลบ 5/1/2016 คือ 5 วัน

ต้องการความช่วยเหลือเพิ่มเติมไหม

คุณสามารถสอบถามผู้เชี่ยวชาญใน Excel Tech Community หรือรับการสนับสนุนใน ชุมชน

ดูเพิ่มเติม

ฟังก์ชันของ Excel (เรียงลำดับตามตัวอักษร)

ฟังก์ชันของ Excel (เรียงตามประเภท)

วิธีการหลีกเลี่ยงสูตรที่ใช้งานไม่ได้

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย