:D snasui.com ยินดีต้อนรับ :D
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย :thup: สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ :arrow: ระบุ Version ของ Excel
:!: โปรดทราบ :!:
  1. กรุณาอ่านกฎการใช้บอร์ด (Forum rules) ในตำแหน่งด้านบนของแต่ละบอร์ด
  2. การสมัครสมาชิก การ Login การกู้คืนรหัสผ่าน
    1. สมัครสมาชิกดูขั้นตอนได้ที่ :arrow: สมัครสมาชิก
    2. Login เข้าระบบโดยคลิกปุ่ม Login ตรงมุมขวาบนของหน้านี้ :roll:
    3. การ Login ผ่าน Facebook ดูวิธีที่ :arrow: Login ผ่าน Facebook
    4. ลืมรหัสผ่านสามารถรับรหัสใหม่ได้ที่ :arrow: Reset รหัสผ่าน
  3. มีปัญหาการใช้งาน แจ้งผู้ดูแลระบบได้ที่ :arrow: ติดต่อผู้ดูแลระบบ
  4. กำหนดการตั้งค่าส่วนตัว เช่นตั้งค่าภาษาเป็นไทยหรืออังกฤษดูได้ที่ :arrow: ตั้งค่าส่วนตัว
  5. การตั้งและตอบกระทู้ดูได้ที่ :arrow: วิธีการตั้งและตอบกระทู้
  6. การจัดรูปแบบตัวอักษรด้วย bbcode ในช่องแสดงความคิดเห็นดูได้ที่ :arrow: จัดรูปแบบตัวอักษร
  7. กำหนดขนาดตัวอักษรใน Browser ดูได้ที่ :arrow: กำหนดขนาดตัวอักษรใน Browser

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

ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
  1. ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
  2. ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
  3. กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
  4. กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
  5. กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code] และปิดด้วย [/code] ตัวอย่างเช่น [code]dim r as range[/code] เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
  6. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
darah
Member
Member
Posts: 16
Joined: Fri Nov 18, 2011 8:41 pm

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

#1

Post by darah »

สอบถามอาจารย์และผู้รู้ค่ะ

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

ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
songsug
Member
Member
Posts: 71
Joined: Wed Apr 04, 2012 11:22 am
Location: สมุทรสาคร

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

#2

Post by songsug »

หาอายุงาน เรามักจะใช้ Datedif ครับ
หาปี = Datedif(วันที่เริ่ม,Today(),"Y")
หาเดือน = Datedif(วันที่เริ่ม,Today(),"YM")
หาัวัน = Datedif(วันที่เริ่ม,Today(),"MD")
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#3

Post 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 ลงด้านล่าง
User avatar
songsug
Member
Member
Posts: 71
Joined: Wed Apr 04, 2012 11:22 am
Location: สมุทรสาคร

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

#4

Post 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
เดือน
ม.ค.
ก.พ.
มี.ค.
เม.ย.
พ.ค.
มิ.ย.
ก.ค.
ส.ค.
ก.ย.
ต.ค.
พ.ย.
ธ.ค.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#5

Post by snasui »

:lol: จากไฟล์แนบที่คีย์มาเป็น Text ผมคำนวณได้ปกติตามภาพด้านล่างครับ :mrgreen:
You do not have the required permissions to view the files attached to this post.
darah
Member
Member
Posts: 16
Joined: Fri Nov 18, 2011 8:41 pm

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

#6

Post by darah »

ขอบคุณค่ะ

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

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

ข้อมูลดึงมาจากโปรแกรม ในโปรแกรมมีหมดทุกอย่าง แต่เวลาดึง มีข้อจำกัด ดึงไฟล์แรก มี เลขที่ตำแหน่ง ชื่อสกุล วันเกิด วันบรรจุ อีกไฟล์หนึ่ง ดึงออกมาแล้วได้เลขที่ตำแหน่ง ชื่อสกุล ตำแหน่ง ระดับ เงินเดือน
ก็ต้องไปรวมไฟล์ 2 ไฟล์ :P แต่ว่าเคยสอบถามอาจารย์ไปแล้ว เดียวจะลองไปทำดูก่อนค่ะ
Last edited by darah on Wed Apr 25, 2012 7:03 am, edited 1 time in total.
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#7

Post by snasui »

:D กรณีใช้วันที่ 30 กันยายน 2555 แทน Today() เราสามารถเปลี่ยนแทนคำว่า Today() ในสูตรเดิมเป็น

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

การปรับวันที่ในเครื่องให้เป็น 30 กันยายน 2555 จะมีผลทำให้การคำนวณวันที่อย่างอื่นผิดพลาดหรือหากเราลงโปรแกรมใดที่มีการกำหนดให้ใช้ได้ช่วงระยะเวลาหนึ่ง อาจจะทำให้เราไม่สามารถใช้ได้อีกเพราะหมดเวลา
darah
Member
Member
Posts: 16
Joined: Fri Nov 18, 2011 8:41 pm

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

#8

Post by darah »

อาจารย์ค่ะ ช่องอายุราชการให้อยู่ในรูปแบบ 35/5 (ปี/เดือน) ได้ไหมค่ะ
User avatar
snasui
Site Admin
Site Admin
Posts: 30919
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

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

#9

Post 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 ลงด้านล่าง
darah
Member
Member
Posts: 16
Joined: Fri Nov 18, 2011 8:41 pm

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

#10

Post by darah »

ดูสูตรของอาจารย์ แล้วคิดว่าทำได้ ก็เลยจะลบคำถามทิ้ง กลายเป็นลบโพสต์ทิ้งเสียนี้ :shock:

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