: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. กรุณาแจ้งผลการใช้งานเมื่อได้รับคำตอบว่าตรงกับความต้องการหรือไม่
noppatee
Member
Member
Posts: 37
Joined: Sat Nov 06, 2010 11:43 am

แยกตัวเลขออกจากข้อความอย่างไรครับ

#1

Post by noppatee »

ขอรบกวนอาจารย์อีกครั้งครับ ผมต้องการแยกตัวเลขลำดับที่ปนอยู่ในข้อความให้แสดงผลออกเป็นสองคอลัมน์ต้องทำอย่างไร จึงจะสะดวกที่สุดครับ
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#2

Post by snasui »

:D ลองตามด้านล่างครับ

1. ที่ B3 คีย์สูตรเพื่อตัดตัวเลขออกมา

=IF(ISNUMBER(LEFT(A3,1)+0),LEFT(SUBSTITUTE(A3,".",REPT(" ",10)),10)+0,"")

Enter > Copy ลงด้านล่าง

2. ที่ C3 คีย์สูตรเพื่อตัดค่าอักษรออกมา

=SUBSTITUTE(A3,B3&".","")

Enter > Copy ลงด้านล่าง
noppatee
Member
Member
Posts: 37
Joined: Sat Nov 06, 2010 11:43 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#3

Post by noppatee »

เยี่ยมเลยครับ ขอบคุณอาจารย์มากๆ ครับ :D
noppatee
Member
Member
Posts: 37
Joined: Sat Nov 06, 2010 11:43 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#4

Post by noppatee »

อาจารย์ครับ มีปัญหาขอเรียนถามเพิ่มเติมเล็กน้อยครับ

บางแถวมีรูปแบบตามภาพประกอบด้านล่าง จะปรับสูตรอย่างไรที่ทำให้ตัวเลขลำดับที่ทั้งหมดมาอยู่ในคอลัมน์ B ครับ

Image
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#5

Post by snasui »

:shock: ลองตามนี้ครับ

ปรับสูตรที่ B3 ใหม่เป็น

=IF(ISNUMBER(LEFT(A3,1)+0),LEFT(A3,FIND("@",SUBSTITUTE(A3,".","@",LEN(LEFT(A3,10))-LEN(SUBSTITUTE(LEFT(A3,10),".",""))))),"")

Enter > Copy ลงด้านล่าง ส่วนที่ C3 ใช้สูตรเดิมครับ
noppatee
Member
Member
Posts: 37
Joined: Sat Nov 06, 2010 11:43 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#6

Post by noppatee »

อาจารย์ครับ ผลลัพธ์ของคอลัมน์ C เปลี่ยนไปครับ
ขอรบกวนอาจารย์อีกครั้งครับ

Image
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#7

Post by snasui »

:o
snasui wrote: ส่วนที่ C3 ใช้สูตรเดิมครับ
ผมบอกผิดไปครับ ลืมสังเกตว่าสูตรเดิมมีส่วนที่เกินความต้องการเข้ามาด้วย

เปลี่ยน C3 จาก

=SUBSTITUTE(A3,B3&".","")

เป็น

=SUBSTITUTE(A3,B3,"")

Enter > Copy ลงด้านล่าง
noppatee
Member
Member
Posts: 37
Joined: Sat Nov 06, 2010 11:43 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#8

Post by noppatee »

ทำได้แล้วครับ ขอบคุณอาจารย์มากๆ ครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#9

Post by ซำเหมา »

เรียนถามอาจารย์ครับ ถ้าผมอยากลบตัวเลขออกจาก ชื่อตามตัวอย่าง นี้ แต่มันมีหลาย เซลนะครับเช่น
12365436313654163131313 อโนทัย จำมัย
45131346131331313131 สงกรานต์ จ่าจับ
161613131313113131 อาธร อาจิณ
ต้องการเอาตัวเลขออกให้เหลือเป็น
อโนทัย จำมัย
สงกรานต์ จ่าจับ
อาธร อาจิณ

คือเอาตัวเลขออก จากตัวอักษร ซึ่งอยู่ในคอลัมน์เดียวกันนะครับ ถ้าอยู่คนละคอลัมน์ก็ลบได้เลย แต่นี่อยู่ในคอลัมน์เดียวกัน
แล้วมันมีเป็นร้อยๆเซลล์ หรือบรรทัด ใช้สูตรยังไงครับ ทุกวันนี้นั่งลบเอา ลำบากมาก รบกวนด้วยครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#10

Post by ซำเหมา »

ตัวอย่างไฟล์ ทดลองทำดูแต่ถ้าเจอชื่อสั้น ต้องทำอย่างไรครับ ถึงจะไม่ผิดพลาด
You do not have the required permissions to view the files attached to this post.
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#11

Post by snasui »

:D ลองตามนี้ครับ

ที่เซลล์ B1 คีย์สูตร

=TRIM(MID(A1,FIND(" ",A1),255))

