ไปยังเนื้อหาหลัก

วิธีแยกคำแรก / สุดท้าย / ที่ n จากสตริงข้อความใน Excel

คุณเคยประสบปัญหาที่ต้องแยกคำบางคำออกจากสตริงข้อความในแผ่นงานหรือไม่? ตัวอย่างเช่นคุณมีช่วงของสตริงข้อความต่อไปนี้ที่จำเป็นเพื่อให้ได้คำแรก / สุดท้ายหรือที่ n จากคำเหล่านี้ฉันสามารถพูดถึงวิธีที่มีประสิทธิภาพบางอย่างเพื่อให้คุณแก้ไข


แยกคำแรกหรือนามสกุลจากสตริงข้อความด้วยสูตร

หากคุณต้องการแยกคำแรกออกจากรายการสตริงข้อความสูตรต่อไปนี้สามารถช่วยคุณได้

หากต้องการแยกคำแรกโปรดป้อนสูตรด้านล่างลงในเซลล์ว่างจากนั้นลากที่จับการป้อนอัตโนมัติของเซลล์นี้ไปยังช่วงตามที่คุณต้องการ

= IF (ISERR (FIND ("", A2)), "", LEFT (A2, FIND ("", A2) -1))

หากต้องการแยกคำสุดท้ายจากแต่ละเซลล์โปรดใช้สูตรนี้:

