: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

แปลงวันเดือนปีเป็นข้อความ

#1

Post by ภภัสสร »

ขอสอบถามวิธีการแปลงข้อมูลที่กำหนด (Format) ไว้เป็นวันเดือนปี มาเป็นแบบข้อความ (Text) ในไฟล์ Excel ค่ะ
เนื่องจากเจ้าหน้าที่ทำไฟล์ไว้เดิมกำหนดรูปแบบเป็นวันเดือนปีซึ่งเป็นการกำหนดที่ผิด แต่ต้องการนำมาใช้ในการสืบค้นเปรียบเทียบ ต้องการใช้เป็นรูปแบบข้อความ (Text) และไฟล์ข้อมูลมีจำนวนมากกว่าสองพันข้อมูล ไม่สะดวกที่จะพิมพ์ใหม่ จะต้องทำอย่างไรคะ
ขอบคุณมากค่ะ
แนบไฟล์ตัวอย่างมาพร้อมนี้แล้วค่ะ
You do not have the required permissions to view the files attached to this post.
eyepop99
Member
Member
Posts: 127
Joined: Fri Sep 01, 2017 3:19 pm
Excel Ver: 365,2019,2010

Re: แปลงวันเดือนปีเป็นข้อความ

#2

Post by eyepop99 »

Cell D2
= IF(ISNUMBER(C2),TEXT(C2,"D-MMM-YY"),CONCATENATE("1-",TEXT(SUBSTITUTE(C2,"/","-"),"MMM-YY")))
Last edited by eyepop99 on Tue Feb 06, 2018 11:39 am, edited 1 time in total.
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: แปลงวันเดือนปีเป็นข้อความ

#3

Post by puriwutpokin »

ภภัสสร wrote: Tue Feb 06, 2018 11:18 am ขอสอบถามวิธีการแปลงข้อมูลที่กำหนด (Format) ไว้เป็นวันเดือนปี มาเป็นแบบข้อความ (Text) ในไฟล์ Excel ค่ะ
เนื่องจากเจ้าหน้าที่ทำไฟล์ไว้เดิมกำหนดรูปแบบเป็นวันเดือนปีซึ่งเป็นการกำหนดที่ผิด แต่ต้องการนำมาใช้ในการสืบค้นเปรียบเทียบ ต้องการใช้เป็นรูปแบบข้อความ (Text) และไฟล์ข้อมูลมีจำนวนมากกว่าสองพันข้อมูล ไม่สะดวกที่จะพิมพ์ใหม่ จะต้องทำอย่างไรคะ
ขอบคุณมากค่ะ
แนบไฟล์ตัวอย่างมาพร้อมนี้แล้วค่ะ
ข้อมูลคิดจากเซลใด แล้วคำตอบที่ต้องการคืออะไร ควรแจ้งมาด้วยครับ เพื่อนสมาชิกจะได้เข้าใจตรงกัน
:shock: :roll: :D
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#4

Post by ภภัสสร »

ขอโทษค่ะที่บอกไม่ครบถ้วน
คือข้อมูลคิดจากเซลในคอลัมน์ C เช่น C2 ต้องการได้คำตอบในคอลัมน์ D เช่น D2 โดยต้องการคำตอบเป็นรูปแบบ เลขที่/ปี เช่น จาก 1/1/1939 เป็น 1/39 หรือจาก 1/3/1939 เป็น 3/39
คือต้องการเอาข้อมูลจากเดือนมาเป็นเลขที่สัญญาและจากสองตัวสุดท้ายของปีมาเป็นปีของสัญญา (เลขที่สัญญา/ปีที่ทำสัญญา)ค่ะ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: แปลงวันเดือนปีเป็นข้อความ

#5

Post by parakorn »

D2 =IF(ISNUMBER(C2),MONTH(C2)&"/"&TEXT(C2,"yy"),C2) Enter+Copy ลงด้านล่างครับ
eyepop99
Member
Member
Posts: 127
Joined: Fri Sep 01, 2017 3:19 pm
Excel Ver: 365,2019,2010

Re: แปลงวันเดือนปีเป็นข้อความ

#6

Post by eyepop99 »

