สวัสดีค่ะ ผู้เขียนหายไปนานมากที่ไม่ได้ update ข้อมูลบน Blogger นี้ เนื่องจากภาระงานประจำที่เปลี่ยนไป เผลอแปล๊บบบเดียวจะสิ้นปีแล้ว ปลายปีงานเริ่มเข้าที่เข้าทาง เลยมีเวลาหันกับมาดู ต้องใช้เวลาในการทบทวนความทรงจำกันหน่อย 5555
ก่อนที่จะบ่นยาววววกันไป เข้าเรื่องเนื้อหากันเลย วันนี้ผู้เขียนขอเริ่มบทความแรกก่อนจะสิ้นปี 2561 อิอิอิอิ ด้วยการอธิบายขั้นตอนการทำงานสูตร DATEDIF() ของ Excel โดย MS Office ใน Version ต่างๆ ที่รองรับกับสูตรนี้ ได้แก่ Excel for Office 365, Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 เป็นต้น
DATEDIF เป็นฟังค์ชั่นในการหาผลต่างระหว่าง 2 วัน คือ วันเริ่มต้น กับ วันสิ้นสุด โดยเราสามารถเขียนตามไวยากรณ์ของฟังค์ชั่น ดังนี้
ไวยากรณ์
=DATEDIF(วันเริ่มต้น, วันสิ้นสุด, ชนิดข้อมูลที่ต้องการให้แสดงคำตอบ)
โดย "ชนิดข้อมูลที่ต้องการให้แสดงคำตอบ" คุณๆ สามารถกำหนดได้ 5 รูปแบบด้วยกัน ดังนี้
"ํY" หาผลต่างของจำนวนปีที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด
"M" หาผลต่างของจำนวนเดือนที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด
"D" หาผลต่างของจำนวนวันที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด
"MD" หาผลต่างของจำนวนเดือนที่ต่างกัน โดยไม่สนใจวันหรือปีของวันเริ่มต้นและวันสุดสุด
"YM" หาผลต่างของจำนวนวันที่ต่างกัน โดยไม่สนใจปีของวันเริ่มต้นและวันสุดสุด
ตัวอย่างเช่น
ต้องการหาผลต่างของวันเริ่มต้นและวันสิ้นสุด โดยแสดงข้อมูลตามแบบต่างๆ ดังรูปที่ 1
|
รูปที่ 1 ตัวอย่างการหาผลต่างของวันเริ่มต้นและวันสิ้นสุด ตามชนิดข้อมูลต่างๆ
จากรูปที่ 1 ขออธิบายสูตร DATADIF() ตามรูปแบบชนิดข้อมูลที่ต้องการให้แสดง ดังนี้
1. คอลัมน์ C กำหนดสูตรหาผลต่างจำนวนปี ที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด คือ=DATEDIF(B2,A2,"Y")
2. คอลัมน์ D กำหนดสูตรหาผลต่างจำนวนเดือน ที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด คือ =DATEDIF(B2,A2,"M")
3. คอลัมน์ E กำหนดสูตรหาผลต่างจำนวนวัน ที่ต่างกันระหว่างวันเริ่มต้นและวันสิ้นสุด คือ =DATEDIF(B2,A2,"D")
4. คอลัมน์ F กำหนดสูตรหาผลต่างจำนวนเดือนที่ต่างกัน โดยไม่สนใจวันหรือปีของวันเริ่มต้นและวันสุดสุด คือ =DATEDIF(B2,A2,"MD")
5. คอลัมน์ G กำหนดสูตรหาผลต่างจำนวนวันที่ต่างกัน โดยไม่สนใจปีของวันเริ่มต้นและวันสุดสุด คือ =DATEDIF(B2,A2,"YM")
|
ตัวอย่างการนำไปใช้
ในชีวิตจริง ถ้าต้องมีการคำนวณงานวันที่ของวันที่เริ่มต้นและวันที่สิ้นสุด แต่มีบาง Row ไม่ระบุวันที่เข้ามา จะทำให้การเขียนสูตร DATADIF ไม่สามารถคำนวณค่าออกมาได้ ดังนั้น เราควรจะมีการใส่สูตรเพื่อตรวจสอบและแสดงข้อความเพื่อให้รายงานของท่านมีความสมบูรณ์มากขึ้น ดังตัวอย่างรูปที่ 2
|
รูปที่ 2 ตัวอย่างการหาวันที่ระหว่างวันที่ได้รับมอบหมายและวันที่ดำเนินการเสร็จ |
จากรูปที่ 2 ท่านจะเห็นว่ามีบางคอลัมน์ที่ไม่ได้ระบุวันที่ดำเนินการเสร็จ เช่น B2, B5-B7, B12 และ B18 ถ้าเราไม่ใส่สูตรในการตรวจสอบค่าว่างจะทำให้การแสดง DATEDIF ทำงานผิดพลาด ดังนั้น เพื่อแก้ไขปัญหาดังกล่าว เราจะใช้สูตร IF เข้ามาช่วย ดังนี้
=IF(B2="","ไม่ระบุวันที่ไว้",DATEDIF(E2,B2,"D"))
แต่ถ้าหากตัวอย่างนี้ มีบางแถวที่ไม่มีการระบุวันที่ที่ได้รับมอบหมายด้วย คุณสามารถใช้ OR เข้ามาช่วยในการตรวจสอบร่วมกับ IF ได้ ดังนี้
=IF(OR(E2="",B2=""),"ไม่ระบุวันที่ไว้",DATEDIF(E2,B2,"D"))
เพียงแค่นี้เราจะได้มีข้อมูลการหาผลต่างระหว่างวันที่มอบหมายและวันที่ดำเนินการเสร็จสิ้น ไว้ตรวจสอบพนักงานหรือลูกทีมของท่านได้แล้ว