ฟังก์ชันวันที่และเวลา — DATEDIF, EOMONTH, WORKDAY, NETWORKDAYS

1. วันที่ใน Excel ไม่ใช่แค่ตัวเลขธรรมดา

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

ลองนึกภาพดูนะครับ อยากรู้ว่าพนักงานคนนี้อายุงานกี่ปีแล้ว อยากรู้ว่าบิลครบกำหนดชำระตรงกับสิ้นเดือนพอดีหรือเปล่า หรืออยากรู้ว่างานนี้ถ้าเริ่มวันจันทร์แล้วต้องใช้เวลากี่วันทำการถึงจะเสร็จก่อนเสาร์-อาทิตย์ งานพวกนี้ล้วนแต่นับวันเป็นหลัก แต่ถ้าคุณนับด้วยมือหรือคิดในใจทีละแถว รับรองพลาดแน่ และยิ่งข้อมูลเยอะก็ยิ่งพัง

ที่สำคัญคือ Excel ไม่ได้มองวันที่เป็นแค่ตัวหนังสือ แต่มันแปลงวันที่ทุกวันให้เป็น serial number — ตัวเลขที่ใช้คำนวณได้จริง เช่น 1 มกราคม 1900 คือเลข 1 และเพิ่มขึ้นวันละ 1 ตัวเลขนี้แหละที่ทำให้เราบวก ลบ เปรียบเทียบวันได้ดั่งตัวเลขทั่วๆ ไป

ชุดฟังก์ชันที่เราจะใช้กันวันนี้มีดังนี้ครับ

  • TODAY / NOW เรียกวันที่และเวลาปัจจุบัน
  • DATEDIF นับอายุเป็นปี เดือน วัน
  • EOMONTH หาวันสิ้นเดือน
  • EDATE เลื่อนเดือนไปข้างหน้าหรือข้างหลัง
  • WORKDAY บวกวันทำการ ข้ามเสาร์-อาทิตย์
  • NETWORKDAYS นับจำนวนวันทำการระหว่างสองวัน
  • YEAR / MONTH / DAY / DATE แยกและประกอบวันเดือนปี

ให้เปิดไฟล์ตัวอย่าง แล้วทำตามไปด้วยกันจะดีมากเลยครับ ผมจัดไว้ 3 ชีท เริ่มจากวางแผนงานด้วย WORKDAY ไปนับอายุงานด้วย DATEDIF และปิดท้ายที่งวดบิลกับ EOMONTH ผมเตรียมตัวอย่างให้ครบทั้งการบวกวัน การนับวันระหว่างช่วง และการจัดการงวด เพื่อให้คุณเห็นภาพการประยุกต์ใช้งานจริงในแต่ละสายงาน

💡 เคล็ดลับ: ก่อนใช้ฟังก์ชันวันที่ อย่าลืมตั้ง Format Cells ของเซลล์ปลายทางเป็นวันที่ให้ถูกต้อง (เช่น dd/mm/yyyy) ไม่งั้นคุณจะเห็นตัวเลขยาวๆ อย่าง 46000 โผล่มาทั้งที่มันคือวันที่จริงๆ ครับ

📌 ข้อควรจำ: วันที่ในตัวอย่างนี้เป็นปี ค.ศ. 2026 ตามที่ใช้ในไฟล์จริง ถ้าคุณจะเอาไปใช้กับปีอื่น แค่แก้ค่าวันเริ่มให้ตรง ก็ได้คำตอบที่ถูกต้องเองครับ

2. WORKDAY — บวกวันทำการแบบข้ามเสาร์-อาทิตย์

เริ่มที่ชีท WORKDAY NETWORKDAYS ครับ ครึ่งบนคือตารางวางแผนงานที่ต้องรู้ว่าถ้าเริ่มงานวันนี้ จะกำหนดส่งวันไหนโดยข้ามเสาร์-อาทิตย์

โครงสร้างคือแต่ละงานมี วันที่เริ่ม, จำนวนวันทำการที่ต้องใช้ และให้ Excel คำนวณ วันกำหนดส่ง ให้อัตโนมัติด้วยสูตร

=WORKDAY(B3,C3-1)

WORKDAY รับสองพารามิเตอร์หลัก คือวันเริ่มต้นกับจำนวนวันทำการที่อยากบวกไป แล้วมันจะข้ามวันเสาร์-อาทิตย์ให้เลย ที่ผมใส่ C3-1 เพราะอยากให้วันเริ่มนับเป็นวันทำงานวันแรกด้วย เช่น งาน A เริ่มจันทร์ที่ 5 มกราคม 2026 ใช้ 10 วันทำการ ผลลัพธ์คือศุกร์ที่ 16 มกราคม 2026 พอดี

