Page 1 of 1

แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Tue Apr 24, 2012 4:11 pm
by darah
สอบถามอาจารย์และผู้รู้ค่ะ

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

ขอบคุณค่ะ

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Tue Apr 24, 2012 5:03 pm
by songsug
หาอายุงาน เรามักจะใช้ Datedif ครับ
หาปี = Datedif(วันที่เริ่ม,Today(),"Y")
หาเดือน = Datedif(วันที่เริ่ม,Today(),"YM")
หาัวัน = Datedif(วันที่เริ่ม,Today(),"MD")

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Tue Apr 24, 2012 5:03 pm
by snasui
:D ลองตามนี้ครับ
  1. เซลล์ E3 คีย์สูตรเพื่อหาวันบรรจุใหม่ที่เป็นค.ศ.
    =DATE(YEAR(C3)-543,MONTH(C3),DAY(C3))
    Enter > Copy ลงด้านล่าง
  2. เซลล์ D3 คีย์สูตรเพื่อหาอายุราชการ
    =DATEDIF(E3,TODAY(),"Y")&" Year(s) "&DATEDIF(E3,TODAY(),"YM")&" Month(s) "&DATEDIF(E3,TODAY(),"MD")&" Day(s)"
    Enter > Copy ลงด้านล่าง

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Tue Apr 24, 2012 5:32 pm
by songsug
อาจารย์ผมลองดูวันที่แล้ว เป็น Text ทั้งดุ้นเลยครับ เหมือนดึงมาจากฐานข้อมูลที่มี Format เป็น Varchar เลยครับ ดึง Value ออกมาใช้ไม่ได้เลย
เอาแบบนี้ได้ไหม แปลงวันที่ก่อน แล้วค่อยนำสูตรท่านอาจารย์ไปใช้

แปลง Text ของคุณเป็นวันที่ก่อน ที่ D3 พิมพ์
=DATE(RIGHT(C3,4)-543,MATCH((TRIM(MID(C3,MAX(IF(ISERROR(SEARCH($H$2:$H$13,C3)),0,SEARCH($H$2:$H$13,C3))),5))),$H$2:$H$13,0)),LEFT(C3,2))
Ctrl+shift+Enter
เอาอันนี้ไปวางที่ H1
H
เดือน
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Tue Apr 24, 2012 5:58 pm
by snasui
:lol: จากไฟล์แนบที่คีย์มาเป็น Text ผมคำนวณได้ปกติตามภาพด้านล่างครับ :mrgreen:

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Wed Apr 25, 2012 6:32 am
by darah
ขอบคุณค่ะ

อาจารย์ค่ะ ช่องอายุราชการให้อยู่ในรูปแบบ 35/5 (ปี/เดือน) ได้ไหมค่ะ

** Today วันที่ 30 กันยายน 2555

ข้อมูลดึงมาจากโปรแกรม ในโปรแกรมมีหมดทุกอย่าง แต่เวลาดึง มีข้อจำกัด ดึงไฟล์แรก มี เลขที่ตำแหน่ง ชื่อสกุล วันเกิด วันบรรจุ อีกไฟล์หนึ่ง ดึงออกมาแล้วได้เลขที่ตำแหน่ง ชื่อสกุล ตำแหน่ง ระดับ เงินเดือน
ก็ต้องไปรวมไฟล์ 2 ไฟล์ :P แต่ว่าเคยสอบถามอาจารย์ไปแล้ว เดียวจะลองไปทำดูก่อนค่ะ

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Wed Apr 25, 2012 6:51 am
by snasui
:D กรณีใช้วันที่ 30 กันยายน 2555 แทน Today() เราสามารถเปลี่ยนแทนคำว่า Today() ในสูตรเดิมเป็น

"30/9/2012" หรือ
Date(2012,9,30)

การปรับวันที่ในเครื่องให้เป็น 30 กันยายน 2555 จะมีผลทำให้การคำนวณวันที่อย่างอื่นผิดพลาดหรือหากเราลงโปรแกรมใดที่มีการกำหนดให้ใช้ได้ช่วงระยะเวลาหนึ่ง อาจจะทำให้เราไม่สามารถใช้ได้อีกเพราะหมดเวลา

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Wed Apr 25, 2012 7:04 am
by darah
อาจารย์ค่ะ ช่องอายุราชการให้อยู่ในรูปแบบ 35/5 (ปี/เดือน) ได้ไหมค่ะ

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Wed Apr 25, 2012 7:08 am
by snasui
:D สามารถทำได้ครับ ลองปรับสูตรในข้อ 2 ด้านล่างดูครับ
snasui wrote::D ลองตามนี้ครับ
  1. เซลล์ E3 คีย์สูตรเพื่อหาวันบรรจุใหม่ที่เป็นค.ศ.
    =DATE(YEAR(C3)-543,MONTH(C3),DAY(C3))
    Enter > Copy ลงด้านล่าง
  2. เซลล์ D3 คีย์สูตรเพื่อหาอายุราชการ
    =DATEDIF(E3,TODAY(),"Y")&" Year(s) "&DATEDIF(E3,TODAY(),"YM")&" Month(s) "&DATEDIF(E3,TODAY(),"MD")&" Day(s)"
    Enter > Copy ลงด้านล่าง

Re: แปลงวันที่จากข้อความเป็นรูปแบบวันที่

Posted: Wed Apr 25, 2012 7:17 am
by darah
ดูสูตรของอาจารย์ แล้วคิดว่าทำได้ ก็เลยจะลบคำถามทิ้ง กลายเป็นลบโพสต์ทิ้งเสียนี้ :shock:

ขอบคุณอาจารย์อีกครั้งค่ะ