DATEDIF เป็นฟังก์ชัน ‘ลับ’ (Hidden Function) ที่ใช้คำนวณระยะเวลาระหว่างวันที่สองวัน โดยสามารถเลือกหน่วยได้: ปี, เดือน, วัน, หรือการรวมกัน เหมาะใช้คำนวณอายุ, อายุงาน, หรือระยะเวลาโครงการอย่างแม่นยำ
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| start_date | Date | วันที่เริ่มต้น (ต้องน้อยกว่าหรือเท่ากับ end_date หากมากกว่าจะได้ #NUM! error) |
| end_date | Date | วันที่สิ้นสุด (ต้องมากกว่าหรือเท่ากับ start_date) |
| unit | Text | หน่วยที่ต้องการคำนวณ (ต้องใส่ในเครื่องหมายคำพูด): “Y”=ปี, “M”=เดือน, “D”=วัน, “YM”=เศษเดือน(ไม่นับปี), “MD”=เศษวัน(ไม่นับเดือน), “YD”=เศษวัน(ไม่นับปี) |
ฟังก์ชัน DATEDIF (Date Difference) มาจากยุคของ Lotus 1-2-3 เลยนะ เพราะฉะนั้น Excel จึงไม่ลงท้ายให้เห็น Tooltip ในแถบสูตร
แต่ประโยชน์ของฟังก์ชันตัวนี้มหาศาล! บอกได้เลยว่าถ้าต้องการนับว่าห่างกันกี่ปี เดือน วัน DATEDIF คือคำตอบตรงทำการ โดยเฉพาะตอน feature “YM” (เศษเดือนไม่นับปี) กับ “MD” (เศษวันไม่นับเดือน) มันจะช่วยให้ได้ผลลัพธ์ที่ละเอียดมากๆ เช่น “2 ปี 5 เดือน 13 วัน” อย่างเดียว
ข้อควรระวังคือ DATEDIF มี bug บ้างใน Unit “MD” และ “YD” บางสถานการณ์ (โดยเฉพาะกับปีอธิกสุรทิน) ถ้าสงสัยผล ลองเช็คดูหรือหาทางเลือกอื่นเช่น INDEX+MATCH หรือ DAYS() ได้นะ 😎
ใช้คำนวณอายุเพื่อพิจารณาเกษียณ หรือคำนวณอายุงานเพื่อปรับฐานเงินเดือน/โบนัส
ตรวจสอบว่าสัญญาเหลือระยะเวลาอีกกี่เดือน กี่วัน
คำนวณจำนวนปีเต็มจากวันเกิด 15 มีนาคม 1990 จนถึงวันนี้ หน่วย "Y" คือการนับปี โดยปีต้องนับเต็มแล้วจึงนับ
สมมติ A2 = วันที่เข้างาน (1-1-2022), B2 = วันนี้ เราใช้ "Y" หาปีเต็ม, "YM" หาเศษเดือนที่ไม่นับปี, "MD" หาเศษวัน แล้วนำมาต่อกันด้วย & เป็นข้อความ
หาว่า A1 ถึง B1 ห่างกันกี่วัน โดยใช้หน่วย "D" (Day) ผลลัพธ์เหมือนกับการลบ B1-A1 แต่ DATEDIF ชัดเจนกว่าเรื่องจำนวนตัวเลข
สมมติ A3 = วันหมดอายุ ใช้ DATEDIF หาว่าเหลือกี่วัน ถ้า > 30 วันแสดง "ยังปลอดภัย" ไม่ก็ "ใกล้หมดอายุแล้ว" โดยใช้ IF
คำนวณว่าจากวันที่ 15 มกราคม ถึง 30 มิถุนายน 2025 คือกี่เดือนเต็ม หน่วย "M" นับเดือนเต็มเท่านั้น ผลลัพธ์ = 5 เดือน
เพราะ DATEDIF เป็น Compatibility Function (ฟังก์ชันรักษาความเข้ากันได้) มาจากยุคสมัย Lotus 1-2-3 Excel จึงซ่อนไว้ โดยมิให้ Tooltip ขึ้นมา แต่ยังสามารถพิมพ์ใช้งานได้ปกติโดยไม่มีปัญหา
Microsoft เองก็รับมาแล้วว่า DATEDIF มี Bug ใน "MD" unit บางกรณี (เช่นตอนคำนวณเกี่ยวกับปีอธิกสุรทิน) ที่แนะนำคือหลีกเลี่ยงใช้ "MD" ถ้าต้องใช้ ลองตรวจสอบผลลัพธ์ให้ดีๆ หรือใช้ =MOD(B1, A1, 32) แทน
DATEDIF จะส่งออก #NUM! error ทันที ฟังก์ชันนี้ต้องการให้ start_date น้อยกว่า end_date เสมอ ถ้าต้องการให้ยืดหยุ่น ให้ครอบด้วย IFERROR หรือตรวจสอบก่อนด้วย IF
DAYS(end_date, start_date) บอกจำนวนวันทั้งหมดเท่านั้น ส่วน DATEDIF(start_date, end_date, "D") ก็เหมือนกัน แต่ DATEDIF ยังทำให้คำนวณปี/เดือน/เศษต่างๆ ได้ ถ้าแค่นับวัน B1-A1 ก็ได้ 😎
ใช้ =DATEDIF(birth_date, TODAY(), "Y") เป็นพื้นฐาน บอกได้เลยว่าวิธีนี้คำนวณแบบ "full year" เหมือนวิธีการหาอายุตามปกติ ถ้าต้องการละเอียดถึงเดือน-วัน ก็ต่อหลายๆ unit เข้าด้วยกัน
ฟังก์ชันที่ผู้เขียนโยงไว้กับ DATEDIF จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
DATE สร้างวันที่จากตัวเลขปี เดือน วัน แยกกัน รองรับการบวก/ลบเดือนที่เกิน 12 หรือค่าลบ และปรับวันที่ให้อัตโนมัติ เหมาะสำหรับสร้างวันที่จากสูตรหรือใช้ในเงื่อนไข SUMIFS COUNTIFS AVERAGEIFS
DAY คืนค่าวันที่เป็นตัวเลขจำนวนเต็มระหว่าง 1 ถึง 31 จากค่า Serial Number ของวันที่ที่ระบุ ทำให้เราสามารถดึงเฉพาะ "เลขวัน" ออกมาใช้งานได้ โดยไม่ต้องสนใจเดือนหรือปี
ส่งกลับจำนวนวันระหว่างวันที่สองวัน (จบ – เริ่ม) คำนวณผลต่างของวันที่อย่างง่ายดาย
DAYS360 คำนวณจำนวนวันระหว่างสองวันที่โดยใช้เกณฑ์ปีละ 360 วัน (เดือนละ 30 วัน) เป็นมาตรฐานในงานบัญชีและการเงิน รองรับ 2 วิธีคำนวณ: US (NASD) และ European
MONTH คืนค่าเดือนเป็นตัวเลขจำนวนเต็มระหว่าง 1 (มกราคม) ถึง 12 (ธันวาคม) จากค่า Serial Number ของวันที่ที่ระบุ เป็นฟังก์ชันพื้นฐานที่ใช้บ่อยในการทำรายงานสรุปยอดขายรายเดือน หรือการคำนวณไตรมาส
NETWORKDAYS นับจำนวนวันทำงานทั้งหมด (ไม่นับเสาร์-อาทิตย์) ระหว่างวันที่สองวัน และสามารถหักวันหยุดนักขัตฤกษ์ออกได้ เหมาะสำหรับคำนวณระยะเวลาโปรเจกต์, ลาของพนักงาน, หรือเดือนวันทำงาน
TODAY คืนค่า Serial Number ของวันที่ปัจจุบันตามเวลาของเครื่องคอมพิวเตอร์ โดยเวลาจะเป็น 0:00:00 เสมอ
.
ที่เจ๋งคือฟังก์ชันนี้เป็นประเภท Volatile ที่จะคำนวณใหม่ทุกครั้งที่มีการเปลี่ยนแปลงใดๆ ในชีท ที่ต้องระวังคือไม่เหมาะกับการบันทึกวันที่ทำรายการ (Transaction Date) ที่ต้องการให้คงที่ครับ เพราะมันจะเปลี่ยนทุกครั้งที่เปิดไฟล์
YEAR ดึงเลขปี ค.ศ. (4 หลัก เช่น 2025) จากวันที่ที่ระบุ เหมาะใช้จัดกลุ่มข้อมูลรายปี คำนวณอายุ หรือวิเคราะห์ข้อมูลตามช่วงเวลา
YEARFRAC คำนวณว่าระหว่างวันที่สองวัน ผ่านไปแล้วกี่เปอร์เซ็นต์ของปี เป็นเลขทศนิยม
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่