คอลัมน์สุดท้ายผมเพิ่มสูตรเช็คว่าวันที่ได้ตรงกับเสาร์-อาทิตย์หรือเปล่า

=IF(WEEKDAY(D3,2)>5,"เสาร์/อาทิตย์","วันทำการ")

WEEKDAY โหมดตัวที่ 2 คือการนับจันทร์เป็น 1 ไปจนถึงอาทิตย์เป็น 7 ถ้าเลขเกิน 5 แปลว่าเสาร์หรืออาทิตย์ ใช้คู่กันเป็นการการันตีว่าวันกำหนดส่งไม่ตกวันหยุดสุดสัปดาห์

งานวันที่เริ่มวันทำการวันกำหนดส่ง
งาน A ทำรายงาน05/01/20261016/01/2026
งาน B ติดตั้งระบบ19/01/2026828/01/2026
งาน C ตรวจ QA02/02/20261520/02/2026
งาน D ปรับเว็บ16/02/2026520/02/2026

ทุกแถวจบที่วันศุกร์ ไม่มีตัวไหนตกเสาร์-อาทิตย์เลย นี่คือความแม่นยำที่การนับด้วยมือทำไม่ได้ครับ

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

⚠️ ข้อควรระวัง: WORKDAY ข้ามเฉพาะเสาร์-อาทิตย์เท่านั้น ถ้าบริษัทมีวันหยุดประจำปี (เช่น วันสงกรานต์) ให้ใส่เป็นพารามิเตอร์ตัวที่สาม เช่น =WORKDAY(B3,C3-1,วันหยุดทั้งช่วง) โดยช่วงวันหยุดคือช่องที่คุณพิมพ์วันหยุดไว้ครับ

3. NETWORKDAYS — นับจำนวนวันทำการระหว่างสองวัน

กลับมาที่ครึ่งล่างของชีทเดิมครับ คราวนี้คนละทางกัน คือเรามีวันเริ่มกับวันสิ้นสุดอยู่แล้ว และอยากรู้ว่าระหว่างสองวันนั้นมี วันทำการ กี่วัน

=NETWORKDAYS(B10,C10)

ตัวอย่างงาน E เริ่ม 2 มีนาคม 2026 ถึง 31 มีนาคม 2026 ถ้านับตามปฏิทินรวมวันเสาร์-อาทิตย์คือ 30 วัน แต่ NETWORKDAYS จะตอบจำนวนวันจันทร์ถึงศุกร์ในช่วงนั้นให้ทันที ต่างจากคอลัมน์ จำนวนวันปฏิทิน ที่ผมคิดด้วยสูตรตรงๆ

=C10-B10+1

บวก 1 เพราะให้รวมวันแรกกับวันสุดท้ายเข้าไปด้วย เอาเลขสองตัวนี้เทียบกัน คุณจะเห็นภาพชัดว่างานหนึ่งช่วงสูญเสียวันไปกับเสาร์-อาทิตย์กี่วัน ซึ่งนำไปประมาณกำลังคนหรือตัดสินใจเรื่องตารางกะได้ดีมาก

จุดที่ทำให้ NETWORKDAYS เป็นมือโปรอีกขั้นคือการรับ วันหยุดเป็นพารามิเตอร์ตัวที่สาม เหมือน WORKDAY เลยครับ ถ้าบริษัทมีวันหยุดยาวช่วงเทศกาล คุณแค่พิมพ์วันหยุดเหล่านั้นไว้ที่ไหนสักแห่งแล้วอ้างอิงเข้าไป เช่น

=NETWORKDAYS(B10,C10,ช่วงวันหยุด)

Excel จะลบวันหยุดเหล่านั้นออกจากจำนวนวันทำการให้อัตโนมัติ ทำให้ตัวเลขที่ได้ตรงกับความจริงขององค์กร ไม่ใช่แค่ข้ามเสาร์-อาทิตย์แบบคร่าวๆ ครับ

💡 เคล็ดลับ: ให้ WORKDAY และ NETWORKDAYS ทำงานคู่กันเป็นคู่หู — WORKDAY ตอบโจทย์ จบเมื่อไหร่ ส่วน NETWORKDAYS ตอบโจทย์ ทำงานจริงกี่วัน ใช้ควบคู่กันตลอดงานวางแผนเลยครับ

4. DATEDIF — นับอายุและอายุงานให้ละเอียด

เลื่อนมาที่ชีท DATEDIF อายุงาน ครับ โจทย์นี้ตรงใจฝ่ายบุคคลเลย คืออยากรู้ว่าพนักงานทำงานนานเท่าไหร่เป็น ปี เดือน และวัน

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

