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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
katai12
Member
Posts: 83 Joined: Sun May 15, 2016 6:22 pm
#1
Post
by katai12 » Fri Jul 21, 2017 11:50 am
ต้องการเปลี่ยน ข้อความ เช่น 29062017 ให้เป็น 29/06/2017 ค่ะ ลองใช้ Text to columns แล้ว เพื่อแยกวันเดือนปี ออกจากกัน แต่ติดปัญหาที่บางวันเป็นเลขหลักเดียวค่ะ
วันที่ที่คีย์ ต้องการเปลี่ยน
3072017 30/7/2017
1072017 1/7/2017
ขอบคุณค่ะ
notta_nobi
Member
Posts: 93 Joined: Mon May 13, 2013 4:04 pm
Excel Ver: 2016
#2
Post
by notta_nobi » Fri Jul 21, 2017 2:30 pm
ลองดูนะครับ
สมมุติว่าข้อมูลเก่าอยู่ที่ A1
ที่ B1 พิมพ์ =(LEFT(A1,2)&"/"&MID(A1,3,2)&"/"&RIGHT(A1,2))*1
katai12
Member
Posts: 83 Joined: Sun May 15, 2016 6:22 pm
#3
Post
by katai12 » Fri Jul 21, 2017 2:44 pm
ขอบคุณนะคะ แต่ไม่ได้ค่ะ ขึ้นเป็น #VALUE! ค่ะ
notta_nobi
Member
Posts: 93 Joined: Mon May 13, 2013 4:04 pm
Excel Ver: 2016
#4
Post
by notta_nobi » Fri Jul 21, 2017 3:05 pm
ขอโทษด้วยครับ
ลองอันนี้ครับ
=(LEFT(A1,2)&"/"&MID(A1,3,1)&"/"&RIGHT(A1,2))*1
katai12
Member
Posts: 83 Joined: Sun May 15, 2016 6:22 pm
#5
Post
by katai12 » Fri Jul 21, 2017 3:16 pm
ติดที่ถ้าคีย์วันที่ 1 เป็น 1 ไม่ได้ คีย์ 01
คือ วันที่ 1 เดือน 7 ปี 2017 (1072017)
ผลลัพธ์ที่ได้จะออกมาเป็น 10/07/2017 ซึ่งต้องการให้ออกมาเป็น 01/07/2017 ค่ะ
รบกวนหน่อยนะคะ
ขอบคุณค่ะ
DhitiBank
Gold
Posts: 1676 Joined: Mon Oct 15, 2012 12:07 am
#6
Post
by DhitiBank » Fri Jul 21, 2017 4:52 pm
หรือลองแบบนี้ครับ
=--TEXT(A1,"00\/00\/0000")
แล้วจัดรูปแบบเซลล์ให้เป็นวันที่ครับ
menem
Silver
Posts: 549 Joined: Mon Jan 26, 2015 11:02 am
#7
Post
by menem » Sat Jul 22, 2017 9:04 am
ประเด็นสำคัญคือ เนื่องจากมีการป้อนข้อมูลผสมกันระหว่าง 1 หลัก กับ 2 หลัก
ดังนั้น หากจะให้อ้างอิงว่าป้อนแบบไหน จะเป็นเรื่องยากครับ
เช่น 1072017 สามารถตีความเป็น 1/07/2017 (ป้อนเดือน 2 หลัก) หรือ
10/7/2017 (ป้อนเท่าที่จำเป็น คือ วันที่ 10 และเดือน 7)
ในกรณีที่ข้อมูลมีเป็นจำนวนมาก เราจะสามารถตัดสินได้อย่างไรว่าข้อมูลที่ป้อนเข้ามา
ผู้ป้อนตั้งใจเป็นแบบไหนครับ ?
katai12
Member
Posts: 83 Joined: Sun May 15, 2016 6:22 pm
#8
Post
by katai12 » Sat Jul 22, 2017 1:19 pm
ถ้าข้อมูลมี 7 ตัว จะเป็น วันที่หลักเดียวค่ะ คือ วันที่ 1-9
ถ้าข้อมูลมี 8 ตัว จะเป็นวันที่ 2 หลัก ตั้งแต่ 10 ขึ้นไปค่ะ
ทำได้แล้วค่ะ ใช้สูตร =--TEXT(A1,"00\/00\/0000") ของ คุณ DhitiBank ขอบคุณนะคะ
และขอบคุณทุก ๆ ท่านที่เข้ามาช่วยตอบนะคะ ขอบคุณค่ะ