ฟังก์ชัน 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    คือวันที่ของวันสุดท้ายหรือวันที่สิ้นสุดของช่วงเวลา

หมายเหตุ: ฉัน f Start_date มีค่ามากกว่าEnd_date ผลลัพธ์จะเป็น#NUM !

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

หมายเหตุ: ข้อจำกัดความรับผิดชอบของการแปลด้วยเครื่อง: บทความนี้มีการแปลด้วยระบบคอมพิวเตอร์โดยไม่มีการดำเนินการโดยบุคคล Microsoft จัดให้มีการแปลด้วยเครื่องนี้เพื่อช่วยให้ผู้ใช้ที่ไม่ได้พูดภาษาอังกฤษสามารถใช้ประโยชน์จากเนื้อหาเกี่ยวกับผลิตภัณฑ์ บริการและเทคโนโลยีของ Microsoft เนื่องจากบทความมีการแปลด้วยเครื่อง อาจมีข้อผิดพลาดด้านคำศัพท์ ไวยากรณ์หรือรูปประโยค

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

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

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

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

×