=DATEDIF(วันเริ่ม, วันสิ้นสุด, "หน่วย")

หน่วยมีสามแบบที่ใช้บ่อย

  • "y" ได้จำนวนปีเต็ม
  • "ym" ได้เดือนที่เหลือหลังจากนับปีแล้ว (ไม่รวมปี)
  • "md" ได้วันที่เหลือหลังจากนับเดือนแล้ว

ตัวอย่างแถวแรก สมชายเริ่มงาน 15 มีนาคม 2020 อ้างอิงวันที่ 9 สิงหาคม 2026

ชื่อวันที่เริ่มงานปีเดือนวัน
สมชาย15/03/20206425
อนุชา01/11/2019698
วิภา20/07/20224020
สุดา09/05/2018830

สมชายนับปีได้ 6 แต่เดือนกับวันแยกออกมาต่างหาก เอามารวมกันเป็นประโยคอ่านง่ายได้ด้วยเครื่องหมาย &

="อายุงาน "&D3&" ปี "&E3&" เดือน "&F3&" วัน"

ได้ผลลัพธ์เป็น อายุงาน 6 ปี 4 เดือน 25 วัน ซึ่งใช้ทำสรุปอายุงานหรือประกาศพนักงานประจำปีได้เลยครับ

ที่สำคัญ DATEDIF จะคืนตัวเลข ปี แล้วก็เดือน แล้วก็วัน แยกเป็นสามคอลัมน์อิสระ ดังนั้นคุณจึงจัดเรียงหรือใช้เป็นเงื่อนไขได้ตามใจ เช่น เอาเฉพาะคนที่อายุงานครบ 5 ปีขึ้นไปมากรองดู ถ้าอยากได้แค่แถวนั้นก็จับ DATEDIF ไปไว้ในฟิลเตอร์หรือ IF ได้ทันที เพราะมันคือตัวเลขธรรมดาที่เอาไปเปรียบเทียบได้ไม่ต่างจากตัวเลขอื่นในชีท

📌 ข้อควรจำ: หน่วย "ym" ต้องคิดจากเศษของปี และ "md" ต้องคิดจากเศษของเดือน หลักคือคิดปีก่อน แล้วค่อยเอาเศษมาคิดเดือน แล้วค่อยเอาเศษมาคิดวัน ไม่งั้นตัวเลขจะซ้ำซ้อนกันครับ

5. EOMONTH และ EDATE — ขยับเดือนให้เป็นงวด

มาที่ชีทสุดท้าย EOMONTH งวด ครับ เรื่องนี้ตรงใจฝ่ายบัญชีและฝ่ายขายที่สุด นั่นคือการจัดการงวดบิล

EOMONTH คือหาวันสิ้นเดือน โดยระบุว่าเลื่อนไปอีกกี่เดือน

=EOMONTH(B3,0)

ได้วันสิ้นเดือนของเดือนเดียวกับวันที่ตั้งบิล เช่น บิล INV-001 ตั้ง 10 มกราคม 2026 ก็จะได้ 31 มกราคม 2026 ส่วน

=EOMONTH(B3,1)
=EOMONTH(B3,2)

คือสิ้นเดือนหน้าและอีกสองเดือนถัดไป เหมาะกับการตัดรอบชำระเป็นงวดๆ ส่วน EDATE ต่างกันตรงที่ได้วันเดียวกันของเดือนที่เลื่อนไป ไม่ใช่วันสิ้นเดือน เช่น

=EDATE(B3,12)

คือวันครบรอบ 1 ปีพอดี ได้ 10 มกราคม 2027 ซึ่งนิยมใช้นับวันครบสัญญาหรือหมดอายุการรับประกัน

เลขที่วันที่ตั้งบิลสิ้นเดือนนี้สิ้นเดือนหน้าครบงวด 3 เดือนครบ 1 ปี
INV-00110/01/202631/01/202628/02/202631/03/202610/01/2027
INV-00218/02/202628/02/202631/03/202630/04/202618/02/2027
INV-00305/03/202631/03/202630/04/202631/05/202605/03/2027
INV-00423/04/202630/04/202631/05/202630/06/202623/04/2027

สังเกตว่า EOMONTH จัดการเดือนที่มี 28, 30 หรือ 31 วันให้ได้ถูกต้องเอง ไม่ต้องมานั่งคิดว่าเดือนไหนกี่วันครับ เรื่องนี้แหละที่ทำให้ Excel ชนะการนับมือไปเลย

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

