สูตรวันที่ใน Excel: รวมสูตร วัน เดือน ปี ที่ใช้บ่อย พร้อมตัวอย่าง
· อ่านประมาณ 14 นาที
วันที่เป็นข้อมูลที่อยู่ในไฟล์ Excel แทบทุกไฟล์ ทั้งวันที่ออกใบแจ้งหนี้ วันครบกำหนด วันเริ่มงาน และวันลา แต่หลายคนยังเจอปัญหาเดิม ๆ เช่น อยากแยกวัน เดือน ปี ออกจากกัน อยากแสดงเป็นวันที่ภาษาไทยแบบ พ.ศ. อยากหาวันสิ้นเดือน หรือวันที่ที่พิมพ์มาแล้วคำนวณไม่ได้
บทความนี้รวมสูตรวันที่ใน Excelที่ใช้บ่อยที่สุด ตั้งแต่สูตร วัน เดือน ปี พื้นฐาน การสร้างวันที่ การแสดงผลภาษาไทย การบวกลบเดือน หาวันสิ้นเดือน นับวันทำงาน ไปจนถึงการแปลงข้อความเป็นวันที่ พร้อมภาพหน้าจอตัวอย่างทุกหัวข้อ
เข้าใจก่อน: Excel เก็บวันที่เป็นตัวเลข
Excel (บน Windows) เก็บวันที่เป็นลำดับตัวเลข โดยนับวันที่ 1 มกราคม ค.ศ. 1900 (พ.ศ. 2443) เป็นลำดับที่ 1 เช่น วันที่ 13 พฤศจิกายน 2026 คือลำดับที่ 46339 สิ่งที่เราเห็นเป็น "13/11/2026" เป็นแค่รูปแบบการแสดงผลเท่านั้น
เพราะวันที่คือตัวเลข เราจึงบวกลบวันที่ได้โดยตรง เช่น =B2-A2 ได้จำนวนวันระหว่างสองวันที่ หรือ =A2+30 ได้วันที่อีก 30 วันข้างหน้า
วิธีดูลำดับตัวเลขของวันที่: เลือกเซลล์แล้วกด Ctrl + Shift + ~ หรือเปลี่ยน Format Cells เป็น General ถ้าเห็นเป็นตัวเลขแปลว่า Excel รู้จักเป็นวันที่จริง แต่ถ้ายังเป็นข้อความเหมือนเดิม แปลว่าเป็น "ข้อความที่หน้าตาเหมือนวันที่" ซึ่งคำนวณไม่ได้ (ดูวิธีแก้ในหัวข้อท้ายบทความ)
สูตร DATE: สร้างวันที่จาก ปี เดือน วัน
=DATE(year, month, day)
ใช้รวมตัวเลข ปี เดือน วัน ที่อยู่คนละเซลล์ให้เป็นวันที่ เช่น =DATE(2026, 11, 13) ได้ 13/11/2026 จุดเด่นของ DATE คือคำนวณเดือนและวันที่เกินหรือติดลบให้อัตโนมัติ

=DATE(2026, 14, 1)เดือนที่ 14 = เดือนที่ 2 ของปีถัดไป ได้ 1/2/2027=DATE(2026, 3, 0)วันที่ 0 = วันสุดท้ายของเดือนก่อนหน้า ได้ 28/2/2026=DATE(2026, 11, -1)ถอยหลังจากวันสุดท้ายของเดือนก่อนอีก 1 วัน ได้ 30/10/2026=DATE(2026, -1, 1)เดือนติดลบ ถอยไปปีก่อน ได้ 1/11/2025
ข้อควรระวัง: ใส่ปีเป็น ค.ศ. 4 หลักเสมอ ถ้าใส่ปี พ.ศ. เช่น =DATE(2569, 11, 13) Excel จะเข้าใจว่าเป็นปี ค.ศ. 2569 และถ้าใส่ปี 0–1899 Excel จะบวก 1900 ให้ เช่น =DATE(105, 5, 1) ได้ 1/5/2005
สูตร YEAR, MONTH, DAY: แยก ปี เดือน วัน ออกจากวันที่
ถ้า A2 เป็นวันที่ 13/11/2026
| ต้องการ | สูตร | ผลลัพธ์ |
|---|---|---|
| ปี ค.ศ. | =YEAR(A2) | 2026 |
| ปี พ.ศ. | =YEAR(A2)+543 | 2569 |
| เดือน (ตัวเลข) | =MONTH(A2) | 11 |
| วันที่ | =DAY(A2) | 13 |
| วันในสัปดาห์ (จันทร์ = 1) | =WEEKDAY(A2, 2) | 5 (วันศุกร์) |
สูตรกลุ่มนี้ใช้มากเวลาสรุปข้อมูลรายเดือนหรือรายปี เช่น เพิ่มคอลัมน์ "เดือน" ด้วย =MONTH(A2) แล้วนำไปทำ Pivot Table หรือ SUMIFS
สูตร TEXT: แสดงวันที่ภาษาไทยแบบ พ.ศ.
สูตร TEXT แปลงวันที่เป็นข้อความตามรูปแบบที่กำหนด เหมาะกับการนำวันที่ไปต่อในประโยค เช่น ในจดหมายหรือใบแจ้งหนี้