ภภัสสร wrote: Tue Feb 06, 2018 11:44 am ขอโทษค่ะที่บอกไม่ครบถ้วน
คือข้อมูลคิดจากเซลในคอลัมน์ C เช่น C2 ต้องการได้คำตอบในคอลัมน์ D เช่น D2 โดยต้องการคำตอบเป็นรูปแบบ เลขที่/ปี เช่น จาก 1/1/1939 เป็น 1/39 หรือจาก 1/3/1939 เป็น 3/39
คือต้องการเอาข้อมูลจากเดือนมาเป็นเลขที่สัญญาและจากสองตัวสุดท้ายของปีมาเป็นปีของสัญญา (เลขที่สัญญา/ปีที่ทำสัญญา)ค่ะ
ทำคำตอบไปให้ผิดเนื่องจาก เข้าใจคำถามผิด นะครับ จากคำตอบที่ 2
User avatar
puriwutpokin
Guru
Guru
Posts: 3708
Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365

Re: แปลงวันเดือนปีเป็นข้อความ

#7

Post by puriwutpokin »

ที่ D2=IF(ISTEXT(C2),C2,TEXT(C2,"m/yy")) copy down
:shock: :roll: :D
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#8

Post by ภภัสสร »

parakorn wrote: Tue Feb 06, 2018 11:50 am D2 =IF(ISNUMBER(C2),MONTH(C2)&"/"&TEXT(C2,"yy"),C2) Enter+Copy ลงด้านล่างครับ
ขอบคุณค่ะ ต้องอธิบายตรงไหนเพิ่มหรือไม่คะ เพื่อให้คนอื่นหาได้น่ะค่ะ
และพบปัญหาใหม่คือ บางเซลล์เจ้าหน้าที่เอาเลขที่สัญญาไปไว้ที่วันที่แทนที่จะเป็นเดือนด้วยค่ะ
จะต้องปรับสูตรอย่างไรคะ ลองใช้อ Date แทน month แล้วไม่ได้ หรือลองใช้ day ก็ไม่ได้
ขอบคุณค่ะ
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#9

Post by ภภัสสร »

puriwutpokin wrote: Tue Feb 06, 2018 11:54 am ที่ D2=IF(ISTEXT(C2),C2,TEXT(C2,"m/yy")) copy down
ขอบคุณค่ะ ทำได้แล้วค่ะ และแก้ปัญหาที่พบใหม่ที่ว่าเจ้าหน้าที่เอาเลขที่สัญญาไปบันทึกเป็นวันที่ได้แล้วด้วยค่ะ (เดิมปัญหาแรกคือเอาเลขที่สัญญาไปบันทึกเป็นเดือน) โดยการแก้จาก D2=IF(ISTEXT(C2),C2,TEXT(C2,"m/yy")) เป็น D2=IF(ISTEXT(C2),C2,TEXT(C2,"d/yy")) แต่ต้องค่อยๆ ทำทีรายการ เฉพาะรายการที่เป็นปัญหาใหม่
ขอบคุณมากค่ะ
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#10

Post by ภภัสสร »

eyepop99 wrote: Tue Feb 06, 2018 11:51 am
ภภัสสร wrote: Tue Feb 06, 2018 11:44 am ขอโทษค่ะที่บอกไม่ครบถ้วน
คือข้อมูลคิดจากเซลในคอลัมน์ C เช่น C2 ต้องการได้คำตอบในคอลัมน์ D เช่น D2 โดยต้องการคำตอบเป็นรูปแบบ เลขที่/ปี เช่น จาก 1/1/1939 เป็น 1/39 หรือจาก 1/3/1939 เป็น 3/39
คือต้องการเอาข้อมูลจากเดือนมาเป็นเลขที่สัญญาและจากสองตัวสุดท้ายของปีมาเป็นปีของสัญญา (เลขที่สัญญา/ปีที่ทำสัญญา)ค่ะ
ทำคำตอบไปให้ผิดเนื่องจาก เข้าใจคำถามผิด นะครับ จากคำตอบที่ 2
ขอบคุณค่ะ เป็นประโยชน์มากค่ะ เอาไว้ใช้ในคราวอื่นค่ะ ขอโทษที่ถามไม่ชัดเจนค่ะ
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: แปลงวันเดือนปีเป็นข้อความ

#11