= IF (ISERR (FIND ("", A2)), "", ขวา (A2, LEN (A2) - ค้นหา ("*", SUBSTITUTE (A2, "", "*", LEN (A2) -LEN ( SUBSTITUTE (A2, "", ")))))

ตอนนี้คุณจะเห็นคำแรกหรือคำสุดท้ายถูกดึงออกมาจากแต่ละเซลล์

หมายเหตุ: ในสูตรข้างต้น A2 ระบุเซลล์ที่คุณจะดึงคำแรกหรือคำสุดท้ายออกมา

ยากที่จะจำสูตรที่ซับซ้อนยาว ๆ ? เครื่องมือที่น่าทึ่งช่วยให้คุณแยกคำที่ n wด้วยการคลิกหลายครั้งเท่านั้น!

สูตรยาวข้างต้นสามารถแยกได้เฉพาะคำแรกและคำสุดท้าย แต่จะไม่มีประโยชน์ในการแยกคำที่ n ที่ระบุคำที่สองคำที่หกเป็นต้นถึงแม้คุณจะสามารถหาสูตรเพื่อแก้ปัญหาได้ แต่สูตรก็ต้อง ซับซ้อนเกินไปที่จะจดจำและนำไปใช้ ที่นี่ขอแนะนำให้แยกคำที่ n ในคุณสมบัติเซลล์ของ Kutools for Excel และจะช่วยให้คุณแยกคำที่ n ให้ง่ายที่สุด!


Kutools สำหรับ Excel - เพิ่มประสิทธิภาพ Excel ด้วยเครื่องมือที่จำเป็นมากกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ทดลองใช้ฟรี 30 วันโดยไม่ต้องใช้บัตรเครดิต! Get It Now

แยกคำที่ n จากสตริงข้อความด้วย User Defined Function

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

1. กด ALT + F11 คีย์เพื่อเปิด หน้าต่าง Microsoft Visual Basic for Applications.

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ โมดูล หน้าต่าง

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. จากนั้นบันทึกรหัสในตัวอย่างนี้ฉันจะได้รับคำที่สามจากสตริงดังนั้นให้พิมพ์สูตรนี้ = คำค้นหา (A2,3) ลงในเซลล์ว่าง B2 จากนั้นลากจุดจับเติมอัตโนมัติของเซลล์นี้ไปยังช่วงตามที่คุณต้องการ ดูภาพหน้าจอ:

หมายเหตุ ในสูตรข้างต้น A2 คือเซลล์ที่คุณต้องการแยกคำจากตัวเลข 3 ระบุคำที่สามในสตริงที่คุณจะแยกและคุณสามารถเปลี่ยนได้ตามต้องการ


แยกแต่ละคำออกจากสตริงข้อความและแสดงรายการในแนวนอนหรือแนวตั้ง

วิธีนี้จะแนะนำ Kutools for Excel's แยกเซลล์ ยูทิลิตี้ในการแยกแต่ละคำออกจากเซลล์สตริงข้อความจากนั้นแสดงรายการคำที่แยกออกมาในแนวนอนหรือแนวตั้งตามความต้องการของคุณ

Kutools สำหรับ Excel - เต็มไปด้วยเครื่องมือที่จำเป็นสำหรับ Excel มากกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ทดลองใช้ฟรี 30 วันโดยไม่ต้องใช้บัตรเครดิต! ดาวน์โหลดเดี๋ยวนี้!

1. เลือกเซลล์สตริงข้อความที่คุณจะแยกคำของพวกเขาแล้วคลิก Kutools > ผสานและแยก > แยกเซลล์.

2. ในกล่องโต้ตอบการแยกเซลล์เปิดให้ระบุประเภทการแบ่งในไฟล์ ชนิดภาพเขียน ตรวจสอบ ช่องว่าง ตัวเลือกใน ระบุตัวคั่น ส่วนและคลิกปุ่ม Ok ปุ่ม. ดูภาพหน้าจอ:

3. ตอนนี้ระบุช่วงปลายทางที่คุณจะส่งออกคำที่แยกออกมาแล้วคลิกไฟล์ OK ปุ่ม

หากคุณตรวจสอบไฟล์ แยกเป็นคอลัมน์ ตัวเลือกในกล่องโต้ตอบ Split Cells ด้านบนทุกคำจะถูกแยกออกจากสตริงข้อความทั้งหมดและแสดงรายการในแนวตั้ง

หากคุณตรวจสอบไฟล์ แบ่งเป็นแถว ตัวเลือกในกล่องโต้ตอบ Split Cells ด้านบนทุกคำจะถูกดึงออกมาจากสตริงข้อความทั้งหมดและแสดงรายการในแนวนอน


แยกคำที่ n จากสตริงข้อความใน Excel ด้วยเครื่องมือที่น่าทึ่ง

หากคุณติดตั้ง Kutools สำหรับ Excel คุณสามารถใช้ตัวช่วยสูตร> แยกคำที่ n ในคุณสมบัติเซลล์เพื่อแยกคำที่ n ออกจากเซลล์ที่ระบุอย่างรวดเร็ว

Kutools สำหรับ Excel - เต็มไปด้วยเครื่องมือที่จำเป็นสำหรับ Excel มากกว่า 300 รายการ เพลิดเพลินกับฟีเจอร์ทดลองใช้ฟรี 30 วันโดยไม่ต้องใช้บัตรเครดิต! ดาวน์โหลดเดี๋ยวนี้!

1. เลือกเซลล์ที่คุณจะใส่คำที่แยกแล้วคลิก Kutools > ตัวช่วยสูตร > ตัวช่วยสูตร เพื่อเปิดใช้งานคุณสมบัตินี้

2. ในกล่องโต้ตอบ Formulas Helper โปรดทำดังนี้:
(1) เลือก ข้อความ จาก ประเภทสูตร รายการแบบหล่นลง
(2) คลิกเพื่อไฮไลต์ แยกคำที่ n ในเซลล์ ใน เลือกสูตร กล่องรายการ;
(3) ใน เซลล์ กล่องระบุเซลล์ที่คุณจะแยกคำออกมา
(4) ใน Nth ระบุหมายเลข

3. คลิก Ok ปุ่ม. หากจำเป็นโปรดลากที่จับการป้อนอัตโนมัติของเซลล์สูตรและคัดลอกสูตรไปยังเซลล์อื่น


สาธิต: แยกแต่ละคำออกจากสตริงข้อความและแสดงรายการในแนวนอนหรือแนวตั้ง


Kutools สำหรับ Excel: เครื่องมือแสนสะดวกกว่า 300 รายการอยู่แค่เพียงปลายนิ้วสัมผัส! เริ่มทดลองใช้ฟรี 30 วันโดยไม่มีข้อจำกัดด้านฟีเจอร์ตั้งแต่วันนี้ Download Now!

บทความที่เกี่ยวข้อง:

สุดยอดเครื่องมือเพิ่มผลผลิตในสำนักงาน

คุณสมบัติยอดนิยม: ค้นหา เน้น หรือระบุรายการที่ซ้ำกัน   |  ลบแถวว่าง   |  รวมคอลัมน์หรือเซลล์โดยไม่สูญเสียข้อมูล   |   รอบโดยไม่มีสูตร ...
การค้นหาขั้นสูง: VLookup หลายเกณฑ์    VLookup หลายค่า  |   VLookup ข้ามหลายแผ่น   |   การค้นหาที่ไม่ชัดเจน ....
รายการแบบเลื่อนลงขั้นสูง: สร้างรายการแบบหล่นลงอย่างรวดเร็ว   |  รายการแบบหล่นลงขึ้นอยู่กับ   |  เลือกหลายรายการแบบหล่นลง ....
ผู้จัดการคอลัมน์: เพิ่มจำนวนคอลัมน์เฉพาะ  |  ย้ายคอลัมน์  |  สลับสถานะการมองเห็นของคอลัมน์ที่ซ่อนอยู่  |  เปรียบเทียบช่วงและคอลัมน์ ...
คุณสมบัติเด่น: กริดโฟกัส   |  มุมมองการออกแบบ   |   บาร์สูตรใหญ่    สมุดงานและตัวจัดการชีต   |  ห้องสมุดทรัพยากร (ข้อความอัตโนมัติ)   |  เลือกวันที่   |  รวมแผ่นงาน   |  เข้ารหัส/ถอดรหัสเซลล์    ส่งอีเมลตามรายการ   |  ซุปเปอร์ฟิลเตอร์   |   ตัวกรองพิเศษ (กรองตัวหนา/ตัวเอียง/ขีดทับ...) ...
ชุดเครื่องมือ 15 อันดับแรก12 ข้อความ เครื่องมือ (เพิ่มข้อความ, ลบอักขระ, ... )   |   50 + แผนภูมิ ประเภท (แผนภูมิ Gantt, ... )   |   40+ ใช้งานได้จริง สูตร (คำนวณอายุตามวันเกิด, ... )   |   19 การแทรก เครื่องมือ (ใส่ QR Code, แทรกรูปภาพจากเส้นทาง, ... )   |   12 การแปลง เครื่องมือ (ตัวเลขเป็นคำ, การแปลงสกุลเงิน, ... )   |   7 ผสานและแยก เครื่องมือ (แถวรวมขั้นสูง, แยกเซลล์, ... )   |   ... และอื่น ๆ

เพิ่มพูนทักษะ Excel ของคุณด้วย Kutools สำหรับ Excel และสัมผัสประสิทธิภาพอย่างที่ไม่เคยมีมาก่อน Kutools สำหรับ Excel เสนอคุณสมบัติขั้นสูงมากกว่า 300 รายการเพื่อเพิ่มประสิทธิภาพและประหยัดเวลา  คลิกที่นี่เพื่อรับคุณสมบัติที่คุณต้องการมากที่สุด...

kte แท็บ 201905


แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มประสิทธิภาพการทำงานของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
Comments (38)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I've created the FindWord custom function as described and it worked perfectly but it stopped working the next day. I looked in the VBA window and the Module is still there. Any idea why the function is not working anymore?
This comment was minimized by the moderator on the site
Dark Chocolate 25gm box 12 pcs

Dark Chocolate 20gm*24 box

White Chocolate 15gm

White Chocolate 25gm*24

Biscuits W/Marshmallow300gm

Chocolate 40gm

Can some plz help to extract the numbers before "gm", for example : 25,20,15,25,300,40
This comment was minimized by the moderator on the site
Hi I would like to know how to use the VBA model but I have sentences of only one word, and i would like to pick the first word even if there is only one word.

Thank you
This comment was minimized by the moderator on the site
Hi Maura,
The VBA cannot extract the first word if there is only word in the cell. However, it’s recommended to apply the Text to Column to extract the first word of every cell in a column quickly.
1. Select the column, copy, and paste in a blank column.
2. Keep the new column selected, click Data > Text to Column.
3. In the Text column dialog, select Delimited, and then check Space as delimiters, and finally click Finish.
4. Now all words are separated by space. For the extracted words, you can remove all columns except the first one.
This comment was minimized by the moderator on the site
i want to remove the last word in cell and data is like this "/Document/CstmrCdtTrfInitn/PmtInf/CdtTrfTxInf/Cdtr/CtctDtls/FaxNb" can i have formula
This comment was minimized by the moderator on the site
Thanks so much for these! I have a question, though: how do I extract a number or group of numbers from a cell or textbox? For instance, if I have [37.5" x 21'] in cell A1, how could extract 37.5 into A2? There could be any number of characters and numbers in A1, but I'll always want the first number to the left of the "X", and the first number to the right. Not sure if you've covered something like this elsewhere, so I thought I'd ask here. (Not sure if this went through the first time, so here it is again.)
This comment was minimized by the moderator on the site
Thank you! It works fine called in a Sub.
This comment was minimized by the moderator on the site
the original formula isn't working for me, I keep getting #NAME?, anyone able to help? I am using Excel 2013 and this VBA would save me sooooo much time
This comment was minimized by the moderator on the site
The original VBA code posted here would save me so much time, however whenever I type in the =findword formula, I then get #NAME?, anyone able to help me? I am using Excel 2013
This comment was minimized by the moderator on the site
Hi, I am having cell with values like SAN_UN_TC1,SAN_UN_TC2,PEP_HR_TC1 I would like to extract first words liek SAN /PEP into one cell and words liek UN/HR to another cell How could i do it, Any help is appreciated. Thanks, Shiva
This comment was minimized by the moderator on the site
If number of characters in string (SAN_UN_TC1) is fixed (3_2_3), it's simple: column 1: =LEFT(B15,3) column 2: =MID(B15,5,2) column 3: =RIGHT(B15,3)
This comment was minimized by the moderator on the site
Many thanks for sharing VBA code....saved me a lot of time
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations