TLDR สรุปสั้นๆ

DATEDIF คำนวณระยะห่างระหว่างวันที่สองวันในแบบต่างๆ ที่ต้องการ

คำอธิบาย

ฟังก์ชัน DATEDIF ช่วยในการคำนวณระยะห่างระหว่างวันที่สองวันในแบบต่างๆ เช่น ปี เดือน หรือวัน มันเน้นความง่ายและรวดเร็วในการหาช่วงเวลา ทำให้เหมาะสำหรับการคำนวณอายุ ระยะเวลาโครงการ หรือสิ่งใดๆ ที่กล่าวถึงเรื่องเวลา

แต่ๆๆๆ ฟังก์ชันนี้มันมีพฤติกรรมแปลกๆ หลายอย่างเลย จนถ้าไม่ระวังให้ดีอาจได้คำตอบที่อาจจะผิดหรือแม้แต่ติดลบได้นะ โดยเฉพาะถ้าเริ่มวันช่วงสิ้นเดือน ใครสนใจวิธีแก้ อ่านได้ที่นี่

มีครั้งแรกในเวอร์ชันไหน

2003 หรือ Version ก่อนหน้า

รูปแบบคำสั่ง (Syntax)

DATEDIF(start_date, end_date, unit)

Arguments

  • start_date (Required – Date)
    วันที่เริ่มต้นของช่วงที่ต้องการนับ สามารถเป็นข้อความที่เป็นตัวเลขตรง ๆ หรือใช้ฟังก์ชัน เช่น DATEVALUE เพื่อแปลงวันที่จากข้อความ
  • end_date (Required – Date)
    วันที่สิ้นสุดของช่วงที่ต้องการนับ
  • unit (Required – Text)
    • : จำนวน ปีเต็ม ระหว่าง start_date และ end_date
    • m : จำนวน เดือนเต็ม ระหว่าง start_date และ end_date
    • : จำนวน วันทั้งหมด ระหว่าง start_date และ end_date
    • md : จำนวน วันที่เหลือ หลังจากนับเดือนเต็มจาก start_date ถึง end_date (เหมือนคิด m แล้วค่อย d)
    • ym : จำนวน เดือนที่เหลือ หลังจากนับปีเต็มจาก start_date ถึง end_date (เหมือนคิด y แล้วค่อย m)
    • yd : จำนวน วันที่เหลือ หลังจากนับปีเต็ม จาก start_date ถึง end_date (เหมือนคิด y แล้วค่อย d)

ตัวอย่างการใช้งาน (Examples)

ผมจะใส่ตัวอย่างให้เห็นวันเริ่ม/วันจบหลายๆ แบบ จะได้เข้าใจว่าได้ผลลัพธ์ยังไง ซึ่งหลักการของมันคือ มันพยายามมองว่าการจบเดือน ต้องพยายามจบเดือนในเลขวันเดียวกับวันเริ่มต้น เช่น

  • ถ้าผมเริ่มวันที่ 6 การครบเดือนต้องลงในวันที่ 6 เหมือนกัน
DATEDIF 1
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "y")
    Description: คำนวณจำนวนปีแบบเต็มปี ระหว่างวันที่ในเซลล์ A5 และ B5
    Result: 1 (เพราะจะเต็ม 2 ปีจริงๆ ในวันที่ 6/1/2027)
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "m")
    Description: คำนวณจำนวนเดือนแบบเต็มเดือน ระหว่างวันที่ในเซลล์ A5 และ B5
    Result: 23 (เพราะจะเต็ม 24 เดือนจริงๆ ในวันที่ 6/1/2027)
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "d")
    Description: คำนวณจำนวนวันระหว่างวันที่ในเซลล์ A5 และ B5 (เหมือนจับลบกันปกติ)
    Result: 700
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "md")
    Description: จำนวน วันที่เหลือ หลังจากนับเดือนเต็ม จากวันที่ในเซลล์ A5 และ B5
    Result: 1 ( เพราะมันครบเดือนเต็ม ที่วันที่ 6 ธ.ค. 2026 นี่มันเกินมาอีก 1 วัน)
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "ym")
    Description: จำนวน เดือนที่เหลือ หลังจากนับปีเต็ม จากวันที่ในเซลล์ A5 และ B5
    Result: 11 (เพราะมันครบปีเต็ม ที่วันที่ 6 ม.ค. 2026 แล้วก็นับว่าห่างกี่เดือน ซึ่งครบ 11 เดือนเต็มไปที่ 6 ธ.ค. 2026)
  • Formula: เริ่ม 6 มกรา 2025 -> จบ 7 ธันวา 2026
    =DATEDIF(A5, B5, "yd")
    Description: จำนวน วันที่เหลือ หลังจากนับปีเต็ม จากวันที่ในเซลล์ A5 และ B5 โดยเหมือนว่าให้อยู่ปีเดียวกัน
    Result: 335 (เพราะมันครบปีเต็ม ที่วันที่ 6 ม.ค. 2026 แล้วก็นับว่าห่างอีกกี่วัน)

