ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้

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

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

ไวยากรณ์

DATEDIF(start_date,end_date,unit)

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

คำอธิบาย

start_date   

จำเป็น

วันที่ซึ่งแสดงถึงวันที่เริ่มต้นหรือวันที่เริ่มต้นของช่วงเวลาที่ระบุ ใส่วันที่เป็นสตริงข้อความภายในเครื่องหมายอัญประกาศ (ตัวอย่างเช่น "2001/1/30") เป็นเลขลของคอมพิวเตอร์ (ตัวอย่างเช่น 36921 ซึ่งแทนวันที่ 30 มกราคม 2001 ถ้าคุณใช้ระบบวันที่ 1900) หรือเป็นผลลัพธ์ของสูตรหรือฟังก์ชันอื่นๆ (ตัวอย่างเช่น DATEVALUY("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 เนื่องจากอยู่หลังจากวันที่ 1 มกราคม 1900 ไป 39,447 วัน

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

  • ถ้าค่าtart_dateมากกว่าค่า end_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 หรือ ขอความช่วยเหลือใน Answers Community

ดูเพิ่มเติม

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

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

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

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

ขยายทักษะของคุณ
สำรวจการฝึกอบรม
รับฟีเจอร์ใหม่ก่อนใคร
เข้าร่วม Microsoft Insider

ข้อมูลนี้เป็นประโยชน์หรือไม่

คุณพึงพอใจกับคุณภาพการแปลแค่ไหน

สิ่งที่ส่งผลกระทบต่อประสบการณ์ใช้งานของคุณ

มีคําติชมเพิ่มเติมใดๆ หรือไม่ (ไม่บังคับ)

ขอบคุณสำหรับคำติชมของคุณ

×