| สูตร | ผลลัพธ์ |
|---|---|
=TEXT(A2, "dd/mm/yyyy") | 13/11/2026 |
=TEXT(A2, "[$-41E]d mmmm bbbb") | 13 พฤศจิกายน 2569 |
=TEXT(A2, "[$-41E]d mmm bb") | 13 พ.ย. 69 |
="ครบกำหนดชำระวันที่ " & TEXT(A2, "[$-41E]d mmmm bbbb") | ครบกำหนดชำระวันที่ 13 พฤศจิกายน 2569 |
[$-41E] คือรหัสภาษาไทย ทำให้ชื่อเดือนเป็นภาษาไทย และ bbbb คือปีพุทธศักราช ถ้าต้องการแค่แสดงเซลล์วันที่เป็น พ.ศ. โดยยังคำนวณได้ ไม่ต้องใช้สูตร ให้ไปที่ Format Cells > Custom แล้วใส่ [$-41E]d mmmm bbbb แทน
ชื่อวันภาษาไทย: ใช้ CHOOSE ร่วมกับ WEEKDAY จะได้ผลเหมือนกันทุกเครื่อง
=CHOOSE(WEEKDAY(A2), "อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์")
สูตร TODAY และ NOW: วันที่และเวลาปัจจุบัน
=TODAY()วันที่วันนี้ อัปเดตเองทุกครั้งที่เปิดไฟล์=NOW()วันที่และเวลาปัจจุบัน=TODAY()-A2จำนวนวันที่ผ่านไปแล้วนับจาก A2 เช่น จำนวนวันค้างชำระ
ถ้าต้องการบันทึกวันที่วันนี้แบบไม่เปลี่ยนอีก ให้กด Ctrl + ; (และ Ctrl + Shift + ; สำหรับเวลา) แทนการใช้สูตร
สูตร EDATE, EOMONTH, WORKDAY: บวกเดือน หาวันสิ้นเดือน และนับวันทำงาน

| ต้องการ | สูตร | ผลลัพธ์ (A2 = 13/11/2026) |
|---|---|---|
| บวก 3 เดือน (เช่น วันหมดสัญญา) | =EDATE(A2, 3) | 13/02/2027 |
| วันสิ้นเดือนนี้ | =EOMONTH(A2, 0) | 30/11/2026 |
| วันแรกของเดือนนี้ | =EOMONTH(A2, -1)+1 | 01/11/2026 |
| วันสิ้นเดือนถัดไป (เช่น เครดิตเทอม) | =EOMONTH(A2, 1) | 31/12/2026 |
| อีก 10 วันทำงาน (ไม่นับเสาร์-อาทิตย์) | =WORKDAY(A2, 10) | 27/11/2026 |
| จำนวนวันทำงานในเดือนนี้ | =NETWORKDAYS(EOMONTH(A2,-1)+1, EOMONTH(A2,0)) | 21 |
WORKDAY และ NETWORKDAYS ใส่รายการวันหยุดนักขัตฤกษ์เป็นอาร์กิวเมนต์สุดท้ายได้ เช่น =WORKDAY(A2, 10, วันหยุด!$A$2:$A$20) ถ้าบริษัททำงานวันเสาร์ ใช้ WORKDAY.INTL และ NETWORKDAYS.INTL ซึ่งกำหนดวันหยุดประจำสัปดาห์เองได้
ผลลัพธ์ของ EDATE และ EOMONTH เป็นตัวเลขลำดับวันที่ ถ้าเห็นเป็นตัวเลข 5 หลัก ให้จัดรูปแบบเซลล์เป็น Date
คำนวณระยะห่างระหว่างวันที่
- จำนวนวัน:
=B2-A2 - จำนวนปีเต็ม เดือนเต็ม:
=DATEDIF(A2, B2, "y")และ=DATEDIF(A2, B2, "m") - อายุงานแบบ "x ปี y เดือน": ดูสูตรเต็มในบทความคำนวณอายุงานด้วย DATEDIF
แปลงข้อความเป็นวันที่ (วันที่ที่คำนวณไม่ได้)
ข้อมูลที่ Export มาจากระบบอื่นมักได้วันที่เป็นข้อความ สังเกตได้จากข้อความชิดซ้ายของเซลล์ สูตรอย่าง YEAR หรือการลบวันที่จะได้ #VALUE! ใช้ LEFT, MID, RIGHT แยกส่วนแล้วประกอบใหม่ด้วย DATE