อาการแปลกๆ ของ DATEDIF

ซึ่งเอาจริงๆ แล้วอาการแปลกๆ ของ DATEDIF จะเกิดขึ้นถ้าเราเริ่มต้นในช่วงปลายเดือนครับ เพราะมัน ต้องพยายามจบเดือนในเลขวันเดียวกับวันเริ่มต้น

ถ้าเริ่มวันที่ 31 แล้วจบมันมี 31 ให้จบ ก็ ok ไม่มีอะไร

DATEDIF 2

แต่บางทีมันก็เป็นไปไม่ได้ไงครับ! เช่น

ถ้าไปเริ่มวันที่ 31 (ลงท้าย *คม) แล้วเดือนปลายทางมีแค่ 30 (*ยน) มันก็จะต้องเลื่อนไปจบวันที่ 1 เป็นต้น

DATEDIF 3

ถ้าไปเริ่มวันที่ 31 (ลงท้าย *คม) แล้วเดือนปลายทางมีแค่ 28-29 (กพ.) มันก็จะต้องเลื่อนไปจบวันที่ 2-3 เป็นต้น (แล้วตั้งแต่วันที่ 1 ก็จะติดลบ)

DATEDIF 4

ใครสนใจวิธีแก้วันติดลบ อ่านได้ที่นี่

Tips & Tricks

สิ่งสำคัญที่สุดในการแก้ปัญหาเรื่องระยะห่างระหว่าง 2 วันในหน่วยที่ไม่ใช่แค่ “วัน” ที่เกิดจากการลบกันปกติ อย่างเช่น การหาอายุงาน ว่ากี่ปี กี่เดือน กี่วัน

ข้อควรระวัง (Cautions)

โปรดจำไว้ว่า DATEDIF ไม่ได้แสดงใน Excel’s Function Wizard และไม่มีเอกสารช่วยเหลือ และมันมีพฤติกรรมแปลกๆ หลายอย่างเลย จนถ้าไม่ระวังให้ดีอาจได้คำตอบที่อาจจะผิดหรือแม้แต่ติดลบได้นะ โดยเฉพาะถ้าเริ่มวันช่วงสิ้นเดือน ใครสนใจวิธีแก้ อ่านได้ที่นี่

ฟังก์ชันที่เกี่ยวข้อง

References

ขอบคุณที่เข้ามาอ่านนะครับ ❤️


ใครสนใจอยากใช้ Excel ได้ดีขึ้น อัตโนมัติขึ้น แนะนำ ลองดู Workshop นี้ได้เลย ตอนนี้กำลังจะอบรมแล้ว

แนะนำ Power Query WORKSHOP 2025 🚀

โดย เทพเอ็กเซล พร้อมยกระดับทักษะการใช้ Excel ให้คุณทำงานได้เร็วและแม่นยำยิ่งขึ้น!

✅ รวบรวม+ดัดแปลง Data เพื่อเตรียมข้อมูลก่อน Pivot ให้พร้อมแบบอัตโนมัติ ด้วย Power Query
สอนตั้งแต่เบื้องต้น จนถึงแก้ไข M Code ด้วยตัวเองได้ 🔥

เลือกรูปแบบการเรียนที่สะดวกสำหรับคุณ:

1️⃣ ONSITE (2 วันเต็ม) – ได้เจอวิทยากรตัวจริง!

  • 📍 17-18 พ.ค. 68 | ⏰ 9:00 – 17:00 น. | 🏨 Sindhorn Midtown Hotel
  • 💰 ราคาพิเศษ 7,000 – 7,500 บาท/ท่าน (รวม VAT) (ปกติ 8,500 บาท)
  • ⭐ Early Bird ชำระก่อน 30 เม.ย. + ลูกค้าเก่า Workshop มีส่วนลดพิเศษ

2️⃣ LIVE ONLINE (6 วัน วันละ 2 ชม.) – เรียนจากที่ไหนก็ได้!

  • 📅 13-15 & 20-22 พ.ค. 68 | ⏰ 20:00 – 22:00 น. | 💻 ผ่าน Zoom
  • 💰 ราคาพิเศษ 4,000 – 4,500 บาท/ท่าน (รวม VAT) (ปกติ 5,500 บาท)
  • ⭐ Early Bird ชำระก่อน 30 เม.ย. + ลูกค้าเก่า Workshop มีส่วนลดพิเศษ

👉 สมัครเลย! ดูรายละเอียดเพิ่มเติมที่นี่ https://www.thepexcel.com/thepexcel-public-workshop-2025/

สอบถามเพิ่มเติม: LINE: @ThepExcelWorkshop ได้เลย


Leave a Reply

Your email address will not be published. Required fields are marked *

Public Training Workshop 2025
อบรม In-House Training

Feedback การใช้งาน AI Chatbot