Enter > Copy ลงด้านล่าง

หมายถึงว่าให้หาว่าช่องว่างใน A1 อยู่ลำดับที่เท่าไร ให้เริ่มตัดข้อความใน A1 จากตำแหน่งนั้นมา 255 อักขระ (หรือแล้วแต่กำหนดเพื่อให้ครอบคลุมจำนวนอักขระที่ยาวที่สุดที่อาจจะมีได้) และปรับค่าว่างที่เกินความจำเป็นออกไปด้วยฟังก์ชั่น Trim
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#12

Post by ซำเหมา »

snasui wrote::D ลองตามนี้ครับ

ที่เซลล์ B1 คีย์สูตร

=TRIM(MID(A1,FIND(" ",A1),255))

Enter > Copy ลงด้านล่าง

หมายถึงว่าให้หาว่าช่องว่างใน A1 อยู่ลำดับที่เท่าไร ให้เริ่มตัดข้อความใน A1 จากตำแหน่งนั้นมา 255 อักขระ (หรือแล้วแต่กำหนดเพื่อให้ครอบคลุมจำนวนอักขระที่ยาวที่สุดที่อาจจะมีได้) และปรับค่าว่างที่เกินความจำเป็นออกไปด้วยฟังก์ชั่น Trim
ขอบคุณมากครับอาจารย์ ที่อธิบายด้วย ผมจะไปศึกษาเพิ่มว่าสูตรทำงานอย่างไรครับ ดีกว่าที่คิดเองมากเลย มันทำงานได้จริงๆด้วยครับ มหัศจรรย์มากเลยครับ คิดได้ไงทึ่งครับ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

แยกคำนำหน้าชื่อ ทำไม่ได้ครับ

#13

Post by ซำเหมา »

http://www.snasui.com/viewtopic.php?f=10&t=3688
เรียน อาจารย์ ช่วยอธิบายหน่อยครับ
เกี่ยวกับกระทู้นี้ ผมทำไม่ได้ครับ
ตัวอย่างแนบมาด้วยครับ
สงสัย ว่า เกียวกับ Ctrl+Shift+Enter ตรงเซลล์ C3 หรือเปล่า ผมใช้ กอร์ปแล้ววางธรรมดาครับ
You do not have the required permissions to view the files attached to this post.
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#14

Post by bank9597 »

:D ตอบตามที่คิดได้ก่อนน่ะครับ

1. เรียงลำดับพยางค์ของชื่อนำหน้า จากมากไปน้อย โดยที่ G2 คีย์ =LEN(F2) คัดลอกลงมา
2. copy ค่าที่ได้มา แล้ววางที่เดิมโดยการวางค่า (Paste Value)
3. ทำการ Sort ข้อมูลจากมากไปน้อย

4 ที่ C3 คีย์ =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,$F$2,""),$F$3,""),$F$4,""),$F$5,""),$F$6,""),$F$7,""),$F$8,""),$F$9,""),$F$10,""),$F$11,""),$F$12,"") คัดลอกลงมา

5 ที่ D3 คีย์ =SUBSTITUTE(C3,LEFT(C3,FIND(" ",C3)),"") คัดลอกลงมา
6 ที่ B3 คีย์ =SUBSTITUTE(A3,C3,"") คัดลอกลงมา
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#15

Post by ซำเหมา »

bank9597 wrote::D ตอบตามที่คิดได้ก่อนน่ะครับ

1. เรียงลำดับพยางค์ของชื่อนำหน้า จากมากไปน้อย โดยที่ G2 คีย์ =LEN(F2) คัดลอกลงมา
2. copy ค่าที่ได้มา แล้ววางที่เดิมโดยการวางค่า (Paste Value)
3. ทำการ Sort ข้อมูลจากมากไปน้อย

4 ที่ C3 คีย์ =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,$F$2,""),$F$3,""),$F$4,""),$F$5,""),$F$6,""),$F$7,""),$F$8,""),$F$9,""),$F$10,""),$F$11,""),$F$12,"") คัดลอกลงมา

5 ที่ D3 คีย์ =SUBSTITUTE(C3,LEFT(C3,FIND(" ",C3)),"") คัดลอกลงมา
6 ที่ B3 คีย์ =SUBSTITUTE(A3,C3,"") คัดลอกลงมา
ขอบคุณครับ
ลองโหลดไปดูแล้ว แต่ยังไม่เข้าใจการใช้งานครับ ช่อง f กับ g มีไว้ทำไมครับ
หากเราจะนำไปใช้งาน จะกอร์ปสูตรไปใช้ ที่ตารางอื่นต้องทำไงบ้างครับ
สมมติ เรามี ตาราง A อย่างเดียว
เราต้องคีย์ ตารางไหนก่อนหลังครับ งงมาก
User avatar
bank9597
Guru
Guru
Posts: 3868
Joined: Wed Aug 17, 2011 11:49 am

Re: แยกตัวเลขออกจากข้อความอย่างไรครับ

