ความแตกต่างระหว่างสองวันที่: ฟังก์ชั่น Datedif
รู้เบื้องต้นเกี่ยวกับฟังก์ชั่น DATEDIF
ฟังก์ชัน DATEDIF คำนวณความแตกต่างระหว่างวันที่สองวันในช่วงเวลาที่แตกต่างหลากหลายเช่นจำนวนปีเดือนหรือวันระหว่างวันที่ ฟังก์ชันนี้มีให้บริการใน Excel ทุกรุ่นตั้งแต่รุ่นอย่างน้อย 5/95 แต่มีการบันทึกไว้ในไฟล์ช่วยเหลือสำหรับ Excel 2000 ด้วยเหตุผลบางอย่าง Microsoft ได้ตัดสินใจที่จะไม่จัดทำเอกสารฟังก์ชันนี้ในรุ่นอื่น ๆ DATEDIF ถือเป็นลูกพี่ลูกน้องเมาของตระกูล Formula Excel รู้ว่าชีวิตมีความสุขและมีประโยชน์ แต่จะไม่พูดถึงมันในการสนทนาที่สุภาพ อย่าสับสนฟังก์ชันแผ่นงาน DATEDIF กับฟังก์ชัน DateDiff VBA
ไวยากรณ์สำหรับ DATEDIF เป็นดังนี้:
= DATEDIF (Date1, Date2, Interval)
ที่ไหน:
Date1 เป็นวันแรก
Date2 เป็นวันที่สอง
ช่วงเวลาเป็นประเภทช่วงเวลาที่จะกลับมา
ถ้า Date1 ช้ากว่า Date2 DATEDIF จะส่งกลับ #NUM! ความผิดพลาด หาก Date1 หรือ Date2 ไม่ใช่วันที่ที่ถูกต้อง DATEDIF จะส่งกลับข้อผิดพลาด #VALUE
ค่าช่วงควรเป็นหนึ่งใน
คำอธิบายความหมายช่วง
m เดือนทำเดือนปฏิทินให้สมบูรณ์ระหว่างวันที่
d Days จำนวนวันระหว่างวันที่
y ปีครบรอบปีปฏิทินระหว่างวันที่
ym เดือนไม่รวมปีทำเดือนปฏิทินให้สมบูรณ์ระหว่างวันที่เหมือนกับในปีเดียวกัน
yd Days ไม่รวมปีให้ทำวันตามปฏิทินให้เหมือนวันที่ในปีเดียวกัน
md วันที่ไม่รวมปีและเดือนให้ทำวันตามปฏิทินให้เหมือนวันที่ในเดือนเดียวกันและปีเดียวกัน
ถ้าช่วงไม่ใช่รายการใดรายการหนึ่งในรายการด้านบน DATEDIF จะส่งกลับข้อผิดพลาด #NUM
หากคุณกำลังรวมสตริงช่วงเวลาไว้ภายในสูตรโดยตรงคุณต้องใส่ในเครื่องหมายคำพูดคู่:
= DATEDIF (Date1, Date2 "ม.")
หากคุณมีช่วงเวลาในเซลล์อื่นที่อ้างอิงโดยสูตรเซลล์นั้นไม่ควรมีอัญประกาศรอบสตริงช่วงเวลา ตัวอย่างเช่นกับสูตร
= DATEDIF (Date1, Date2, A1)
เซลล์ A1 ควรมี m ไม่ใช่ "m"
การยกเลิกส่วนประกอบค่าศูนย์
ในการใช้งานทั่วไปเพื่อคำนวณจำนวนปีเดือนและวันระหว่างสองวันคุณจะใช้สูตรเช่นต่อไปนี้โดยที่ A1 คือวันที่เริ่มต้นและ B1 คือวันที่สิ้นสุด:
= DATEDIF (A1, B1, "y") & "ปี" & DATEDIF (A1, B1, "ym") & "เดือน" & DATEDIF (A1, B1, "md")
& "วัน"
นี่จะส่งคืนสตริงเช่น
12 ปี 8 เดือน 14 วัน
อย่างไรก็ตามหากจำนวนปีและ / หรือเดือนเป็น 0 คุณจะได้รับสตริงดังนี้
0 ปี 0 เดือน 14 วัน
0 ปี 3 เดือน 14 วัน
หากคุณต้องการระงับค่า 0 และส่งคืนผลลัพธ์เช่น
8 เดือน 14 วัน
หรือ
14 วัน
ในกรณีที่ส่วนประกอบที่มีค่า 0 ไม่แสดงให้ใช้สูตรดังนี้:
= IF (DATEDIF (A1, B1, "y") = 0, "", DATEDIF (A1, B1, "y") & "ปี") & ถ้า (DATEDIF (A1, B1, "ym") = 0, " "
DATEDIF (A1, B1, "ym") & "เดือน") & DATEDIF (A1, B1, "md") & "วัน"
สิ่งนี้จะแสดงเฉพาะส่วนประกอบวันที่ซึ่งมีค่ามากกว่า 0 ค่าวันจะแสดงเสมอ แต่ปีและ / หรือค่าเดือนอาจถูกแทนที่
ตัวอย่าง
ต่อไปนี้เป็นตัวอย่างของฟังก์ชัน DATEDIF
วันที่ 1: 1-Jan-2007
วันที่ 2: 10 มกราคม 2550
ช่วงเวลา: d
ผลลัพธ์: 9
คำอธิบาย:
มี 9 ไม่ใช่ 10 วันปฏิทินระหว่างสองวันนี้
วันที่ 1: 1-Jan-2007
วันที่ 2: 31 มกราคม 2550
ช่วงเวลา: m
ผลลัพธ์: 0
คำอธิบาย:
มี 0 เดือนปฏิทินที่สมบูรณ์ระหว่างวันที่สองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 1-Feb-2007
ช่วงเวลา: m
ผล: 1
คำอธิบาย:
มี 1 เดือนที่สมบูรณ์ระหว่างวันที่สองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 28-Feb-2007
ช่วงเวลา: m
ผล: 1
คำอธิบาย:
มี 1 เดือนที่สมบูรณ์ระหว่างวันที่สองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 31-Dec-2007
ช่วงเวลา: d
ผลลัพธ์: 364
คำอธิบาย:
มี 364 วันระหว่างวันที่สองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 31 มกราคม 2550
ช่วงเวลา: y
ผลลัพธ์: 0
คำอธิบาย:
มี 0 ปีที่สมบูรณ์ระหว่างวันที่
วันที่ 1: 1-Jan-2007
วันที่ 2: 1 กรกฎาคม - 2008
ช่วงเวลา: d
ผลลัพธ์: 547
คำอธิบาย:
มี 547 วันระหว่างสองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 1 กรกฎาคม - 2008
ช่วงเวลา: m
ผลลัพธ์: 18
คำอธิบาย:
มี 18 เดือนระหว่างวันที่สองวัน
วันที่ 1: 1-Jan-2007
วันที่ 2: 1 กรกฎาคม - 2008
ช่วงเวลา: ym
ผลลัพธ์: 6
คำอธิบาย:
มี 6 เดือนระหว่างวันที่สองวันหากวันที่ดังกล่าวถือว่าเป็นปีเดียวกัน ปีที่นำมาจาก Date1 ไม่ใช่ Date2 สิ่งนี้สร้างความแตกต่างเมื่อหนึ่งปีเป็นปีอธิกสุรทิน ตั้งแต่ปี 2550 ไม่ใช่ปีอธิกสุรทิน 29 กุมภาพันธ์จะไม่ถูกนับ ดู DATEDIF และ Leap ปีด้านล่าง
วันที่ 1: 1-Jan-2007
วันที่ 2: 1 กรกฎาคม - 2008
ช่วงเวลา: yd
ผลลัพธ์: 181
คำอธิบาย:
มี 181 วันระหว่างวันที่หากพิจารณาวันที่ในปีเดียวกัน ปีที่นำมาจาก Date1 ไม่ใช่ Date2 สิ่งนี้สร้างความแตกต่างเมื่อหนึ่งปีเป็นปีอธิกสุรทิน ตั้งแต่ปี 2550 ไม่ใช่ปีอธิกสุรทิน 29 กุมภาพันธ์จะไม่ถูกนับ ดู DATEDIF และ Leap ปีด้านล่าง
วันที่ 1: 1-Jan-2008
วันที่ 2: 1 กรกฎาคม - 2009
ช่วงเวลา: yd
ผลลัพธ์: 182
คำอธิบาย:
มี 182 วันระหว่างวันที่หากพิจารณาว่าวันนั้นมีปีเดียวกัน ผลลัพธ์นี้คือ 182 ไม่ใช่ 181 เนื่องจาก Date1 เป็นปีอธิกสุรทินและนับเป็น 29 กุมภาพันธ์
วันที่ 1: 1-Jan-2007
วันที่ 2: 31 มกราคม 2550
ช่วงเวลา: md
ผลลัพธ์: 30
คำอธิบาย:
มี 30 วันระหว่างวันที่ 1 ถึงวันที่ 31 ของวันที่ทั้งเดือนและปีที่ถือว่าเหมือนกัน
DATEDIF และ Leap ปี
เมื่อคำนวณช่วงวันที่ DATEDIF จะใช้ปี Date1 ไม่ใช่ Date2 เมื่อคำนวณช่วงเวลา yd, ym และ md ตัวอย่างเช่น,
= DATEDIF (Date1, Date2 "MD")
ส่งคืน 28 สำหรับ Date1 = 1-Feb-2007 และ Date2 = 1-March-2009 เนื่องจาก Date1 ไม่ใช่ปีอธิกสุรทินจึงไม่นับวันที่ 29- กุมภาพันธ์ แต่สูตรเดียวกันกับ Date1 = 1-Feb-2008 ส่งคืน 29 เนื่องจาก Date1 เป็นปีอธิกสุรทินดังนั้นจึงนับวันที่ 29-Feb
การคำนวณอายุ
คุณสามารถใช้ DATEDIF เพื่อคำนวณอายุของบุคคล ตัวอย่างเช่นสูตรด้านล่างจะคำนวณอายุของบุคคล ณ วันที่ปัจจุบันโดยที่ BirthDate เป็นวันเกิดของบุคคลนั้น
= DATEDIF (วันเกิด, วันนี้ (), "y") และ "ปี" & DATEDIF (วันเกิด, วันนี้ (), "ym") & "เดือน" & "วันสิ้นเดือน", "md")