⚠️ ข้อควรระวัง: ถ้า EOMONTH ไปเจอค่าเป็นข้อความแทนที่จะเป็นวันที่จริง จะได้ error เท่านั้น ให้เก็บวันเป็นค่า date เสมอ แล้วค่อยจัดรูปแบบการแสดงผลทีหลังครับ

6. TODAY และ NOW — วันที่ที่อัปเดตเองทุกวัน

ส่วนล่างสุดของชีท EOMONTH ครับ ผมใส่วันที่แบบอัปเดตอัตโนมัติไว้ให้ลองดู

  • TODAY() คืนวันที่ปัจจุบันของเครื่อง
  • NOW() คืนทั้งวันและเวลาปัจจุบัน
  • EOMONTH(TODAY(),0) หาวันสิ้นเดือนของเดือนปัจจุบันอัตโนมัติ

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

ผมลองผูกเป็นสถานการณ์จริงให้ดูครับ เช่น อยากรู้วันสุดท้ายที่ควรโอนเงินให้ทันรอบเดือน

=EOMONTH(TODAY(),0)

ร่วมกับข้อมูลบิลในชีทนี้ คุณเขียนสรุปได้เลยว่าวันไหนถึงกำหนด แล้ว Excel จะคำนวณใหม่ให้ทุกครั้งที่เปิดไฟล์

ผมยกตัวอย่างการประยุกต์ง่ายๆ ว่า ถ้าอยากให้แถวที่หมดกำหนดแล้วเปลี่ยนสี หรือให้เซลล์โชว์คำว่า ล่วงเลย เมื่อวันนี้ผ่านกำหนดไปแล้ว ก็จับ TODAY() ไปเทียบกับวันที่ครบกำหนดในเงื่อนไขได้ทันที ค่านี้มองเป็นเข็มนาฬิกาที่เดินหน้าเองทุกวัน ใช้ทำตัวเตือนในแดชบอร์ดได้แบบไม่มีเงื่อนไขผูกมัด และยังเอาไปเชื่อมกับ NETWORKDAYS เพื่อบอกได้อีกว่าเลยกำหนดมาแล้วกี่วันทำการ เพื่อแก้ปัญหาได้เร็วขึ้น

📌 ข้อควรจำ: TODAY และ NOW เป็นฟังก์ชัน volatile แปลว่ามันคำนวณใหม่ทุกครั้งที่ไฟล์ถูกเปิดหรือแก้ไข ดังนั้นใช้ในงานที่ต้องการความเป็นปัจจุบันเป็นหลัก ถ้าต้องการยึดค่าวันที่ตายตัว ให้พิมพ์วันที่เองแทนครับ

7. แยกส่วนวัน เดือน ปี — YEAR / MONTH / DAY

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

  • YEAR(วันที่) ได้ปีเป็นตัวเลข เช่น 2026
  • MONTH(วันที่) ได้เดือนเป็นตัวเลข 1–12
  • DAY(วันที่) ได้วันเป็นตัวเลข 1–31
  • DATE(ปี, เดือน, วัน) ประกอบร่างวันใหม่จากตัวเลขสามตัว

ในตัวอย่างบิลถ้าอยากแยกปีของวันที่ตั้งบิลออกมา

=YEAR(B3)

ได้ 2026 ส่วนถ้าอยากประกอบวันที่สรุปขึ้นเอง เช่น สร้างวันที่ 5 เดือนถัดไปโดยไม่ลืมข้ามปี

=DATE(YEAR(B3),MONTH(B3)+1,5)

ฟังก์ชัน DATE เก่งตรงที่มันเลื่อนเดือนให้อัตโนมัติ ถ้าเดือนเกิน 12 มันก็ข้ามปีให้เอง ไม่ต้องมานั่งเขียนเงื่อนไขซับซ้อน เป็นอีกหนึ่งตัวช่วยที่คนทำรายงานใช้บ่อยครับ

ตัวอย่างที่พบบ่อยคือ การตั้งหัวข้อรายงานที่อยากให้ขึ้นเดือนและปีอัตโนมัติตามข้อมูล เช่น อยากให้หัวข้อเปลี่ยนเป็น พฤษภาคม 2026 ทุกครั้งที่เจอวันที่ในเดือนนั้น คุณก็แค่ใช้ MONTH กับ YEAR จับคู่กับ TEXT ประกอบเป็นคำไทยอ่านง่ายได้ โดยไม่ต้องไปแก้หัวข้อด้วยมือทีละเดือนเลยครับ

