Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ซอฟต์แวร์ >> Office

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

บ่อยครั้งที่เราต้องแปลงข้อความเป็นคอลัมน์ใน Excel ในงานประจำวันของเรา จริงๆ แล้ว Microsoft Excel เป็นเครื่องมือที่ยอดเยี่ยมสำหรับการดำเนินการนี้ และแน่นอนว่าคุณสามารถหาบทความที่เพียงพอเกี่ยวกับหัวข้อนี้ได้ แต่จุดเด่นของบทความนี้คือที่นี่เราจะแสดงวิธีแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อนใน Excel ด้วยวิธีต่างๆ นั่นหมายถึง คอลัมน์ต้นทางยังคงสมบูรณ์แทนที่จะถูกทับซ้อน ดังนั้น ไปดูเพื่อทำงานนี้ด้วยตนเองอย่างมีประสิทธิภาพ

คุณอาจดาวน์โหลดสมุดงาน Excel ต่อไปนี้เพื่อความเข้าใจที่ดีขึ้นและฝึกฝนด้วยตนเอง

5 วิธีในการแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อนใน Excel

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

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

ตอนนี้ เราจะแปลงข้อความเหล่านี้ใน คอลัมน์ B เป็นคอลัมน์ต่างๆ โดยไม่ทับซ้อนในหลายวิธี ที่นี่ การทับซ้อนหมายถึง ข้อความหลักยังคงสมบูรณ์ขณะทำภารกิจ ดังนั้น มาสำรวจกันทีละอย่าง
ที่นี่ เราใช้เวอร์ชัน Microsoft Excel 365 คุณอาจใช้เวอร์ชันอื่นๆ ตามสะดวกของคุณ

1. การใช้ฟังก์ชัน LEN, MID, REPT, SUBSTITUTE และ TRIM

สำหรับผู้ที่ชอบเล่นกับสูตร วิธีนี้เป็นสำหรับพวกเขา ในวิธีนี้ เราจะรวมฟังก์ชันบางอย่างเพื่อให้สูตรของเราทำงาน มาเริ่มกันเลย

📌 ขั้นตอน:

  • ในตอนแรก สร้าง 2 คอลัมน์ที่แตกต่างกันพร้อมหัวเรื่อง Name และ Age ภายใต้คอลัมน์ C และ D
  • ในเซลล์ C5 และ D5 ให้เขียน 1 และ 2 ตามลำดับ นี่คือหมายเลขของคอลัมน์ใหม่เหล่านี้ คุณจะเข้าใจฟังก์ชันของเซลล์ 2 ตัวนี้ในขั้นตอนถัดไป

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

  • จากนั้น เลือกเซลล์ C6 และใส่สูตรต่อไปนี้
