ความแตกต่างระหว่างสองวันที่: ฟังก์ชั่น 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")

บทความก่อนหน้านี้ บทความถัดไป

เคล็ดลับยอดนิยม