ฟังก์ชัน DATEDIF

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

ไวยากรณ์

DATEDIF(start_date,end_date,unit)

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

ข้อสังเกต

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

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

ตัวอย่าง

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 วัน

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

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

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

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

×