snasui.com ยินดีต้อนรับ
ยินดีต้อนรับสู่กระดานถามตอบ Excel and VBA และอื่น ๆ ที่เป็นมิตรกับทุกท่าน มีไฟล์แนบมหาศาล ช่วยให้ท่านค้นหาและติดตามศึกษาได้โดยง่าย สมาชิกท่านใดที่ยังไม่ได้ระบุ Version ของ Excel ที่ใช้งานจริง สามารถทำตาม Link นี้เพื่อจะได้รับคำตอบที่ตรงกับ Version ของท่านครับ ระบุ Version ของ Excel
ฟอรัมถาม-ตอบปัญหาการใช้งาน MS Excel and VBA
Forum rules
ไม่อนุญาตให้ใช้ภาษาแชทในการถามและตอบปัญหา ไม่ใช้คำว่า "คับ" หรือ "อ่ะครับ" แทนคำว่า "ครับ" ไม่ใช้คำว่า "เด๋ว" แทนคำว่า "เดี๋ยว" เป็นต้น เนื่องจากเมื่อแปลเป็นภาษาต่างประเทศแล้วจะให้ความหมายผิดไปจากที่ควรจะเป็น
ห้ามถามโดยระบุชื่อผู้ตอบและต้องตั้งชื่อกระทู้ให้สื่อถึงปัญหาที่จะถาม ไม่ตั้งชื่อว่า ช่วยด้วยครับ, มีปัญหามาปรึกษาครับ เป็นต้น
กรุณาอธิบายปัญหาและระบุคำตอบที่ต้องการมาในกระทู้ด้วยเสมอถึงแม้จะอธิบายไว้ในไฟล์แนบแล้วก็ตาม ทั้งนี้เพื่ออำนวยความสะดวกแก่เพื่อนสมาชิกในการค้นหาข้อมูล
กรุณาแนบไฟล์ตัวอย่างพร้อมแสดงคำตอบที่ถูกต้องมาในไฟล์ด้วยเพื่อให้ง่ายต่อการทำความเข้าใจและสะดวกต่อการตอบคำถาม (ขนาดไฟล์ไม่เกิน 500Kb ขนาดภาพไม่เกิน 800*600 Pixel) ไม่แนบเป็น Link มาจากแหล่งอื่นที่อาจจะถูกลบทิ้งไปโดยต้นทางในภายหลัง นอกจากนี้ไม่ควรแนบไฟล์ที่มีข้อมูลสำคัญอันก่อให้เกิดความเสียหายกับตนเองและผู้อื่น
กรณีเป็นคำถามเกี่ยวกับ Programming เช่น VBA, VB.Net, C#, SQL ฯลฯ ต้องลองเขียนมาเองก่อนเสมอ ถามเฉพาะที่ติดปัญหา ระบุ Module, Procedure ที่ติดปัญหาให้ชัดเจน กรุณาโพสต์ Code ให้แสดงเป็น Code คือเปิดด้วย [code]
และปิดด้วย [/code]
ตัวอย่างเช่น [code]dim r as range[/code]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
ภภัสสร
Member
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#1
Post
by ภภัสสร » Tue Feb 06, 2018 11:18 am
ขอสอบถามวิธีการแปลงข้อมูลที่กำหนด (Format) ไว้เป็นวันเดือนปี มาเป็นแบบข้อความ (Text) ในไฟล์ Excel ค่ะ
เนื่องจากเจ้าหน้าที่ทำไฟล์ไว้เดิมกำหนดรูปแบบเป็นวันเดือนปีซึ่งเป็นการกำหนดที่ผิด แต่ต้องการนำมาใช้ในการสืบค้นเปรียบเทียบ ต้องการใช้เป็นรูปแบบข้อความ (Text) และไฟล์ข้อมูลมีจำนวนมากกว่าสองพันข้อมูล ไม่สะดวกที่จะพิมพ์ใหม่ จะต้องทำอย่างไรคะ
ขอบคุณมากค่ะ
แนบไฟล์ตัวอย่างมาพร้อมนี้แล้วค่ะ
You do not have the required permissions to view the files attached to this post.
eyepop99
Member
Posts: 127 Joined: Fri Sep 01, 2017 3:19 pm
Excel Ver: 365,2019,2010
#2
Post
by eyepop99 » Tue Feb 06, 2018 11:36 am
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.
puriwutpokin
Guru
Posts: 3708 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#3
Post
by puriwutpokin » Tue Feb 06, 2018 11:38 am
ภภัสสร wrote: ↑ Tue Feb 06, 2018 11:18 am
ขอสอบถามวิธีการแปลงข้อมูลที่กำหนด (Format) ไว้เป็นวันเดือนปี มาเป็นแบบข้อความ (Text) ในไฟล์ Excel ค่ะ
เนื่องจากเจ้าหน้าที่ทำไฟล์ไว้เดิมกำหนดรูปแบบเป็นวันเดือนปีซึ่งเป็นการกำหนดที่ผิด แต่ต้องการนำมาใช้ในการสืบค้นเปรียบเทียบ ต้องการใช้เป็นรูปแบบข้อความ (Text) และไฟล์ข้อมูลมีจำนวนมากกว่าสองพันข้อมูล ไม่สะดวกที่จะพิมพ์ใหม่ จะต้องทำอย่างไรคะ
ขอบคุณมากค่ะ
แนบไฟล์ตัวอย่างมาพร้อมนี้แล้วค่ะ
ข้อมูลคิดจากเซลใด แล้วคำตอบที่ต้องการคืออะไร ควรแจ้งมาด้วยครับ เพื่อนสมาชิกจะได้เข้าใจตรงกัน
ภภัสสร
Member
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#4
Post
by ภภัสสร » Tue Feb 06, 2018 11:44 am
ขอโทษค่ะที่บอกไม่ครบถ้วน
คือข้อมูลคิดจากเซลในคอลัมน์ C เช่น C2 ต้องการได้คำตอบในคอลัมน์ D เช่น D2 โดยต้องการคำตอบเป็นรูปแบบ เลขที่/ปี เช่น จาก 1/1/1939 เป็น 1/39 หรือจาก 1/3/1939 เป็น 3/39
คือต้องการเอาข้อมูลจากเดือนมาเป็นเลขที่สัญญาและจากสองตัวสุดท้ายของปีมาเป็นปีของสัญญา (เลขที่สัญญา/ปีที่ทำสัญญา)ค่ะ
parakorn
Gold
Posts: 1223 Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:
#5
Post
by parakorn » Tue Feb 06, 2018 11:50 am
D2 =IF(ISNUMBER(C2),MONTH(C2)&"/"&TEXT(C2,"yy"),C2) Enter+Copy ลงด้านล่างครับ
eyepop99
Member
Posts: 127 Joined: Fri Sep 01, 2017 3:19 pm
Excel Ver: 365,2019,2010
#6
Post
by eyepop99 » 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
puriwutpokin
Guru
Posts: 3708 Joined: Fri Jan 04, 2013 9:49 pm
Location: Bangkok
Excel Ver: MS.365
#7
Post
by puriwutpokin » Tue Feb 06, 2018 11:54 am
ที่ D2=IF(ISTEXT(C2),C2,TEXT(C2,"m/yy")) copy down
ภภัสสร
Member
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#8
Post
by ภภัสสร » Tue Feb 06, 2018 1:51 pm
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
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#9
Post
by ภภัสสร » Tue Feb 06, 2018 1:57 pm
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
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#10
Post
by ภภัสสร » Tue Feb 06, 2018 1:58 pm
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
ขอบคุณค่ะ เป็นประโยชน์มากค่ะ เอาไว้ใช้ในคราวอื่นค่ะ ขอโทษที่ถามไม่ชัดเจนค่ะ
parakorn
Gold
Posts: 1223 Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:
#11
Post
by parakorn » Tue Feb 06, 2018 2:27 pm
ลองยกประเด็นปัญหาที่พบทั้งหมดมาในไฟล์ตัวอย่าง พร้อมคำอธิบายพอสังเขป
ผู้ตอบจะได้เขียนสูตรให้ครอบคลุมปัญหาทั้งหมด
ลองแนบไฟล์มาใหม่ดูครับ
ภภัสสร
Member
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#12
Post
by ภภัสสร » Tue Feb 06, 2018 3:01 pm
ขออธิบายใหม่อีกครั้งนะคะ
คือไฟล์ที่ได้รับมาเป็นไฟล์ข้อมูลลูกหนี้ที่มีเลขสัญญาที่ผันแปรตามปีที่ทำสัญญา (รูปแบบที่ต้องการคือ เลขที่สัญญา/ปีที่ทำสัญญา เช่น 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.
parakorn
Gold
Posts: 1223 Joined: Thu Mar 14, 2013 9:41 am
Location: Central Chaengwattana[Tops]
Excel Ver: 365
Contact:
#13
Post
by parakorn » Tue Feb 06, 2018 3:54 pm
ปัญหาคือบางบรรทัดใช้ วันที่ บางบรรทัด ใช้ เดือน แนะนำให้ใช้สูตรตรวจสอบข้อมูล แล้ว Cut ออกมาใช้เป็นช่วงๆ
โดยเพิ่ม Column วัน และ Column เดือน
แล้วใช้สูตร =day(เซลล์) ในการดึงวันที่ออกมา และ สูตร =month(เซลล์) ในการดึงเดือนออกมา แล้วทำการแบ่งข้อมูลที่แก้ไขเป็นชุดๆ
ครับ ส่วนหากจะให้ช่วงเขียนสูตรให้คงไม่ได้คำตอบที่ถูกต้อง เพราะไม่มีเงื่อนไขในการเลือก วัน หรือ เดือน ระบุในแต่ละบรรทัด
ภภัสสร
Member
Posts: 15 Joined: Sun Aug 23, 2015 2:26 pm
#14
Post
by ภภัสสร » Tue Feb 06, 2018 4:33 pm
ขอบคุณค่ะ ทำตามที่คุณ puriwutpokin แนะนำและเปลี่ยนแปลงในบางบรรทัดตามที่เจอปัญหาแล้ว แก้ไขได้แล้วค่ะ ขอบคุณทุกท่านมากค่ะ