หน้าแรก บทความ Microsoft
Microsoft

แปลงวันที่ พ.ศ. ที่เป็นข้อความให้เป็นวันที่จริงใน Excel

เผยแพร่ 29 ส.ค. 69

ข้อมูลที่ส่งออกจากระบบราชการ ระบบบัญชีไทย หรือก๊อปมาจากเว็บ มักมีวันที่เป็นแบบ “15/08/2569” หรือ “15 ส.ค. 2569” ซึ่ง Excel มองเป็นข้อความ ไม่ใช่วันที่จริง เลยเอาไปเรียงลำดับ ลบกัน หรือคำนวณอายุไม่ได้ บทความนี้รวมสูตรแปลงวันที่ พ.ศ. ให้กลายเป็นวันที่จริง (ค.ศ.) ที่ Excel เข้าใจ ครบทุกรูปแบบที่เจอบ่อย พร้อมวิธีแปลงกลับ

หลักการ: แกะ วัน / เดือน / ปี แล้วประกอบใหม่ด้วย DATE

สูตรหัวใจคือ DATE(ปี, เดือน, วัน) เราแค่ต้องดึงตัวเลขสามส่วนออกมาจากข้อความ แล้วลบ 543 ออกจากปี ก่อนส่งให้ DATE

รูปแบบที่ 1: ตัวเลขล้วน 15/08/2569

B2fx=DATE(RIGHT(A2,4)-543, MID(A2,4,2), LEFT(A2,2))
A B
1 ข้อความวันที่ (พ.ศ.) วันที่จริง
2 15/08/2569 15/08/2026
3 01/01/2570 01/01/2027

LEFT ดึง 2 ตัวแรก (วัน) MID ดึงตำแหน่งที่ 4 ยาว 2 ตัว (เดือน) RIGHT ดึง 4 ตัวท้าย (ปี พ.ศ.) แล้ว -543 เป็น ค.ศ. เซลล์ผลลัพธ์อาจโชว์เป็นตัวเลข serial ให้กด Ctrl+1 เปลี่ยนรูปแบบเป็น Date

รูปแบบที่ 2: มีชื่อเดือนไทย 15 ส.ค. 2569

ต้องแปลงชื่อเดือนเป็นตัวเลขก่อน ด้วยการเทียบกับลิสต์ชื่อเดือน วางลิสต์ ม.ค. ... ธ.ค. ไว้ที่ $E$1:$E$12

B2fx=DATE(TEXTAFTER(A2," ",-1)-543, MATCH(TEXTBEFORE(TEXTAFTER(A2," ")," "), $E$1:$E$12, 0), TEXTBEFORE(A2," "))
A B
1 ข้อความ วันที่จริง
2 15 ส.ค. 2569 15/08/2026
3 3 ม.ค. 2570 03/01/2027

TEXTBEFORE / TEXTAFTER ตัดข้อความตามช่องว่าง ได้วัน / ชื่อเดือน / ปี ออกมา แล้ว MATCH หาว่าชื่อเดือนนั้นอยู่ลำดับที่เท่าไรในลิสต์ (= เลขเดือน) ถ้าใช้ Excel รุ่นก่อน 365 ให้ใช้ FIND กับ MID แทน TEXTBEFORE/TEXTAFTER

รูปแบบที่ 3: Excel อ่านเป็นวันที่แล้ว แต่ปีเพี้ยนไป 543 ปี

บางไฟล์ Excel อ่านวันที่ได้เอง แต่ตีความปี 2569 เป็น ค.ศ. ทำให้วันที่กระโดดไปอยู่ปี 2569 (อีก 500 กว่าปีข้างหน้า) เช็คด้วย YEAR แล้วหักออก

B2fx=IF(YEAR(A2)>2200, DATE(YEAR(A2)-543, MONTH(A2), DAY(A2)), A2)
A B
1 วันที่ที่อ่านมาผิด แก้แล้ว
2 15/08/2569 15/08/2026

เงื่อนไข YEAR(A2)>2200 ใช้กันพลาด ถ้าปีมากผิดปกติแปลว่ายังเป็น พ.ศ. อยู่ ค่อยหัก 543 ถ้าปีปกติ (เป็น ค.ศ. อยู่แล้ว) ก็ปล่อยผ่าน

แปลงกลับ: วันที่จริง → ข้อความ พ.ศ.

B2fx=TEXT(A2,"[$-th-TH]d mmmm yyyy")
A B
1 วันที่จริง รูปแบบไทย
2 15/08/2026 15 สิงหาคม 2569

รหัส [$-th-TH] ใน TEXT สั่งให้แสดงเป็นภาษาไทยและปีเป็น พ.ศ. อัตโนมัติ ถ้าอยากให้เซลล์วันที่จริงแสดงเป็น พ.ศ. โดยไม่แปลงเป็นข้อความ ให้ตั้ง Custom Format เป็น [$-th-TH]d/m/yyyy แทน คำนวณต่อได้ตามปกติ

ข้อควรรู้

หมายเหตุ: บทความนี้เขียนและเรียบเรียงโดย AI

← กลับหน้าบทความ
Line