| ข้อความใน A2 | สูตร |
|---|---|
| 13/11/2569 (dd/mm/yyyy ปี พ.ศ.) | =DATE(RIGHT(A2,4)-543, MID(A2,4,2), LEFT(A2,2)) |
| 20261113 (yyyymmdd) | =DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2)) |
| 2026-11-13 (yyyy-mm-dd) | =DATE(LEFT(A2,4), MID(A2,6,2), RIGHT(A2,2)) |
สูตรเหล่านี้ใช้ได้เมื่อข้อความมีความยาวคงที่ เช่น วันที่หลักเดียวเขียนเป็น 05 ถ้าต้องแปลงข้อมูลจำนวนมาก หรือมีหลายรูปแบบปนกัน ใช้ Data > Text to Columns (เลือก Date: DMY) หรือ Power Query จะเร็วกว่า
ตารางสรุปสูตรวันที่ใน Excel
| สูตร | ใช้ทำอะไร |
|---|---|
| DATE | สร้างวันที่จาก ปี เดือน วัน |
| YEAR, MONTH, DAY | แยก ปี เดือน วัน ออกจากวันที่ |
| TEXT | แสดงวันที่เป็นข้อความ รวมถึงภาษาไทยแบบ พ.ศ. |
| TODAY, NOW | วันที่ และวันที่-เวลาปัจจุบัน |
| WEEKDAY | วันในสัปดาห์ (ตัวเลข) |
| EDATE | บวกหรือลบจำนวนเดือน |
| EOMONTH | วันสิ้นเดือน |
| WORKDAY, NETWORKDAYS | หาวันทำงานถัดไป และนับวันทำงาน |
| DATEDIF | ระยะห่างเป็นปี เดือน วัน |
คำถามที่พบบ่อย
ทำไมพิมพ์วันที่แล้ววันกับเดือนสลับกัน
Excel อ่านวันที่ตามการตั้งค่า Region ของ Windows ถ้าเครื่องตั้งเป็นแบบสหรัฐ (เดือน/วัน/ปี) การพิมพ์ 05/11/2026 จะได้ 11 พฤษภาคม ควรตั้ง Region เป็นแบบไทยหรืออังกฤษ (วัน/เดือน/ปี) หรือพิมพ์แบบ 2026-11-05 ซึ่ง Excel อ่านถูกทุกเครื่อง
ทำไมเซลล์วันที่ขึ้นเป็น #####
คอลัมน์แคบเกินไป ให้ขยายคอลัมน์ หรือผลลัพธ์เป็นวันที่ติดลบ เช่น เอาวันที่น้อยลบวันที่มาก แล้วจัดรูปแบบเป็น Date
พิมพ์ปี พ.ศ. ลงในเซลล์ได้ไหม
ไม่แนะนำ ควรพิมพ์เป็น ค.ศ. แล้วใช้รูปแบบเซลล์ [$-41E]d/m/bbbb ให้แสดงเป็น พ.ศ. เพราะสูตรวันที่ทุกตัวคำนวณตามปี ค.ศ.
สรุป
จำหลักเดียวว่า "วันที่ใน Excel คือตัวเลข" แล้วสูตร วัน เดือน ปี ทั้งหมดจะเข้าใจง่ายขึ้น ใช้ DATE สร้างวันที่ ใช้ YEAR, MONTH, DAY แยกส่วน ใช้ TEXT แสดงผลภาษาไทย ใช้ EDATE และ EOMONTH จัดการเดือน และใช้ WORKDAY กับ NETWORKDAYS นับวันทำงาน
ถ้าคุณใช้วันที่คำนวณค่าแรงหรือการทำงานล่วงเวลา อ่านต่อที่สูตรหา OT ใน Excel ฟังก์ชันวันที่และเวลาเป็นหัวข้อหนึ่งในหลักสูตรอบรม Excel Advance ส่วนทีม HR ที่ใช้สูตรวันที่ทุกวัน ดูหลักสูตรอบรม Excel HR และสำหรับองค์กรที่ต้องการให้วิทยากรสอน Excel ให้ทีม ดูรายละเอียดอบรม In-house / Online
- #สูตรวันที่ excel
- #สูตร excel วัน เดือน ปี
- #DATE
- #EOMONTH
- #WORKDAY
- #TEXT
- #Excel