💡 เคล็ดลับ: YEAR, MONTH, DAY ดีกว่าการใช้ TEXT ตัด เพราะผลลัพธ์เป็นตัวเลขจริง นำไปใช้ต่อในเงื่อนไข เปรียบเทียบ หรือสร้างคอลัมน์ pivot ได้ทันที ต่างจากผลลัพธ์ข้อความที่ต้องแปลงอีกขั้นครับ

📌 ข้อควรจำ: ฟังก์ชันแยกส่วนพวกนี้ต้องการวันที่จริง ถ้าคุณส่งค่าเป็นข้อความ ฟังก์ชันอาจตีความไม่ตรงหรือ error ให้เก็บไว้เป็น date เสมอ แล้วค่อยแต่งรูปแบบทีหลัง

8. สถานการณ์งานจริง — ประยุกต์รวมกันทั้งชุด

สถานการณ์ที่ 1: ฝ่ายบุคคลสรุปอายุงาน

อยากได้รายงานอายุงานของพนักงานทั้งบริษัทเป็น ปี เดือน วัน โดยให้อัปเดตตามวันที่ปัจจุบัน ใช้ DATEDIF คู่กับ TODAY() เป็นวันสิ้นสุด ประกอบด้วยเครื่องหมาย & เป็นประโยคอ่านง่าย ส่งหัวหน้าได้เลยโดยไม่ต้องแก้สูตรทุกครั้ง

สถานการณ์ที่ 2: ฝ่ายขายวางแผนส่งงาน

ลูกค้าสั่งงานช่วงกลางสัปดาห์ อยากรู้ว่าจะส่งได้ช้าสุดวันไหน โดยไม่ให้ตกเสาร์-อาทิตย์ ใช้ WORKDAY พร้อมระบุวันหยุดบริษัทในพารามิเตอร์ตัวที่สาม แล้วใช้ WEEKDAY เช็คอีกรอบเพื่อความมั่นใจ

สถานการณ์ที่ 3: ฝ่ายบัญชีตัดรอบบิล

บิลทุกใบต้องครบกำหนดชำระภายในสิ้นเดือนถัดไป ใช้ EOMONTH หาวันสิ้นเดือนของแต่ละงวด และใช้ EDATE นับวันครบรอบสัญญา ประกอบกับ TODAY() เพื่อนับวันเหลือถึงกำหนดแบบอัตโนมัติ

สถานการณ์ที่ 4: ฝ่ายผลิตเช็กรอบการตัดสต็อก

ทีมผลิตอยากรู้วันสุดท้ายของแต่ละเดือนเพื่อตัดรอบสต็อก และอยากรู้ว่าเหลือวันทำการกี่วันก่อนตัดรอบ ใช้ EOMONTH(TODAY(),0) หาวันสิ้นเดือน แล้วใช้ NETWORKDAYS(TODAY(),EOMONTH(TODAY(),0)) นับจำนวนวันทำงานที่เหลือเพื่อวางแผนโหลดงานได้อย่างแม่นยำ

9. สรุป

มาถึงตรงนี้คุณคงเห็นแล้วว่าฟังก์ชันวันที่และเวลาไม่ได้ยากและทรงพลังมากครับ

  • TODAY / NOW ดึงวันที่เวลาปัจจุบันที่อัปเดตเอง
  • WORKDAY บวกวันทำการ ข้ามเสาร์-อาทิตย์
  • NETWORKDAYS นับวันทำงานจริงระหว่างสองวัน
  • DATEDIF นับอายุเป็นปี เดือน วัน อย่างละเอียด
  • EOMONTH หาวันสิ้นเดือน เหมาะกับงวดและการตัดรอบ
  • EDATE เลื่อนเดือนเพื่อนับวันครบรอบ
  • YEAR / MONTH / DAY แยกส่วนวันเดือนปีออกมาเป็นตัวเลข

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

ถ้ายัง งงงง แนะนำให้เปิดไฟล์ตัวอย่าง แล้วไล่เล่นทั้ง 3 ชีทดูนะครับ เริ่มจาก WORKDAY NETWORKDAYS วางแผนงาน ข้ามไป DATEDIF อายุงาน นับอายุพนักงาน และปิดท้ายที่ EOMONTH งวด จัดการงวดบิลกับวันที่ครบรอบ ลองเปลี่ยนวันเริ่มและจำนวนวันทำการในตาราง แล้วดูว่าวันกำหนดส่งขยับตามยังไง จะเห็นพลังของฟังก์ชันกลุ่มนี้ทันที

บทความหน้าเราจะได้รู้จัก Dynamic Arrays — FILTER, SORT, UNIQUE, SEQUENCE ที่จะเปลี่ยนวิธีกรองและจัดข้อมูลของคุณไปตลอดกาล เจอกันครับ! 😊

