คำนวณจำนวนวัน เดือน หรือปีระหว่างวันที่สองวัน
คำเตือน
- Excel มีฟังก์ชัน DATEDIF เพื่อสนับสนุนเวิร์กบุ๊กที่เก่ากว่าจาก Lotus 1-2-3 ฟังก์ชัน DATEDIF อาจคํานวณผลลัพธ์ที่ไม่ถูกต้องภายใต้สถานการณ์บางอย่าง โปรดดูส่วนปัญหาที่ทราบแล้วของบทความนี้สําหรับรายละเอียดเพิ่มเติม
- เคล็ด ลับ: ถ้าคุณต้องการค้นหาจํานวนวันระหว่างวันที่สองวัน ให้ลบวันที่หลังจากวันที่ก่อนหน้า วิธีนี้ใช้ได้ผลเนื่องจากวันที่ถูกจัดเก็บเป็นตัวเลขใน Excel
ไวยากรณ์
DATEDIF(start_date,end_date,unit)
| อาร์กิวเมนต์ | คำอธิบาย |
|---|---|
|
start_date จำเป็น |
วันที่ที่แสดงถึงวันที่แรก หรือวันที่เริ่มต้นของรอบระยะเวลาที่กําหนด อาจใส่วันที่เป็นสตริงข้อความภายในเครื่องหมายอัญประกาศ (ตัวอย่างเช่น "2001/1/30") เป็นเลขลําดับ (ตัวอย่างเช่น 36921 ซึ่งแทนวันที่ 30 มกราคม 2544 ถ้าคุณกําลังใช้ระบบวันที่แบบ 1900) หรือเป็นผลลัพธ์ของสูตรหรือฟังก์ชันอื่นๆ (ตัวอย่างเช่น DATEVALUE("2001/1/30")) |
|
end_date จำเป็น |
วันที่ที่แสดงถึงวันสุดท้ายหรือวันที่สิ้นสุดของรอบระยะเวลา |
| 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 เนื่องจากเป็น 39,447 วันหลังจากวันที่ 1 มกราคม 2443
- ฟังก์ชัน DATEDIF มีประโยชน์ในสูตรที่คุณต้องการคำนวณหาอายุ
- ถ้า start_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" อาจส่งผลให้เกิดจํานวนลบ ศูนย์ หรือผลลัพธ์ที่ไม่ถูกต้อง ถ้าคุณกําลังพยายามคํานวณวันที่เหลือหลังจากเดือนที่เสร็จสมบูรณ์ล่าสุด นี่คือวิธีแก้ไขปัญหาชั่วคราว:
สูตรนี้ลบวันแรกของเดือนสิ้นสุด (1/5/2559) จากวันที่สิ้นสุดเดิมในเซลล์ E17 (6/5/2559) นี่คือวิธีการ: ก่อนอื่น ฟังก์ชัน DATE จะสร้างวันที่ 5/1/2016 ซึ่งจะสร้างโดยใช้ปีในเซลล์ E17 และเดือนในเซลล์ E17 จากนั้น 1 จะแสดงวันแรกของเดือน ผลลัพธ์สำหรับฟังก์ชัน DATE คือ 5/1/2016 จากนั้น เราจะลบจากวันที่สิ้นสุดดั้งเดิมในเซลล์ E17 ซึ่งก็คือ 5/6/2016 5/6/2016 ลบ 5/1/2016 คือ 5 วัน
ต้องการความช่วยเหลือเพิ่มเติมไหม
คุณสามารถสอบถามผู้เชี่ยวชาญใน ชุมชนด้านเทคนิคของ Excel หรือรับการสนับสนุนใน ชุมชนได้เสมอ