=TRIM(MID(SUBSTITUTE($B6,",",REPT(" ",LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)))

ที่นี่ เซลล์ B6 และ C5 หมายถึง Name, Age แรกและตัวเลข 1

การแยกวิเคราะห์สูตร:
  • LEN($B6) → ฟังก์ชัน LEN ส่งคืนจำนวนตัวอักษรในสตริงข้อความ ที่นี่ เซลล์ B6 เป็นอาร์กิวเมนต์ text ที่ให้ค่า 11
    • เอาต์พุต → 11
  • REPT(" ",LEN($B6)) → กลายเป็น
    • REPT(" ",11) → ฟังก์ชัน REPT ทำซ้ำข้อความจำนวนครั้งที่กำหนด ที่นี่ " " เป็นอาร์กิวเมนต์ text ที่หมายถึง ช่องว่าง ในขณะที่ 11 เป็นอาร์กิวเมนต์ number_times ที่สั่งให้ฟังก์ชันแทรก 11 ช่องว่างซ้ำๆ
    • เอาต์พุต → " "
  • SUBSTITUTE($B6,",",REPT(" ",LEN($B6))) → ฟังก์ชัน SUBSTITUTE แทนที่ข้อความที่มีอยู่ด้วยข้อความใหม่ในสตริงข้อความ ที่นี่ B6 หมายถึงอาร์กิวเมนต์ text ในขณะที่ถัดไป "," แทนอาร์กิวเมนต์ old_text และ REPT(" ",LEN($B6)) ชี้ไปที่อาร์กิวเมนต์ new_text ซึ่งแทนที่คอมม่าด้วยช่องว่าง
    • เอาต์พุต → John 18 yr
  • MID(SUBSTITUTE($B6,",",REPT(" ",LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)) → ฟังก์ชัน MID ส่งคืนตัวอักษรจากกลางของสตริงข้อความ ตำแหน่งเริ่มต้นและความยาวที่กำหนด ที่นี่ เซลล์ SUBSTITUTE($B6,",",REPT(" ",LEN($B6))) เป็นอาร์กิวเมนต์ text (C$5-1)*LEN($B6)+1 เป็นอาร์กิวเมนต์ start_num และ LEN($B6) เป็นอาร์กิวเมนต์ num_chars โดยที่ฟังก์ชันส่งคืนตัวอักษรแรกจากด้านซ้าย
    • เอาต์พุต → John
  • TRIM(MID(SUBSTITUTE($B6,",",REPT(" ",LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6))) → กลายเป็น
    • TRIM(John ) → ฟังก์ชัน TRIM ลบช่องว่างทั้งหมดยกเว้นช่องว่างเดี่ยวจากข้อความ ที่นี่ เซลล์ John เป็นอาร์กิวเมนต์ text และฟังก์ชันกำจัดช่องว่างเกินหลังข้อความ
    • เอาต์พุต → John
  • หลังจากนั้น กด ENTER

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

  • ขั้นที่สอง ลากเครื่องมือ Fill Handle เพื่อคัดลอกสูตรข้ามแถว

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

ดังนั้น เราสามารถเห็นส่วนขวาของข้อความ ซึ่งคืออายุในเซลล์ D6

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

  • ในขณะนี้ เลือกสองเซลล์ C6 และ D6 ร่วมกัน วางเคอร์เซอร์ที่มุมขวาล่างของเซลล์ D6 คุณสามารถเห็นเครื่องมือ Fill Handle อีกครั้ง
  • จากนั้น คลิกสองครั้งที่มันเพื่อใช้สูตรกับเซลล์ด้านล่าง

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

นี่คือผลลัพธ์ที่ปรากฏอยู่หน้าตาเรา

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

อ่านเพิ่มเติม: วิธีแยกข้อความเป็นคอลัมน์อัตโนมัติด้วยสูตรใน Excel

2. การใช้ฟังก์ชัน LEFT, LEN, RIGHT และ SEARCH

คุณกังวลเกี่ยวกับการเขียนนิพจน์ที่ซับซ้อนและการรวมฟังก์ชัน? วิธีที่สองของเราคือคำตอบสำหรับการอธิษฐานของคุณ! ในวิธีนี้ เราจะใช้สูตรเช่นกัน แตคราวนี้จะเข้าใจง่ายกว่า ดังนั้น มาดูวิธีการทำกันโดยไม่ล่าช้า

📌 ขั้นตอน:

  • ขั้นแรก ไปที่เซลล์ C5 และแทรกสูตรต่อไปนี้
=LEFT(B5,SEARCH(", ",B5,1)-1)

ที่นี่ B5 ทำหน้าที่เป็น Name, Age แรก

การแยกวิเคราะห์สูตร:
  • SEARCH(",",B5) → ฟังก์ชัน SEARCH ส่งคืนตำแหน่งเริ่มต้นของสตริงข้อความหนึ่งภายในสตริงข้อความอีกอัน ที่นี่ "," เป็นอาร์กิวเมนต์ find_text ในขณะที่ B5 เป็นอาร์กิวเมนต์ within_text โดยเฉพาะ ฟังก์ชัน SEARCH ส่งคืนตำแหน่งของตัวอักษร คอมม่า(,) ในสตริงข้อความ
    • เอาต์พุต → 5
  • LEFT(B5,SEARCH(";",B5)-1) → กลายเป็น
    • LEFT(B5,5) → ฟังก์ชัน LEFT ส่งคืนจำนวนตัวอักษรที่ระบุจากจุดเริ่มต้นของสตริง ที่นี่ เซลล์ B5 เป็นอาร์กิวเมนต์ text ในขณะที่ 5 เป็นอาร์กิวเมนต์ num_chars โดยที่ฟังก์ชันส่งคืน 5 ตัวอักษรจากด้านซ้าย
    • เอาต์พุต → John
  • ขั้นที่สอง กดปุ่ม ENTER

แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

ตอนนี้ เราจะใช้สูตรที่คล้ายกันอีกสูตรหนึ่งเพื่อหาผลลัพธ์ในเซลล์ D5 ใน สูตรก่อนหน้า เราใช้ ฟังก์ชัน LEFT เพื่อรับส่วนแรกของสตริงข้อความ ที่นี่ เราจะดึงส่วนที่สองของสตริง

  • ในปัจจุบัน ไปที่เซลล์ D5 และแทรกสูตรต่อไปนี้
=RIGHT(B5,LEN(B5)-SEARCH(",",B5)) การแยกวิเคราะห์สูตร:
  • LEN(B5)-SEARCH(",",B5) → ฟังก์ชัน LEN ส่งคืนความยาวของสตริงในเซลล์ B5 ในทางกลับกัน ฟังก์ชัน SEARCH ส่งคืนตำแหน่งของตัวอักษรคอมม่า (,)
    • เอาต์พุต → 11 – 5 → 6
  • RIGHT(B5,LEN(B5)-SEARCH(",",B5)) → กลายเป็น
    • RIGHT(B5,6) → ฟังก์ชัน RIGHT ส่งคืนจำนวนตัวอักษรที่ระบุจากจุดสิ้นสุดของสตริง ที่นี่ เซลล์ B5 เป็นอาร์กิวเมนต์ text ในขณะที่ 6 เป็นอาร์กิวเมนต์ num_chars โดยที่ฟังก์ชันส่งคืน 6 ตัวอักษรจากด้านขวา
  • เอาต์พุต → 18 yr
  • ตามมา กด ENTER
  • แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    3. การใช้ฟีเจอร์ Text to Columns

    ในวิธีนี้ เราจะทำภารกิจด้วยฟีเจอร์ Text to Columns ของ Excel เครื่องมือที่ใช้งานสะดวกสำหรับการแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อน ดังนั้น มาสังเกตและเรียนรู้เกี่ยวกับขั้นตอนในขั้นตอนที่แสดงด้านล่าง

    📌 ขั้นตอน:

    • ในตอนแรก ให้เลือกเซลล์ในช่วง B5:B14
    • จากนั้น ไปที่แท็บ Data
    • หลังจากนั้น คลิกที่ไอคอนแบบเลื่อนลง Data Tools
    • จากรายการแบบเลื่อนลง เลือกฟีเจอร์ Text to Columns

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ทันที มันจะเปิดกล่องโต้ตอบ Convert Text to Columns

    • ในขั้นตอนที่ 1 ให้เลือก Delimited ภายใต้ส่วน Choose the file type that best describes your data
    • จากนั้น คลิกที่ปุ่ม Next

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    • ในขั้นตอนที่ 2 ให้เลือก Comma ในส่วน Delimiter
    • หลังจากนั้น คลิก Next

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    • ในขั้นตอนที่สามและขั้นสุดท้าย ให้ตั้งค่าเซลล์ Destination เป็น C5
    • สุดท้าย คลิกที่ปุ่ม Finish

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    หลังจากทำตามขั้นตอนเสร็จ Excel จะแสดง MsgBox พร้อมคำเตือน อย่ากังวล

    • แค่คลิก OK ที่นี่

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ลือเลิศมาก การแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อนเสร็จสมบูรณ์ใน Excel แล้ว

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    อ่านเพิ่มเติม: วิธีใช้ฟีเจอร์ Text to Columns กับ Carriage Return ใน Excel

    4. การใช้งานฟีเจอร์ Flash Fill

    หากการใช้สูตรที่ซับซ้อนไม่เหมาะกับคุณ วิธีถัดไปของเราอาจเป็นคำตอบที่คุณมองหา ที่นี่ เราจะใช้ฟีเจอร์ Flash Fill ของ Excel เพื่อแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อน

    📌 ขั้นตอน:

    • เริ่มต้น เขียน John ในเซลล์ C5 นี่คือผลลัพธ์ที่ต้องการในเซลล์นี้ แต่ครั้งแรก เราต้องทำด้วยตนเอง
    • จากนั้น ไปที่แท็บ Home
    • หลังจากนั้น คลิกที่ไอคอนแบบเลื่อนลง Fill ในกลุ่ม Editing
    • ตามมา เลือกฟีเจอร์ Flash Fill

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    อย่างมหัศจรรย์ Excel จะเติมอัตโนมัติเซลล์ที่เหลือ

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    เช่นเดียวกัน ทำอย่างเดียวกันสำหรับคอลัมน์ Age ภายใต้ คอลัมน์ D

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    อ่านเพิ่มเติม: วิธีใช้ Line Break เป็น Delimiter ใน Excel Text to Columns

    5. การใช้โค้ด VBA

    แม้การใช้สูตรจะเป็นวิธีเร็วในการแก้ไขข้อมูล แต่อาจยากต่อการตีความ นอกจากนี้ หากคุณมักต้องทำอย่างอัตโนมัติ บạnอาจพิจารณาโค้ด VBA ด้านล่าง

    📌 ขั้นตอน:

    • หลักmente ไปที่แท็บ Developer
    • Secondarily เลือก Visual Basic ในกลุ่ม Code
    • ทางเลือก ใช้ปุ่มลัดแป้นพิมพ์ ALT + F11 เพื่อทำซ้ำงาน

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ทันที หน้าต่าง Microsoft Visual Basic for Applications ปรากฏ

    • ที่นี่ คลิกสองครั้งที่ Sheet6(VBA) ในส่วน Project Explorer

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ทันที โมดูลโค้ดจะเปิดทางด้านขวา

    • ในกรณีนี้ ให้คัดลอกโค้ดต่อไปนี้และวางลงในโมดูล
    Sub Text_to_Columns_without_Overwriting() Dim Arr() As String, cnt As Long, j As Variant For k = 5 To 14 Arr = Split(Cells(k, 2), ",") cnt = 3 For Each j In Arr Cells(k, cnt) = j cnt = cnt + 1 Next j Next k End Sub

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    การแยกวิเคราะห์โค้ด:

    ที่นี่ เราจะอธิบายโค้ด VBA ที่ใช้แปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อน ในกรณีนี้ โค้ดถูกแบ่งเป็น 2 ขั้นตอน

    • ในส่วนแรก โปรแกรมย่อยได้รับชื่อ ว่า Text_to_Columns_without_Overwriting()
    • ต่อไป กำหนดตัวแปร Arr, cnt, และ j เป็น String, Long, และ Variant
    • ในส่วนที่สอง ใช้ For Loop ผ่านแต่ละเซลล์และแยกข้อความที่คั่นด้วยคอมม่า
    • ตอนนี้ ในโค้ด คำสั่ง For k = 5 To 14 แทนหมายเลขแถวเริ่มต้นและสิ้นสุดของข้อมูล ที่นี่คือ 5 ถึง 14
    • จากนั้น "," ใน Arr = Split(Cells(k, 2), ",") เป็นตัวคั่น ซึ่งคุณสามารถเปลี่ยนเป็นเซมิโคลอน ไพ้ หรืออื่นๆ ได้หากต้องการ
    • สุดท้าย cnt = 3 บ่งชี้หมายเลขคอลัมน์ที่สาม (คอลัมน์ C)
    • ตอนนี้ คลิกที่ปุ่มสีเขียวบน ribbon จริงๆ มันคือปุ่ม Run นอกจากนี้ คุณสามารถกด F5 บนแป้นพิมพ์เพื่อทำอย่างเดียวกัน

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ในที่สุด ผลลัพธ์ควรปรากฏในภาพหน้าจอที่ให้ไว้ด้านล่าง

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    ส่วนฝึกปฏิบัติ

    สำหรับการฝึกปฏิบัติด้วยตนเอง เราได้เตรียมส่วน Practice เหมือนด้านล่างในแต่ละแผ่นทางด้านขวา โปรดทำด้วยตนเอง

    แยกข้อความเป็นคอลัมน์ใน Excel อย่างปลอดภัยโดยไม่ทับซ้อนข้อมูลต้นฉบับ

    สรุป

    บทความนี้อธิบายวิธีแปลงข้อความเป็นคอลัมน์โดยไม่ทับซ้อนใน Excel อย่างง่ายและกระชับ อย่าลืมดาวน์โหลดไฟล์ Practice ขอบคุณที่อ่านบทความนี้ เราหวังว่าจะเป็นประโยชน์ โปรดแจ้งให้เราทราบในส่วนความคิดเห็นหากคุณมีคำถามหรือข้อเสนอแนะ โปรดเยี่ยมชมเว็บไซต์ของเรา Exceldemy ผู้ให้บริการโซลูชัน Excel ครบวงจร เพื่อสำรวจเพิ่มเติม

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

    • วิธีใช้ Text to Columns ใน Excel สำหรับวันที่ (พร้อมขั้นตอนง่ายๆ)
    • [แก้ไขแล้ว!] Excel Text to Columns กำลังลบข้อมูล
    • วิธีแปลง Text to Columns ด้วยตัวคั่นหลายตัวใน Excel