Post by parakorn »

ลองยกประเด็นปัญหาที่พบทั้งหมดมาในไฟล์ตัวอย่าง พร้อมคำอธิบายพอสังเขป
ผู้ตอบจะได้เขียนสูตรให้ครอบคลุมปัญหาทั้งหมด
ลองแนบไฟล์มาใหม่ดูครับ
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#12

Post by ภภัสสร »

ขออธิบายใหม่อีกครั้งนะคะ
คือไฟล์ที่ได้รับมาเป็นไฟล์ข้อมูลลูกหนี้ที่มีเลขสัญญาที่ผันแปรตามปีที่ทำสัญญา (รูปแบบที่ต้องการคือ เลขที่สัญญา/ปีที่ทำสัญญา เช่น 1/39 คือสัญญาที่ทำลำดับที่ 1 ในปี 2539)
แต่เจ้าหน้าที่บันทึกมาผิดรูปแบบ โดยไปกำหนดเป็นรูปแบบวันเดือนปี แต่ให้แสดงผลเป็นลักษณะคล้ายรูปแบบที่ต้องการ โดยพบว่ามีการบันทึกแตกต่างกันใน 2 รูปแบบ คือ
1. นำเลขที่สัญญาไปกำหนดไว้ในส่วนของเดือน (เป็นเลขที่เดือน) และปีที่ทำสัญญาใช้เลขสองตัวสุดท้าย (เป็น ค.ศ.แทนที่จะเป็น พ.ศ.) เช่น สัญญาที่ 3/2539 ไปบันทึกเป็น 1/3/1939 แสดงผลทางหน้าจอเป็น 3/39 เป็นต้น
2. นำเลขที่สัญญาไปกำหนดไว้ในส่วนของวันที่ (ต่างจาก 1.) (เป็นวันที่) และปีที่ทำสัญญาใช้เลขสองตัวสุดท้าย (เป็น ค.ศ.แทนที่จะเป็น พ.ศ.) เช่น สัญญาที่ 7/2548 ไปบันทึกเป็น 7/6/2548 แสดงผลทางหน้าจอเป็น 7/48

จึงต้องการใส่สูตรที่ปรับตัวเลขในข้อ 1 - 2 ดังกล่าวข้างต้นให้เป็นรูปแบบข้อความ (Text) โดยมีรูปแบบเป็น เลขที่สัญญา/ปีที่ทำสัญญา เช่น 3/39 หรือ 7/48 ค่ะ (ปรับในคอลัมน์ C ไปไว้ในคอลัมน์ D ค่ะ)

(รายละเอียดเขียนไว้ในไฟล์ที่แนบมาแล้วนะคะ) ขอบคุณค่ะ
You do not have the required permissions to view the files attached to this post.
User avatar
parakorn
Gold
Gold
Posts: 1223
Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:

Re: แปลงวันเดือนปีเป็นข้อความ

#13

Post by parakorn »

ปัญหาคือบางบรรทัดใช้ วันที่ บางบรรทัด ใช้ เดือน แนะนำให้ใช้สูตรตรวจสอบข้อมูล แล้ว Cut ออกมาใช้เป็นช่วงๆ
โดยเพิ่ม Column วัน และ Column เดือน
แล้วใช้สูตร =day(เซลล์) ในการดึงวันที่ออกมา และ สูตร =month(เซลล์) ในการดึงเดือนออกมา แล้วทำการแบ่งข้อมูลที่แก้ไขเป็นชุดๆ
ครับ ส่วนหากจะให้ช่วงเขียนสูตรให้คงไม่ได้คำตอบที่ถูกต้อง เพราะไม่มีเงื่อนไขในการเลือก วัน หรือ เดือน ระบุในแต่ละบรรทัด
ภภัสสร
Member
Member
Posts: 15
Joined: Sun Aug 23, 2015 2:26 pm

Re: แปลงวันเดือนปีเป็นข้อความ

#14

Post by ภภัสสร »

ขอบคุณค่ะ ทำตามที่คุณ puriwutpokin แนะนำและเปลี่ยนแปลงในบางบรรทัดตามที่เจอปัญหาแล้ว แก้ไขได้แล้วค่ะ ขอบคุณทุกท่านมากค่ะ
Post Reply