Page 1 of 2
อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 10:04 am
by akekorn
สวัสดีครับคุณคนควนและเพื่อนสมาชิก
พอดีมีปัญหาครับว่า ข้อมูลในเซลเป็นตัวอักษร แต่ต้องการสูตรให้เป็นวันที่ควรทำอย่างไรดีครับผมได้แนบไฟด์มาให้ด้วยครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 10:59 am
by snasui

ลองตามนี้ครับ
- ที่ B2 กำหนด Format วันที่ให้เป็น Default ตามเครื่องโดย คีย์ Today() > Enter เพื่อไม่ต้องเสียเวลามากำหนด Format วันที่ทีหลัง
- ที่ B2 คีย์ทับสูตร Today() เป็น
=SUBSTITUTE(SUBSTITUTE(A2,LEFT(A2),""),RIGHT(A2),"")+0
Enter > Copy ลงด้านล่าง
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 11:33 am
by akekorn
คุณคนควนครับ
ผมลองทำตามแล้วแต่ผลเป็นอย่างไฟด์แนบครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 11:59 am
by snasui
snasui wrote: 
ลองตามนี้ครับ
- ที่ B2 กำหนด Format วันที่ให้เป็น Default ตามเครื่องโดย คีย์ Today() > Enter เพื่อไม่ต้องเสียเวลามากำหนด Format วันที่ทีหลัง
- ...
ตามด้านบน ผมให้
คีย์สูตรลงในเซลล์เลย ไม่ได้หมายความว่าไปกำหนด Custom Format แต่อย่างใดครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 12:02 pm
by bank9597

แถมอีกวิธีครับ
ที่ B2 คีย์ =DATE(LEFT(RIGHT(A2,5),4),MONTH(1&TRIM(MID(A2,4,LEN(A2)-8))),RIGHT(LEFT(A2,3),2)) คัดลอกลงมา
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 12:45 pm
by akekorn
ครับผมก็ได้ทำตามที่คุณคนควนบอกแล้ว คือ คีย์คำว่า today () จากนั้นคีย์ =SUBSTITUTE(SUBSTITUTE(A2,LEFT(A2),""),RIGHT(A2),"")+0 ทับไปแต่ก็ปรากฎค่า error ตามไฟด์ที่ส่งไปครับไม่ทราบว่าผมทำอะไรผิดครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Thu Feb 07, 2013 1:19 pm
by snasui

จากไฟล์ที่แนบมาให้ Clear Format ที่คอลัมน์ B ทิ้งไปครับ
จากนั้น ที่ B1 คีย์สูตรที่ผมให้ไปด้านบนตามข้อ 2 หรือตามด้านล่าง
=MID(A1,2,LEN(A1)-2)+0
จากนั้นจัด Format ตามต้องการ
Note:
- สังเกตว่าเป็นการจัด Format ทีหลัง เพราะดูแล้วน่าจะสับสนเรื่อง Format
- วันที่ลักษณะนี้จะไม่ถูกต้อง เนื่องจากคีย์มาเป็น พ.ศ. หากต้องการให้ถูกต้องสามารถแปลงด้วยสูตรให้เป็น ค.ศ. อีกรอบหนึ่งครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Fri Feb 08, 2013 7:19 am
by snasui
'

หากไม่ได้กำหนด Regional and language ไว้เป็น Thai ให้ลองปรับสูตรที่ B2 เป็นตามด้านล่างครับ
=DATE(MID(A2,FIND(" ",A2,5)+1,4)-543,MATCH(MID(A2,5,LEN(A2)-10),{"มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"},0),MID(A2,2,2))
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Fri Feb 08, 2013 11:15 pm
by akekorn
ครับผมแต่ลองทำแล้วก็ยังไม่ได้สงสัยผมคงฉลาดน้อยไปหน่อยครับ
แต่อยากรบกวนคุณคนควนอีกนิดครับ คือตัวอย่าง 24 พฤศจิกายน 2555 ผมอยากได้ฟังก์ชั่น ตัดคำให้เหลือแต่ชื่อเดือน คือ พฤศจิกายน ควรใช้ฟังก์ชั่นอะไรดีครับ
ขอบคุณครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Sat Feb 09, 2013 7:52 am
by snasui

