หลักตรรกศาสตร์ของสูตร DateDif

การหาอายุ หาระยะเวลาจากวันนั้นถึงวันนี้ว่าเป็นกี่ปี กี่เดือน กี่วัน เป็นปัญหายอดนิยมที่ถามหากันเสมอว่าจะใช้ Excel หาได้อย่างไร ซึ่งต้องแอบกระซิบบอกกันว่า ให้ใช้สูตร DateDif

สูตร DateDif เป็นสูตรที่ Microsoft แอบสร้างไว้ให้ใช้กัน มีเรื่องเล่ากันมาว่า เดิมทีใน Excel ไม่มีสูตรนี้หรอก แต่ต้องหาทางเอาใจสาวก Lotus 1-2-3 ที่มีสูตรคำนวณหาระยะเวลาให้เปลี่ยนใจมาใช้ Excel ได้ง่ายขึ้น จึงสร้างสูตร DateDif ขึ้นมา โดยใน Excel บางรุ่น ไม่ได้ใส่สูตรนี้ไว้ในรายชื่อ Function มาตรฐานและไม่มีคู่มือบอกวิธีการใช้งานไว้ใน Excel Help เสียด้วย

DateDifWarning

ที่แปลกกว่านี้ สูตร DateDif อาจคำนวณให้คำตอบไม่ตรงกันกับความเข้าใจของผู้ใช้งาน และใน Excel แต่ละรุ่นอาจให้คำตอบต่างกันได้อีก ดังนั้นก่อนที่จะอธิบายวิธีใช้งานของสูตรนี้ ขอแนะนำว่า อย่าใช้สูตรนี้กับงานสำคัญๆที่เกี่ยวข้องกับความเป็นความตายหรือหน้าตาชื่อเสียง ถ้าจะใช้เล่นๆก็ตามใจ

โครงสร้างสูตร

=DateDif( วันที่เริ่ม, วันสุดท้าย, ตัวเลือก )

ตัวเลือกที่ใช้หาว่ากี่ปี กี่เดือน กี่วัน จะใส่ y ym md ตามลำดับ

d นับจำนวนวันทั้งหมด
m นับจำนวนเดือนทั้งหมด
y นับจำนวนปีทั้งหมด
yd นับจำนวนวันที่เหลือ หลังจากปีชนปีแล้ว
ym นับจำนวนเดือนที่เหลือ หลังจากปีชนปีแล้ว
md นับจำนวนวันที่เหลือ หลังจากเดือนชนเดือนแล้ว

การคำนวณหาระยะเวลากี่เดือน กี่วัน สำคัญตรงหลักการคิดนี่แหละว่า "วิธีที่ Excel คิด" ตรงกับ "วิธีที่คนเราคิด" หรือไม่

ถ้าตั้งปัญหาขึ้นมาถามแค่การนับเดือนตามวิธีการของมนุษย์

จากวันที่ 31/1/2021 ถึงวันที่ 28/2/2021 มีระยะเวลาเท่าไร
ตอบว่า 1 เดือนใช่ไหม ที่นับว่า 1 เดือนนั้น เพราะเดือนกุมภาพันธ์เต็มเดือน และเป็นวันสิ้นเดือนชนกัน

จากวันที่ 28/1/2021 ถึงวันที่ 28/2/2021 มีระยะเวลาเท่าไร
จะตอบว่า 1 เดือนอีกหรือเปล่า เพราะวันที่ 28 ชนกันพอดี

จะเห็นว่าวิธีคิดของเรานี่แหละยังมีตั้งหลายอย่าง แล้ว Excel ล่ะมีวิธีคิดยังไง (ภาพนี้มาจาก Excel 365 นะครับ ถ้าเป็นรุ่นอื่นอาจได้คำตอบต่างไปก็ได้)