#16

Post by bank9597 »

:D หากไม่ใช้ตาราง เราก็เข้าไปปรับในสูตร ตารางมีไว้ list ชื่อนำหน้าว่ามีกี่คำเท่านั้นเองครับ

หากไม่ต้องการใช้ตาราง เราสามารถปรับสูตรดังนี้

ที่ B2 คีย์ =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A3,"เด็กหญิง",""),"เด็กชาย",""),"นางสาว",""),"ร.ต.อ.",""),"พล.อ.",""),"น.ส.",""),"ด.ช.",""),"ด.ญ.",""),"นาง",""),"นาย",""),"ดร.","")
คัดลอกลงมา

มีเทคนิคอยู่ว่า ชื่อนำหน้าที่มีพยางค์มากที่สุดต้องอยู่หน้าเสมอ แล้วค่อยๆเรียงจนถึงพยางค์น้อยที่สุด ลองดูในสูตรครับ

ส่วนสูตรอื่นๆก็ใช้เหมือนเดิมครับ
You do not have the required permissions to view the files attached to this post.
Forum Rules
  1. อย่าใช้ภาษาแชทในการตอบ-ถาม
  2. ตั้งชื่อกระทู้ให้สื่อถึงปัญหาและไม่เจาะจงตัวผู้ตอบ
  3. ให้อธิบายปัญหาและระบุคำตอบที่ต้องการมาในฟอรัม
  4. ควรแนบไฟล์ตัวอย่างมาที่ฟอรั่ม
  5. หากใช้ VBA ให้ลองเขียนมาเองก่อนเสมอ
  6. แจ้งผลการใช้งานทุกครั้งเมื่อได้รับคำตอบ
User avatar
snasui
Site Admin
Site Admin
Posts: 30917
Joined: Sun Jan 24, 2010 12:33 pm
Location: Songkhla, Thailand
Excel Ver: 2010, 365
Contact:

Re: แยกคำนำหน้าชื่อ ทำไม่ได้ครับ

#17

Post by snasui »

ซำเหมา wrote:http://www.snasui.com/viewtopic.php?f=10&t=3688
เรียน อาจารย์ ช่วยอธิบายหน่อยครับ
เกี่ยวกับกระทู้นี้ ผมทำไม่ได้ครับ
ตัวอย่างแนบมาด้วยครับ
สงสัย ว่า เกียวกับ Ctrl+Shift+Enter ตรงเซลล์ C3 หรือเปล่า ผมใช้ กอร์ปแล้ววางธรรมดาครับ
Copy มาธรรมดาไม่ได้ครับ จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ตามที่สงสัยนั้นถูกต้องแล้วครับ

ตามไฟล์ที่แนบมา
  1. คลิกที่เซลล์ C3
  2. กดแป้น F2 เพื่อทำการ Edit เซลล์
  3. กดแป้น Ctrl+Shift ค้างไว้แล้วตามด้วย Enter
  4. Copy C3 ลงด้านล่าง
ซำเหมา
Member
Member
Posts: 97
Joined: Fri Jun 08, 2012 9:28 am

Re: แยกคำนำหน้าชื่อ ทำไม่ได้ครับ

#18

Post by ซำเหมา »

snasui wrote:
ซำเหมา wrote:http://www.snasui.com/viewtopic.php?f=10&t=3688
เรียน อาจารย์ ช่วยอธิบายหน่อยครับ
เกี่ยวกับกระทู้นี้ ผมทำไม่ได้ครับ
ตัวอย่างแนบมาด้วยครับ
สงสัย ว่า เกียวกับ Ctrl+Shift+Enter ตรงเซลล์ C3 หรือเปล่า ผมใช้ กอร์ปแล้ววางธรรมดาครับ
Copy มาธรรมดาไม่ได้ครับ จะต้องกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter ตามที่สงสัยนั้นถูกต้องแล้วครับ

ตามไฟล์ที่แนบมา
  1. คลิกที่เซลล์ C3
  2. กดแป้น F2 เพื่อทำการ Edit เซลล์
  3. กดแป้น Ctrl+Shift ค้างไว้แล้วตามด้วย Enter
  4. Copy C3 ลงด้านล่าง
ขอบคุณมากครับทำได้แล้วครับ
จริงๆอาจารย์เขียนขั้นตอนไว้ดีมากแล้วครับ
แต่ผมเอง งงตรงที่ว่า ในเซลล์ C3 ทำไมเราใช้ COPY แล้ว วางไม่ได้
ต้อง วางแล้ว กด Ctrl+Shift ค้างไว้แล้วตามด้วย Enter
จึงจะใช้งานได้ ผมเองไม่สามารถเข้าใจคำสั่งทั้งหมดได้ครับ แต่ก็ลอกไปใช้งานได้ มีประโยชน์มากครับ ขอบคุณจริงๆ ช่วยเหลือได้ทุกครั้งเลยครับ
Post Reply