บ่อยครั้ง เราจำเป็นต้องแปลงข้อความเป็นคอลัมน์ใน Excel ในงานประจำวันของเรา อันที่จริง Microsoft Excel เป็นเครื่องมือที่ยอดเยี่ยมในการทำงานนี้ และแน่นอน คุณสามารถหาบทความเกี่ยวกับหัวข้อนี้ได้เพียงพอ แต่ความพิเศษของบทความนี้คือเราจะแสดงวิธีการแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับใน Excel ด้วยวิธีต่างๆ นั่นหมายความว่าคอลัมน์ต้นทางยังคงไม่ถูกแตะต้องแทนที่จะเขียนทับ ดังนั้นจงลงมือทำด้วยตัวเองอย่างมีประสิทธิภาพ
คุณสามารถดาวน์โหลดเวิร์กบุ๊ก Excel ต่อไปนี้เพื่อทำความเข้าใจและฝึกฝนตนเองให้ดียิ่งขึ้น
5 วิธีในการแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับใน Excel
เพื่อให้เข้าใจง่าย เราจะใช้รายชื่อและอายุของนักเรียน ของสถาบันแห่งหนึ่ง ชุดข้อมูลนี้ประกอบด้วย ชื่อ อายุ ใน คอลัมน์ B .
ตอนนี้ เราจะแปลงข้อความเหล่านี้เป็น คอลัมน์ B ไปยังคอลัมน์ต่างๆ โดยไม่ต้องเขียนทับในหลายๆ วิธี ในที่นี้ การเขียนทับหมายความว่าข้อความหลักจะไม่เสียหายขณะทำงาน ลองสำรวจพวกเขาทีละคน
ที่นี่เราใช้ Microsoft Excel 365 คุณสามารถใช้เวอร์ชันอื่นได้ตามสะดวก
1. การใช้ฟังก์ชัน LEN, MID, REPT, SUBSTITUTE และ TRIM
สำหรับผู้ที่ชอบเล่นสูตร วิธีนี้เหมาะสำหรับพวกเขา ในวิธีนี้ เราจะรวมฟังก์ชันบางอย่างเพื่อทำให้สูตรของเราทำงานได้ มาเลย มาดูกันเลย
📌 ขั้นตอน:
- ในตอนเริ่มต้น ให้สร้าง 2 คอลัมน์ต่างๆ ที่มีส่วนหัว ชื่อ และ อายุ ใต้คอลัมน์ C และ D .
- ในเซลล์ C5 และ D5 , จด 1 และ 2 ตามลำดับ นี่คือจำนวนคอลัมน์ใหม่เหล่านี้ คุณจะเข้าใจการทำงานของ 2 เซลล์นี้ในขั้นตอนต่อไป
- จากนั้น เลือกเซลล์ C6 และป้อนสูตรต่อไปนี้
=TRIM(MID(SUBSTITUTE($B6,",",REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6)))
ที่นี่ B6 และ C5 เซลล์หมายถึง ชื่อ อายุ . ตัวแรก และเลข 1 .
รายละเอียดสูตร:- LEN($B6) → การ ฟังก์ชัน LEN ส่งกลับจำนวนอักขระในสตริงข้อความ ที่นี่ B6 เซลล์คือ ข้อความ อาร์กิวเมนต์ที่ให้ค่า 11
- เอาต์พุต → 11
- REPT(” “,LEN($B6)) → กลายเป็น
- REPT(” “,11) → ฟังก์ชัน REPT ทำซ้ำข้อความตามจำนวนที่กำหนด ที่นี่ “ “ คือ ข้อความ อาร์กิวเมนต์ที่อ้างถึง ว่างเปล่า พื้นที่ในขณะที่ 11 คือ number_times อาร์กิวเมนต์ที่สั่งให้ฟังก์ชันแทรก 11 ช่องว่างซ้ำๆ
- ผลลัพธ์ → “ ”
- SUBSTITUTE($B6,“ ”,REPT(“ ”,LEN($B6))) → ฟังก์ชัน SUBSTITUTE แทนที่ข้อความที่มีอยู่ด้วยข้อความใหม่ในสตริงข้อความ ที่นี่ B6 หมายถึง ข้อความ อาร์กิวเมนต์ในขณะที่ถัดไป “,” แสดงถึง old_text อาร์กิวเมนต์ และ REPT(“ ”,LEN($B6)) ชี้ไปที่ new_text อาร์กิวเมนต์ซึ่งแทนที่เครื่องหมายจุลภาคด้วยช่องว่าง
- ผลลัพธ์ → จอห์น 18 ปี
- MID(SUBSTITUTE($B6,”,”,REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($B6) ) → ฟังก์ชัน MID ส่งคืนอักขระจากตรงกลางของสตริงข้อความ โดยกำหนดตำแหน่งเริ่มต้นและความยาว ที่นี่ SUBSTITUTE($B6,”,”,REPT(” “,LEN($B6))) เซลล์คือ ข้อความ อาร์กิวเมนต์ (C$5-1)*LEN($B6)+1 คือ start_num อาร์กิวเมนต์ และ LEN($B6) คือ num_chars อาร์กิวเมนต์เพื่อให้ฟังก์ชันส่งคืนอักขระตัวแรกจากด้านซ้าย
- ผลลัพธ์ → จอห์น
- TRIM(MID(SUBSTITUTE($B6,”,”REPT(“”,LEN($B6))),(C$5-1)*LEN($B6)+1,LEN($ B6))) → กลายเป็น
- TRIM(จอห์น ) → ฟังก์ชัน TRIM ลบทั้งหมดยกเว้นช่องว่างเดียวออกจากข้อความ ที่นี่ John เซลล์คือ ข้อความ อาร์กิวเมนต์ และฟังก์ชันจะกำจัดช่องว่างส่วนเกินหลังข้อความ
- ผลลัพธ์ → จอห์น
- หลังจากนั้น กด ENTER .
- ประการที่สอง ลาก เติมแฮนเดิล เครื่องมือคัดลอกสูตรข้ามแถว
ดังนั้น เราจะเห็นส่วนขวาของข้อความ ซึ่งก็คืออายุในเซลล์ D6 .
- ในขณะนี้ ให้เลือกสองเซลล์ C6 และ D6 ด้วยกัน. วางเคอร์เซอร์ที่มุมล่างขวาของเซลล์ D6 . คุณสามารถดู เติมแฮนเดิล เครื่องมืออีกครั้ง
- จากนั้นดับเบิลคลิกเพื่อใช้สูตรกับเซลล์ด้านล่าง
นี่คือผลลัพธ์ที่ปรากฏต่อหน้าเรา
อ่านเพิ่มเติม: วิธีแยกข้อความเป็นคอลัมน์โดยอัตโนมัติด้วยสูตรใน Excel
2. การแทรกฟังก์ชัน LEFT, LEN, RIGHT และ SEARCH
คุณกังวลเกี่ยวกับการเขียนนิพจน์ที่ซับซ้อนและการรวมฟังก์ชันหรือไม่? วิธีที่สองของเราคือคำตอบสำหรับคำอธิษฐานของคุณ! ในวิธีนี้ เราจะใช้สูตรด้วย แต่คราวนี้จะเข้าใจง่ายขึ้น มาดูกันดีกว่าว่าทำอย่างไร
📌 ขั้นตอน:
- ก่อนอื่น ไปที่เซลล์ C5 และใส่สูตรต่อไปนี้
=LEFT(B5,SEARCH(", ",B5,1)-1)
ที่นี่ B5 ทำหน้าที่เป็น ชื่อ อายุ . แรก .
รายละเอียดสูตร:- SEARCH(“,”,B5) → ฟังก์ชัน SEARCH ส่งกลับตำแหน่งเริ่มต้นของสตริงข้อความหนึ่งภายในสตริงข้อความอื่น ที่นี่ “,” คือ find_text อาร์กิวเมนต์ในขณะที่ B5 คือ within_text การโต้แย้ง. โดยเฉพาะ ฟังก์ชัน SEARCH ส่งกลับตำแหน่งของ comma(,) อักขระในสตริงข้อความ
- ผลลัพธ์ → 5
- LEFT(B5,SEARCH(“;”,B5)-1) → กลายเป็น
- LEFT(B5,5) → ฟังก์ชัน LEFT ส่งกลับจำนวนอักขระที่ระบุตั้งแต่เริ่มต้นสตริง ที่นี่ B5 เซลล์คือ ข้อความ อาร์กิวเมนต์ในขณะที่ 5 คือ num_chars อาร์กิวเมนต์ที่ฟังก์ชันส่งคืน 5 อักขระจากด้านซ้าย
- ผลลัพธ์ → จอห์น
- ประการที่สอง แตะ ENTER ที่สำคัญ
ตอนนี้ เราจะใช้สูตรอื่นที่คล้ายกันเพื่อค้นหาผลลัพธ์ในเซลล์ D5 . ใน สูตรก่อนหน้า เราใช้ ฟังก์ชัน LEFT เพื่อรับส่วนแรกของสตริงข้อความ ที่นี่ เราจะดึงส่วนที่สองของสตริง
- ขณะนี้ ไปที่เซลล์ D5 และใส่สูตรต่อไปนี้
=RIGHT(B5,LEN(B5)-SEARCH(",",B5))
รายละเอียดสูตร: - LEN(B5)-SEARCH(“,”,B5) → ฟังก์ชัน LEN ส่งกลับความยาวของสตริงใน B5 ในทางตรงกันข้าม ฟังก์ชัน SEARCH ส่งกลับตำแหน่งของเครื่องหมายจุลภาค (,) ตัวละคร
- เอาต์พุต → 11 – 5 → 6
- ขวา(B5,LEN(B5)-SEARCH(“,”,B5)) → กลายเป็น
- ขวา(B5,6) → ฟังก์ชันขวา ส่งกลับจำนวนอักขระที่ระบุจากจุดสิ้นสุดของสตริง ที่นี่ B5 เซลล์เป็นอาร์กิวเมนต์ข้อความในขณะที่ 6 คือ num_chars อาร์กิวเมนต์ที่ฟังก์ชันส่งคืน 6 อักขระจากด้านขวา
- ผลลัพธ์ → 18 ปี
3. การใช้คุณลักษณะข้อความเป็นคอลัมน์
ในวิธีนี้ เราจะทำงานด้วย Text to Columns . ของ Excel คุณลักษณะเป็นเครื่องมือที่สะดวกสำหรับการแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับ ดังนั้นเรามาสังเกตและเรียนรู้เกี่ยวกับขั้นตอนในขั้นตอนที่แสดงด้านล่าง
📌 ขั้นตอน:
- ในตอนแรก ให้เลือกเซลล์ใน B5:B14 ช่วง.
- จากนั้น ย้ายไปที่ ข้อมูล แท็บ
- หลังจากนั้น คลิกที่ เครื่องมือข้อมูล ไอคอนแบบเลื่อนลง
- จากรายการแบบเลื่อนลง เลือก ข้อความเป็นคอลัมน์ คุณลักษณะ
ทันทีที่เปิด แปลงข้อความเป็นคอลัมน์ กล่องโต้ตอบ
- ในขั้นตอนที่ 1 เลือก ตัวคั่น ภายใต้ เลือกประเภทไฟล์ที่อธิบายข้อมูลของคุณได้ดีที่สุด ส่วน.
- จากนั้น คลิกที่ ถัดไป ปุ่ม.
- ในขั้นตอนที่ 2 เลือก จุลภาค ใน ตัวคั่น ส่วน.
- หลังจากนั้น คลิก ถัดไป .
- ในขั้นตอนที่สามและขั้นตอนสุดท้าย ให้ตั้งค่าปลายทาง เซลล์เป็น C5 .
- สุดท้าย คลิกที่ เสร็จสิ้น ปุ่ม.
หลังจากทำตามขั้นตอนแล้ว Excel จะแสดง MsgBox พร้อมคำเตือน ไม่ต้องกังวล
- เพียงคลิก ตกลง ที่นี่.
น่าแปลกใจที่ข้อความไปยังคอลัมน์ที่ไม่มีการเขียนทับนั้นทำได้ใน Excel
อ่านเพิ่มเติม: วิธีใช้ฟีเจอร์ข้อความเป็นคอลัมน์พร้อม Carriage Return ใน Excel
4. การนำคุณสมบัติการเติมแฟลชไปใช้
หากการใช้สูตรที่ซับซ้อนไม่เหมาะกับคุณ วิธีต่อไปของเราอาจเป็นคำตอบที่คุณต้องการ เราจะใช้ Flash Fill คุณสมบัติของ Excel เพื่อแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับ
📌 ขั้นตอน:
- เริ่มแรก ให้จด John ในเซลล์ C5 . เป็นผลลัพธ์ที่ต้องการในเซลล์นี้ แต่เป็นครั้งแรกที่เราต้องทำด้วยตนเอง
- จากนั้นข้ามไปที่ Home แท็บ
- หลังจากนั้น คลิกที่ เติม ไอคอนแบบเลื่อนลงบน การแก้ไข กลุ่ม
- ตามนี้ ให้เลือก Flash Fill คุณลักษณะ
อย่างน่าอัศจรรย์ Excel จะเติมเซลล์ที่เหลือโดยอัตโนมัติ
ในทำนองเดียวกัน ทำเช่นเดียวกันสำหรับ อายุ คอลัมน์ใต้ คอลัมน์ D .
อ่านเพิ่มเติม: วิธีใช้ตัวแบ่งบรรทัดเป็นตัวคั่นในข้อความ Excel เป็นคอลัมน์
5. การใช้รหัส VBA
แม้ว่าการใช้สูตรจะเป็นวิธีที่รวดเร็วในการแก้ไขข้อมูล แต่ก็อาจตีความได้ยาก นอกจากนี้ หากคุณจำเป็นต้องทำโดยอัตโนมัติบ่อยๆ คุณอาจพิจารณา VBA รหัสด้านล่าง.
📌 ขั้นตอน:
- ขั้นแรก ให้ไปที่นักพัฒนา แท็บ
- ขั้นที่สอง เลือก Visual Basic ใน รหัส กลุ่ม
- หรือใช้แป้นพิมพ์ลัด ALT + F11 เพื่อทำซ้ำงาน
ทันใดนั้น Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่างจะปรากฏขึ้น
- ที่นี่ ดับเบิลคลิกที่ Sheet6(VBA) ในส่วน Project Explorer
โมดูลโค้ดจะเปิดขึ้นทางด้านขวาทันที
- ในกรณีนี้ ให้คัดลอกโค้ดต่อไปนี้แล้ววางลงในโมดูล
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
รายละเอียดโค้ด:
ในที่นี้ เราจะอธิบาย VBA รหัสที่ใช้ในการแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับ ในกรณีนี้ รหัสจะแบ่งออกเป็น 2 ขั้นตอน
- ในส่วนแรก รูทีนย่อยจะได้รับชื่อ นี่คือ Text_to_Columns_without_Overwrite() .
- ถัดไป กำหนดตัวแปร Arr , cnt , และ เจ เป็น สตริง , ยาว และ ตัวแปร .
- ในยาที่สอง ใช้ For Loop ผ่านแต่ละเซลล์และแบ่งข้อความโดยคั่นด้วยเครื่องหมายจุลภาค
- ตอนนี้ ในโค้ด คำสั่ง สำหรับ k =5 ถึง 14 หมายถึงหมายเลขแถวเริ่มต้นและสิ้นสุดของข้อมูล นี่คือ 5 ถึง 14 .
- จากนั้น “,” ใน Arr =Split(Cells(k, 2), “;”) เป็นตัวคั่นซึ่งคุณสามารถเปลี่ยนเป็นเครื่องหมายอัฒภาค ไปป์ ฯลฯ ได้หากต้องการ
- สุดท้าย cnt =3 ระบุหมายเลขคอลัมน์ที่สาม (คอลัมน์ C )
- ตอนนี้ ให้คลิกที่ปุ่มเล่นสีเขียวบนริบบิ้น อันที่จริงมันคือ การวิ่ง ปุ่ม. นอกจากนี้ คุณสามารถกด F5 บนแป้นพิมพ์เพื่อทำเช่นเดียวกัน
ในที่สุด ผลลัพธ์ควรปรากฏในภาพหน้าจอด้านล่าง
ภาคปฏิบัติ
สำหรับการทำแบบฝึกหัดด้วยตัวเอง เราได้จัดเตรียม การปฏิบัติ ส่วนเหมือนด้านล่างในแต่ละแผ่นทางด้านขวา กรุณาทำด้วยตัวเอง
บทสรุป
บทความนี้อธิบายวิธีการแปลงข้อความเป็นคอลัมน์โดยไม่ต้องเขียนทับใน Excel ในลักษณะที่เรียบง่ายและรัดกุม อย่าลืมดาวน์โหลด แบบฝึกหัด ไฟล์. ขอบคุณที่อ่านบทความนี้ เราหวังว่าสิ่งนี้จะเป็นประโยชน์ โปรดแจ้งให้เราทราบในส่วนความคิดเห็นหากคุณมีคำถามหรือข้อเสนอแนะ โปรดเยี่ยมชมเว็บไซต์ของเรา Exceldemy ผู้ให้บริการโซลูชัน Excel แบบครบวงจรเพื่อสำรวจเพิ่มเติม
บทความที่เกี่ยวข้อง
- วิธีใช้ข้อความเป็นคอลัมน์ใน Excel สำหรับวันที่ (ด้วยขั้นตอนง่ายๆ)
- [แก้ไขแล้ว!] ข้อความเป็นคอลัมน์ของ Excel กำลังลบข้อมูล
- วิธีการแปลงข้อความเป็นคอลัมน์ด้วยตัวคั่นหลายตัวใน Excel