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

ฟังก์ชัน DATEDIF

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

คำเตือน: 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 (เรียงตามประเภท)

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

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

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

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

ขอขอบคุณสำหรับคำติชมของคุณ! เราคิดว่าอาจเป็นประโยชน์ที่จะให้คุณได้ติดต่อกับหนึ่งในตัวแทนฝ่ายสนับสนุน Office ของเรา

×