ลองตามนี้ครับ
ที่ B1 คีย์สูตร
=MID(A1,FIND(" ",A1,1)+1,FIND(" ",A1,5)-FIND(" ",A1,1)-1)
หรือ
=TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",50)),50,50))
Enter > Copy ลงด้านล่าง
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Sun Feb 10, 2013 10:02 am
by snasui
akekorn wrote:ครับผมแต่ลองทำแล้วก็ยังไม่ได้
อีกทางเลือกสามารถใช้การ Replace อักขระแปลกปลอมออกไปตามภาพด้านล่างครับ

Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Mon Feb 11, 2013 8:58 am
by akekorn
ขอบคุณมากครับคุณคนควน
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Tue Feb 12, 2013 1:40 pm
by akekorn
คุณคนควนครับ
พอดีผมลองทำ function ใช้เองแต่ติดอยู่ครับ รบกวนคุณคนควนช่วยดูให้หน่อยได้ไหมครับ
ว่าควรแก้ไขอย่างไร ผมได้แนบไฟด์มาให้ด้วยครับ
ขอบคุณครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Tue Feb 12, 2013 4:48 pm
by snasui

ลองปรับ Code เป็นตามด้านล่างครับ
Code: Select all
Function cma(a As String) As Date
Dim aa, aaa
Dim bb, bbb
Dim cc, ccc
Dim ddd As Date
aa = Left(Trim(a), 3) 'date
bb = Trim(Mid(WorksheetFunction.Substitute(a, " ", WorksheetFunction.Rept(" ", 50)), 50, 50)) ' month
cc = Right(Trim(a), 5) ' year
aaa = Val(aa)
ccc = Val(cc)
Select Case bb
Case "มกราคม"
bbb = 1
Case "กุมภาพันธ์"
bbb = 2
Case "มีนาคม"
bbb = 3
Case "เมษายน"
bbb = 4
Case "พฤษภาคม"
bbb = 5
Case "มิถุนายน"
bbb = 6
Case "กรกฎาคม"
bbb = 7
Case "สิงหาคม"
bbb = 8
Case "กันยายน"
bbb = 9
Case "ตุลาคม"
bbb = 10
Case "พฤศจิกายน"
bbb = 11
Case "ธันวาคม"
bbb = 12
End Select
ddd = DateSerial(ccc, bbb, aaa)
cma = ddd
End Function
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Tue Feb 12, 2013 7:02 pm
by akekorn
ขอบคุณมากครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Tue Feb 12, 2013 10:14 pm
by akekorn
คุณคนควนครับรบกวนอีกนิดครับหากผมอยากจะทำเป็น add in function ควร save as เป็นนามสกุล add in แล้วควรตั้งชื่อเป็นอะไรดีแล้วเมื่อตั้งแล้วยังเรียกชื่อ function ที่ตั้งไว้ได้ใช่ไหมครับ
ขอบคุณครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Tue Feb 12, 2013 10:17 pm
by snasui

ให้ Save เป็น .xla หรือ .xlam สำหรับ Excel 2007+ ครับ สำหรับการตั้งชื่อแล้วแต่สะดวกเลยครับ
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Wed Feb 13, 2013 10:01 am
by akekorn
ขอบคุณครับผม
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Mon Feb 18, 2013 5:57 pm
by akekorn
คุณคนควนครับพอดีผมนึกขึ้นมาได้ว่าหากจะให้ฟังก์ชั่นใช้ได้ทั้งไทย อังกฤษควรจะทำเพิ่มตามไฟด์แนบแต่ไม่ทราบว่าทำอะไรผิดครับรบกวนดู้ให้ด้วยครับผม
Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ
Posted: Mon Feb 18, 2013 5:59 pm
by akekorn
ขอส่งไฟด์อีกทีครับใช้ไฟด์นี้ครับผม