DateDif

  • จากวันที่ 31/1/2021 ถึงวันที่ 28/2/2021 มีระยะเวลา 0 ปี 0 เดือน 28 วัน
    เพราะวันที่ 28/2 น้อยกว่า 31/2 จึงนับ 28 วัน (Excel ไม่สนใจว่าเดือน 2 มีแค่ 28 วัน)

  • จากวันที่ 28/1/2021 ถึงวันที่ 28/2/2021 มีระยะเวลา 0 ปี 1 เดือน 0 วัน
    เพราะวันที่ 28/2 ตรงกันกับวันที่ 28/1

  • จากวันที่ 31/1/2021 ถึงวันที่ 4/3/2021 มีระยะเวลา 0 ปี 1 เดือน 1 วัน
    เพราะจากวันที่ 31/1 Excel จะนับเดือนชนเดือนก่อนไปหาวันที่ 31/2
    ซึ่งจะตรงกับวันที่ 3/3 (28-1-2-3 = 28-29-30-31)

  • จากวันที่ 31/1/2021 ถึงวันที่ 3/3/2021 มีระยะเวลา 0 ปี 1 เดือน 0 วัน 
    เพราะจากวันที่ 31/1 Excel จะนับเดือนชนเดือนก่อนไปหาวันที่ 31/2
    ซึ่งจะตรงกับวันที่ 3/3 (28-1-2-3 = 28-29-30-31) ครบ 1 เดือนพอดี

  • จากวันที่ 31/1/2021 ถึงวันที่ 2/32021 มีระยะเวลา 0 ปี 1 เดือน -1 วัน 
    เพราะจากวันที่ 31/1 Excel จะนับเดือนชนเดือนก่อนไปหาวันที่ 31/2
    ซึ่งจะตรงกับวันที่ 3/3 (28-1-2-3 = 28-29-30-31) เกิน 1 เดือนไป 1 วันจึงต้องลบ 1 วันย้อนกลับมาให้ตรง

  • จากวันที่ 31/1/2021 ถึงวันที่ 1/3/2021 มีระยะเวลา 0 ปี 1 เดือน -2 วัน 
    เพราะจากวันที่ 31/1 Excel จะนับเดือนชนเดือนก่อนไปหาวันที่ 31/2
    ซึ่งจะตรงกับวันที่ 3/3 (28-1-2-3 = 28-29-30-31) เกิน 1 เดือนไป 2 วันจึงต้องลบ 2 วันย้อนกลับมาให้ตรง

ด้วยสาเหตุที่สูตร DateDif สามารถหาจำนวนวันเป็นค่าติดลบได้ด้วย Microsoft จึงแนะนำว่า ไม่ควรใช้สูตรนี้กับตัวเลือก md

DateDifWarning2

แล้วจะใช้สูตรอะไรเพื่อคำนวณหาอายุหรือระยะเวลาดีล่ะ ก่อนที่จะคิดไปหาสูตร ควรคิดถึงหลักการคำนวณระยะเวลาที่คุณจะใช้ก่อนว่าจะนับกันอย่างไร ซึ่งเท่าที่ผมใช้ Excel มา พบว่ามีสูตร DateDiff ที่สร้างด้วย VBA Add-in ของ John Walkenbach สามารถใช้คำนวณหาระยะเวลาได้ใกล้เคียงกับที่คนเราคิดมากที่สุด

แนะนำให้ดูวิธีการใช้สูตรของ John Walkenbach ได้ในหลักสูตรเรียนออนไลน์ ฟรี "สารพัด Free สารพัด File แจกฟรี"

https://www.excelexperttraining.com/online/courses/03-free-free-free/lessons/datediff/

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

DATEDIF function
https://support.microsoft.com/en-us/office/datedif-function-25dba1a4-2812-480b-84dd-8b32a451b35c?WT.mc_id=M365-MVP-4000499


Calculate the difference between two dates
https://support.microsoft.com/en-us/office/calculate-the-difference-between-two-dates-8235e7c9-b430-44ca-9425-46100a162f38?WT.mc_id=M365-MVP-4000499

Related Articles

© Copyright 1999

สงวนลิขสิทธิ์ตามกฎหมาย

ห้ามนำข้อความหรือส่วนหนึ่งส่วนใดของบทความหรือวิดีโอหรือรูปภาพไปใช้เพื่อการค้าขาย หรือเพื่อประโยชน์ส่วนตัว

อนญาตให้นำไปใช้เพื่อสาธารณประโยชน์โดยขอให้ระบุที่มาและชื่อผู้เขียนกำกับไว้ด้วยเสมอ

ลิงก์เว็บ Excel Expert Training

เว็บสำหรับ เรียนออนไลน์

เว็บสำหรับ เรียนแบบกลุ่ม-ส่วนตัว

ติดตามข่าวสารได้จาก facebook

ถามปัญหาได้ที่ กลุ่มคนรัก Excel

และไลน์กลุ่ม Excel Expert Group

ที่อยู่และการติดต่อ

สมเกียรติ ฟุ้งเกียรติ 7/1 รามคำแหง ซอย 35 หัวหมาก บางกะปิ กทม 10240 โทร 097-140-5555, 02-718-9331

Excel@ExcelExpertTraining.com

sfk234x234