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]
เพื่อให้แตกต่างจากข้อความทั่วไป สะดวกในการอ่านและทดสอบ (คลิกเพื่อดูตัวอย่าง)
กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
dangsc
Member
Posts: 3 Joined: Fri Jun 07, 2013 2:05 pm
#1
Post
by dangsc » Wed Jan 23, 2019 3:08 pm
ฝากคำถามเรื่องการลบช่องว่างหน้าและหลังอักษรหรือตัวเลขในcell
ไฟล์ต้นทางดึงมาจากระบบบัญชี เมื่อเปิดใน excel จะเป็นส่วนสีเหลือง
ผมต้องการดึงข้อมูลจาก cell โดยเอาช่องว่างหน้าและหลังตัวอักษรหรือตัวเลขออกไป
ลองใช้ คำส่ั่ง Substitute แล้ว ไม่ได้
คำสั่ง Len () เนื่องจากจำนวนอักษรจริง(ไม่รวมที่ว่าง) ของแต่ละ คอลัมน์ไม่เท่ากัน จึงไม่ทราบว่าจะกำหนดเงื่อนไข ตามที่คำสั่งต้องการอย่างไร
Trim ไม่ได้ ทั้งซ้ายและขวาของตัวอักษร
ถามคนรู้จักบอกว่าเนื่องจาก รูปแบบ (Format) ลองเข้าไปดู แต่ไม่ทราบว่าต้องทำอย่างไร?
ขอบคุณครับ
You do not have the required permissions to view the files attached to this post.
notta_nobi
Member
Posts: 93 Joined: Mon May 13, 2013 4:04 pm
Excel Ver: 2016
#2
Post
by notta_nobi » Wed Jan 23, 2019 4:05 pm
ผมลองเปลี่ยน Font เป็น winding เลยรู้ว่าจริงๆเป็นตัวอักษรไม่ใช่ช่องว่างครับ
ลองใช้ replace ดูครับ
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#3
Post
by snasui » Wed Jan 23, 2019 4:08 pm
ตัวอย่างสูตรที่ E2 ครับ
=SUBSTITUTE(A2,RIGHT(A2),"")
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#4
Post
by Supachok » Wed Jan 23, 2019 4:12 pm
notta_nobi wrote: Wed Jan 23, 2019 4:05 pm
ผมลองเปลี่ยน Font เป็น winding เลยรู้ว่าจริงๆเป็นตัวอักษรไม่ใช่ช่องว่างครับ
ลองใช้ replace ดูครับ
ชี้ทางสว่าง
C2
=LEFT(SUBSTITUTE(REPT(A2,1),CHAR(160),""),LEN(A2))
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#5
Post
by Supachok » Wed Jan 23, 2019 4:17 pm
snasui wrote: Wed Jan 23, 2019 4:08 pm
ตัวอย่างสูตรที่ E2 ครับ
=SUBSTITUTE(A2,RIGHT(A2),"")
อาจารย์ครับสูตรดูง่าย และยากที่เข้าใจว่า excel แปลงค่ายังไง.
โดยเฉพาะ RIGHT(A2)
snasui
Site Admin
Posts: 30917 Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:
#6
Post
by snasui » Wed Jan 23, 2019 4:25 pm
Supachok wrote: Wed Jan 23, 2019 4:17 pm
snasui wrote: Wed Jan 23, 2019 4:08 pm
ตัวอย่างสูตรที่ E2 ครับ
=SUBSTITUTE(A2,RIGHT(A2),"")
อาจารย์ครับสูตรดูง่าย และยากที่เข้าใจว่า
excel แปลงค่ายังไง.
โดยเฉพาะ RIGHT(A2)
ฟังก์ชั่น Left, Right หากเราไม่ใส่ Argument ที่ 2 มันจะตัดมาแค่ 1 อักขระ ถ้าเป็น Left ก็จะตัดอักขระด้านซ้ายสุด ถ้าเป็น Right ก็จะตัดอักขระด้านขวาสุดครับ
เนื่องจากโจทย์นี้มีปัญหาคืออักขระที่
ต่อท้าย ข้อความเดิมมีมากเกินความจำเป็นจึงต้องลบทิ้ง เมื่อปัญหาคืออักษรที่ต่อท้ายจึงใช้ Right ตัดมา 1 อักขระเพื่อเปลี่ยนอักขระนั้นในข้อความเดิมให้เป็นค่าว่างครับ
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#7
Post
by Supachok » Wed Jan 23, 2019 4:28 pm
เข้าใจเลยครับ เหมือนทำงานกับสิ่งที่มองไม่เห็นรูปลักษณ์
dangsc
Member
Posts: 3 Joined: Fri Jun 07, 2013 2:05 pm
#8
Post
by dangsc » Thu Jan 24, 2019 11:08 am
reply # 2
=SUBSTITUTE(A2,RIGHT(A2),"") ใช้ได้ครับ
reply # 4
C2 = LEFT(SUBSTITUTE(REPT(A2,1),CHAR(160),""),LEN(A2))
ใช้ได้ครับ
ผลลัพธ์ออกมาได้เหมือนกัน ตัวช่องว่างหน้าและหลังได้หมดครับ ที่เหลือก็แปลงค่าเป็นตัวเลขครับ
มีคำถามเพิ่มว่าคำสั่ง =SUBSTITUTE(A2," ","") ทำไมใช้ไม่ได้ครับ???
ขอบคุณครับ
Supachok
Gold
Posts: 1014 Joined: Wed Jun 18, 2014 11:11 am
Excel Ver: 2013
#9
Post
by Supachok » Thu Jan 24, 2019 11:22 am
มีคำถามเพิ่มว่าคำสั่ง =SUBSTITUTE(A2," ","") ทำไมใช้ไม่ได้ครับ???
บางส่วนข้างบนมีคำอธิบายไปแล้วนะครับ / คือค่าว่างที่เห็นเป็นอักษรที่ไม่แสดง font ตามปกติ แต่เป็นสัญลักษณ์อื่นๆ
หากต้องการเห็นอักษรให้เปลี่ยน font เป็น winding,2,3
dangsc
Member
Posts: 3 Joined: Fri Jun 07, 2013 2:05 pm
#10
Post
by dangsc » Fri Mar 01, 2019 1:06 am
ครับ ได้อ่านดูอีกรอบ และที่ได้ช่วยตอบมา คือที่คำสั่งใช้ไม่ได้ เพราะไม่ใช่ช่องว่าง ครับ
ขอบคุณครับ คุณSupachok