อยากเปลี่ยนคำว่า “8 มีนาคม 2567” เป็นวันที่ใน Excel ทำไง?
ใช้สูตรนี้ได้เลย
=LET(_date,TEXTSPLIT(TRIM(A2)," "),
_year,--INDEX(_date,3),
_ad, _year+IF(_year>2443,-543),
_month,MATCH(INDEX(_date,2),TEXT(SEQUENCE(12)*28,"ดดดด"),0),
_day,@_date,
DATE(_ad,_month,_day))

การทำงานของสูตรมี 6 ขั้นตอน
(เช่น ต้องการเปลี่ยนคำว่า 8 มีนาคม 2567 เป็น 08-Mar-2024)
1. แตก “8 มีนาคม 2567” ออกเป็น {“8”, “มีนาคม”, ”2567”} ด้วย TEXTSPLIT(TRIM(A2),” “) แล้วตั้งชื่อว่า _date
2. แยก “2567” ออกมา และเปลี่ยนเป็นตัวเลขด้วย –INDEX(_date,3)
3. เปลี่ยน 2567 เป็นปี ค.ศ. ด้วย _year+IF(_year>2443,-543)
4. เปลี่ยน “มีนาคม” เป็น 3 ด้วย MATCH(INDEX(_date,2),TEXT(SEQUENCE(12)*28,”ดดดด”),0)
5. แยก “8” ออกมาด้วย @_date
6. เปลี่ยนเป็นวันที่ด้วย DATE(_AD,_month,_day)
สูตรอาจดูยาวหน่อย แต่เป็นขั้นเป็นตอน ทำความเข้าใจและแก้ไขได้ไม่ยากครับ 🙂
Note: สูตรนี้ใช้ได้ใน Excel 365 เท่านั้น ป.ล. ขอบคุณคุณ Excel Wizard ที่ช่วยจุดประกายไอเดียครับ 😊