จื๊ย! เทคนิคเปลี่ยน วันเดือนปี เป็น วันที่

“อยากเปลี่ยนข้อมูลเป็นวันที่ ต้องทำยังไงคะ?”
“เปลี่ยนฟอร์แมตเป็นวันที่ได้เลยครับ”
“ลองแล้วไม่ได้ค่ะ เพราะข้อมูลเป็น วันเดือนปี เช่น 1032023”
“หา!”

เคสแบบนี้ ถ้าอยู่ในรูปแบบ ปีเดือนวัน (เช่น 20230301) จะง่ายมาก
ใช้สูตรนี้จบ

=--TEXT(A2,"0000-00-00")

แต่ข้อมูลดันอยู่ในรูปแบบ วันเดือนปี
แถมบางครั้งเป็นตัวเลข 7 หลัก เช่น 1032023
และบางครั้งเป็นตัวเลข 8 หลัก เช่น 13112021

จึงต้องปรับสูตรให้เป็นแบบนี้

=--TEXTJOIN("-",,MID(TEXT(A2,REPT(0,8)),{5,3,1},{4,2,2}))

สูตรทำงานแบบนี้ครับ 🙂

เริ่มจากปรับให้มี 8 อักขระ (ด้วยฟังก์ชัน TEXT)

แล้วแยกข้อมูลให้เป็น ปี เดือน วัน (ด้วยฟังก์ชัน MID)

จากนั้นรวมเข้าด้วยกันให้เป็น “yyyy-mm-dd” (ด้วยฟังก์ชัน TEXTJOIN)

เปลี่ยน text เป็นตัวเลข (ด้วยเครื่องหมาย – – )

แล้วปรับฟอร์แมตให้เป็น d-mmm-yyyy

(สูตรนี้เหมาะกับ Excel 365 หรือ Excel 2021)

ผมได้ไอเดียการเขียนสูตรมาจากคุณ Wittaya Chainim ซึ่งตอบคำถามไว้ในกลุ่ม Excel Super Fan
เห็นแล้วชอบตรรกะ จึงนำมาเขียนเป็นบทความ

อนึ่ง เคสนี้ใช้สูตรสั้น ๆ แบบนี้ก็ได้

=--TEXT(A2,"00-00-0000")

แต่จะได้ใช้ได้กับคอมพิวเตอร์ที่เซ็ตรูปแบบวันที่ (ใน Region Settings) เป็น วัน-เดือน-ปี เท่านั้น
คอมพิวเตอร์ที่เซ็ตรูปแบบวันที่เป็น เดือน-วัน-ปี จะใช้ไม่ได้

สูตรแบบแรกจึงยืดหยุ่นกว่า 😀

ผมชอบสูตรนี้มากเลยนะ แล้วคุณล่ะ? 😊

วิศวกรรีพอร์ต

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

Leave a Reply

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