📖 อ่านต่อ: ถ้าอยากทบทวนการจัดการข้อมูลแบบเต็มๆ แวะไปดู “Excel สำหรับทำงาน” ได้เลยครับ ส่วนใครที่เพิ่งผ่านบทความฟังก์ชันข้อความมาก็ลองกลับไปอ่าน LEFT, RIGHT, MID เพื่อตกแต่งวันที่ให้เป็นข้อความอ่านง่ายได้อีกช่องทางหนึ่งนะครับ

Similar Posts

  • IF / IFS / SWITCH — จัดการเงื่อนไขหลายชั้นให้อ่านง่ายและไม่มึน

    1. จาก IF เดี่ยว สู่การจัดการเงื่อนไขแบบมือโปร ถ้าคุณเคยเรียน Excel พื้นฐานมา คงเคยเจอ IF — ฟังก์ชันที่ถามว่า “เงื่อนไขนี้จริงไหม แล้วเลือกเอาค่าตามผล” แต่วันนี้ผมจะพาคุณไปต่อจากจุดนั้นอีกขั้นครับ เพราะงานจริงไม่ค่อยมีแค่เงื่อนไขเดียว มักเป็นเงื่อนไขซ้อนกันหลายชั้น เช่น ถ้าใช้ IF ซ้อน IF ไปเรื่อยๆ สูตรจะยาวจนอ่านยากและผิดบ่อย วันนี้ผมเลยขอแนะนำ IFS กับ SWITCH ที่จะช่วยให้สูตรสั้นลง อ่านง่ายขึ้น และดูแลต่อได้สบายกว่าแน่นอน เปิดไฟล์ตัวอย่าง แล้วทำตามไปด้วยกันครับ — ผมเตรียมไว้ 3 ชีท ให้ลองเล่นครบทั้ง IF, IFS, SWITCH และ AND/OR 💡 เคล็ดลับ: หลักง่ายๆ ที่จะใช้ไปตลอดบทความนี้คือ — จำนวนเงื่อนไขหลายระดับแบบขั้นบันได ใช้ IFS; เปรียบเทียบค่าเดียวกับหลายกรณี ใช้ SWITCH; แต่ถ้าเงื่อนไขแค่…

  • VLOOKUP + XLOOKUP — ค้นหาแบบมือโปร ดูได้ทั้งซ้ายและขวา

    1. จาก VLOOKUP เบื้องต้น สู่สงครามค้นหาข้อมูลขั้นสูง ถ้าคุณอ่านบทความ VLOOKUP ฉบับพื้นฐานมาแล้ว ผมเชื่อว่าคุณน่าจะร้องอ๋อเลยว่าการค้นหาข้อมูลข้ามตารางมันช่วยประหยัดเวลาไปขนาดไหน — แค่ 4 อาร์กิวเมนต์ ก็ลากข้อมูลจากตารางอ้างอิงมาวางได้ทั้งชีต แต่วันนี้เราจะไม่หยุดแค่นั้นครับ! เพราะ VLOOKUP แม้จะใช้งานง่าย แต่ก็มีข้อจำกัดหลายจุดที่คนทำงานตัวจริงต้องเจอจนปวดหัว เช่น ดูได้เฉพาะคอลัมน์ที่อยู่ขวา, หาค่าแบบตรงเป๊ะไม่ได้ถ้าลืมใส่ FALSE, หรือดึงค่าจากคอลัมน์ที่ถูกแทรกเพิ่มจนเลข index เลื่อน โชคดีที่ยุคนี้เรามี XLOOKUP มาแทนที่ — ฟังก์ชันค้นหาที่ตอบโจทย์ทุกปัญหาและทำให้ VLOOKUP ดูเชยไปเลยในพริบตา เปิดไฟล์ตัวอย่าง แล้วทำตามไปด้วยกันนะครับ — ผมเตรียมข้อมูลร้านขายเสื้อผ้าออนไลน์ไว้ให้ลองเล่นแล้ว 2. ทบทวน VLOOKUP สั้นๆ — สงครามครึ่งเดียว VLOOKUP คือการค้นหาจากซ้ายไปขวา โดยโครงสร้างคือ: ในไฟล์ตัวอย่างชีท “ใบสั่งขาย” ผมใช้ VLOOKUP ดึงชื่อสินค้าและราคาจากชีท “ราคาสินค้า” มาใส่โดยเทียบจากรหัสสินค้า: คอลัมน์ สูตร…

  • Named Ranges + ตรวจสอบสูตร — Trace, Evaluate, Watch

    1. ทำให้สูตรของคุณอ่านง่ายและดูแลได้แบบมือโปร ในกลุ่มบทความ “Excel สำหรับทำงาน” นี้ คุณคงได้สร้างสูตรที่ลึกและซับซ้อนขึ้นเรื่อยๆ ตั้งแต่ VLOOKUP, INDEX+MATCH ไปจนถึง INDIRECT และ ERROR handling ที่เพิ่งจบไป บทความนี้เป็นบทสุดท้ายในกลุ่มนี้ครับ ผมอยากพาคุณมาปิดท้ายด้วยทักษะที่คนใช้ Excel เก่งๆ ใช้เป็นประจำ แต่คนเริ่มต้นมักมองข้าม นั่นคือ การตั้งชื่อช่วง (Named Ranges) และ การตรวจสอบสูตร (Formula Auditing) ลองนึกภาพว่าคุณเปิดไฟล์ราคาแล้วเห็นสูตรแบบนี้ เทียบกับแบบนี้ สูตรไหนอ่านแล้วรู้เรื่องทันทีว่ากำลังคำนวณอะไร? คำตอบชัดเจนมากครับ การตั้งชื่อให้ช่วงข้อมูลไม่ใช่แค่เรื่องสวยงาม แต่ช่วยให้คุณและคนอื่นที่มาใช้ไฟล์ต่อเข้าใจที่มาที่ไปของสูตรได้โดยไม่ต้องมานั่งเดาว่า B2:B5 คืออะไร ส่วนการตรวจสอบสูตรคือเรื่องของความมั่นใจครับ สูตรยาวๆ หลายชั้น เวลาอยากรู้ว่ามันอ้างอิงไปที่ไหนบ้าง หรือผลลัพธ์มันเพี้ยนอยู่ตรงจุดไหน เรามีชุดเครื่องมือที่ฝังมากับ Excel อยู่แล้วให้ใช้ ไม่ต้องเขียนฟังก์ชันอะไรเพิ่มเลย วันนี้ผมจัดเตรียมไฟล์ตัวอย่างไว้ 3 ชีทคือ NAMED RANGES ตั้งชื่อช่วงและใช้ในสูตร, TRACE PRECEDENTS…

  • สูตรวิเคราะห์ข้อมูล — SUMPRODUCT, AGGREGATE, GETPIVOTDATA

    เมื่อสูตรพื้นฐานเริ่มตอบไม่ทันใจ ถ้าคุณทำงานกับยอดขายหรือข้อมูลหลายหมื่นแถว ผมเชื่อว่าหลายครั้งคุณต้องประกอบสูตรยาวๆ ขึ้นมา เช่น COUNTIFS ต่อกับ SUMIFS อีกที แล้วยังต้องคอยจัดการกับค่า error ที่โผล่กลางตารางจนได้คำตอบผิด ดูเผินๆ เหมือนแก้ได้ เพียงแต่ทุกอย่างมันช้าและเปลืองเซลล์ ในบทความนี้ผมจะพาคุณรู้จักสูตร “สายวิเคราะห์ข้อมูล” 3 ตัวที่ช่วยทำงานแทนหลายสูตรพื้นฐานได้ในเซลล์เดียว ได้แก่ SUMPRODUCT, AGGREGATE และ GETPIVOTDATA แต่ละตัวมีจุดเด่นต่างกัน เอามาใช้คู่กันแล้วคุณจะสรุปข้อมูลได้เร็วขึ้นมาก ผมเตรียมไฟล์ตัวอย่างไว้ให้ครับ เปิดทำไปด้วยกันเลยนะ ภายในมีชีตเดียวคือ ข้อมูลสด ที่เก็บยอดขายประจำวัน 150 แถว คอลัมน์ วันที่, จังหวัด, สินค้า, ยอดขาย, จำนวน สำหรับชีต PivotTable และ Dashboard คุณจะสร้างเองใน Excel ตามขั้นตอนที่ผมอธิบายด้านล่างครับ 🛠️ สร้าง PivotTable เองก่อน (ทำตามขั้นตอนนี้ครับ) ก่อนจะใช้ GETPIVOTDATA คุณต้องมี PivotTable…

  • Data Form — แบบฟอร์มกรอกข้อมูลใน Excel เพิ่ม แก้ไข ลบ ค้นหา ง่ายกว่าเดิม

    1. ตารางกว้างจนต้องเลื่อนซ้ายขวา — เบื่อไหม? เคยไหมครับ? คุณมีตารางข้อมูลพนักงานที่มีตั้ง 9 คอลัมน์ — เริ่มตั้งแต่รหัสพนักงาน, ชื่อ, นามสกุล, ตำแหน่ง, แผนก, วันที่เริ่มงาน, เงินเดือน, เบอร์โทร, อีเมล — แถวยาวพอสมควรทีเดียว คุณต้องเพิ่มข้อมูลพนักงานคนใหม่ เข้าไปทีละคอลัมน์ขาวาบ ๆ — กรอกไปเลื่อนไป ปลายทางของแถวยาวสุดลูกหูลูกตา กว่าจะกรอกเสร็จก็เริ่มปวดคอเสียแล้ว หรือถ้าต้องการแก้ไขข้อมูลของพนักงานเก่า — คุณต้องหาแถวให้เจอ คลิกที่เซลล์ เลื่อนไปเลื่อนมา — ถ้าผิดคอลัมน์นี่ต้องไล่หาใหม่ทั่วตาราง! ฟีเจอร์ที่ช่วยแก้ปัญหานี้มีอยู่ใน Excel ตั้งแต่เวอร์ชันเก่า ๆ แล้วครับ — แต่คนส่วนใหญ่ไม่รู้ว่ามันมีอยู่! มันคือ Data Form — แบบฟอร์มป๊อปอัพเล็ก ๆ ที่โชว์ข้อมูลทีละแถวในรูปแบบฟอร์มที่อ่านง่าย แถมยังเพิ่ม แก้ไข ลบ ค้นหา ได้ทุกอย่างโดยไม่ต้องเลื่อนตารางเลย! เปิดไฟล์ตัวอย่าง แล้วมาลองทำไปพร้อมกันนะครับ…

  • PivotTable เบื้องต้น — สร้างและจัดวางฟิลด์ให้สรุปข้อมูลเป็นเรื่องง่าย

    1. เคยปวดหัวกับยอดขายหลายพันแถวไหม สมมติว่าคุณมีไฟล์ขายของร้านเครื่องดื่มที่บันทึกยอดขายรายวันตลอดหลายเดือน — มีทั้งสาขา สินค้า จำนวน ราคา ไล่ลงมาเป็นร้อยๆ แถว ลองนึกดูว่าถ้าอยากรู้ว่าสาขาไหนขายดีที่สุดหรือสินค้าไหนขายได้มากสุด คุณจะทำยังไง? ถ้าจะนั่งกรองทีละค่าแล้วรวมด้วย SUMIFS ก็พอไปได้ แต่พออยากเปลี่ยนมุมมองใหม่ เช่น เปลี่ยนจาก “ดูตามสาขา” เป็น “ดูตามสินค้า” หรืออยากเพิ่มเงื่อนไขอีกชั้นหนึ่ง คุณก็ต้องมานั่งแกะสูตร เปลี่ยนอาร์กิวเมนต์กันใหม่ทุกครั้ง — เสียเวลาไปเปล่าๆ อีกทั้งพอถึงเวลาส่งรายงานจริง หลายคนก็เจอว่าสูตรที่เคยเขียนไว้ใช้ได้อยู่ดี วันหนึ่งเพื่อนร่วมงานขอให้ดูอีกมุมหนึ่ง เช่น ขอว่ารวมตามเดือนด้วย ก็ต้องกลับไปแก้สูตรใหม่อีก round — วนเวียนแบบนี้แหละครับที่ทำให้งานสรุปข้อมูลดูน่าเบื่อและเสียเวลา วันนี้ผมจะพาคุณรู้จักเครื่องมือที่ตอบโจทย์นี้ได้ในไม่กี่คลิก นั่นคือ PivotTable ครับ เครื่องมือสรุปข้อมูลที่คนทำงานสายวิเคราะห์เกือบทุกคนต้องใช้เป็น เพราะมันเปลี่ยนข้อมูลดิบหลายพันแถวให้กลายเป็นสรุปที่อ่านง่ายในพริบตา โดยไม่ต้องเขียนสูตรยาวๆ เลย ยิ่งข้อมูลเยอะแค่ไหน ยิ่งเห็นคุณค่าของ PivotTable ชัดขึ้นเท่านั้นครับ เพราะผมมือวิเคราะห์หลายคนกว่าจะส่งรายงานแต่ละชุดก็ต้องคัดลอกข้อมูลมานั่งรวมกันทีละกลุ่ม ใช้เวลามหาศาล แต่พอมี PivotTable เรื่องพวกนี้กลายเป็นแค่เรื่องของลากวาง ลองนึกภาพว่าคุณเป็นผู้จัดการร้านกาแฟที่ต้องส่งรายงานยอดขายรายสัปดาห์ให้เจ้าของกิจการ ทุกสัปดาห์คุณต้องเปิดไฟล์ขาย คัดกรองสาขาทีละสาขา…

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.