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
:D ลองตามนี้ครับ
  1. ที่ B2 กำหนด Format วันที่ให้เป็น Default ตามเครื่องโดย คีย์ Today() > Enter เพื่อไม่ต้องเสียเวลามากำหนด Format วันที่ทีหลัง
  2. ที่ 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
:D
snasui wrote: :D ลองตามนี้ครับ
  1. ที่ B2 กำหนด Format วันที่ให้เป็น Default ตามเครื่องโดย คีย์ Today() > Enter เพื่อไม่ต้องเสียเวลามากำหนด Format วันที่ทีหลัง
  2. ...
ตามด้านบน ผมให้คีย์สูตรลงในเซลล์เลย ไม่ได้หมายความว่าไปกำหนด Custom Format แต่อย่างใดครับ

Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ

Posted: Thu Feb 07, 2013 12:02 pm
by bank9597
:D แถมอีกวิธีครับ

ที่ 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
:lol: จากไฟล์ที่แนบมาให้ Clear Format ที่คอลัมน์ B ทิ้งไปครับ

จากนั้น ที่ B1 คีย์สูตรที่ผมให้ไปด้านบนตามข้อ 2 หรือตามด้านล่าง

=MID(A1,2,LEN(A1)-2)+0

จากนั้นจัด Format ตามต้องการ

Note:
  1. สังเกตว่าเป็นการจัด Format ทีหลัง เพราะดูแล้วน่าจะสับสนเรื่อง Format
  2. วันที่ลักษณะนี้จะไม่ถูกต้อง เนื่องจากคีย์มาเป็น พ.ศ. หากต้องการให้ถูกต้องสามารถแปลงด้วยสูตรให้เป็น ค.ศ. อีกรอบหนึ่งครับ

Re: อยากได้สูตรแปลงตัวอักษรเป็นวันที่ครับ

Posted: Fri Feb 08, 2013 7:19 am
by snasui
' :D หากไม่ได้กำหนด 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
:D ลองตามนี้ครับ

ที่ 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 อักขระแปลกปลอมออกไปตามภาพด้านล่างครับ :D

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
:D ลองปรับ 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
:D ให้ 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
ขอส่งไฟด์อีกทีครับใช้ไฟด์นี้ครับผม