จะแบ่งสตริงตาม“:” ใน MS-Excel ได้อย่างไร


58

คอลัมน์ excel ของฉันเต็มไปด้วยคำเช่นนี้:

1.) ABC:DCF
2.) DCF:FED

ฉันต้องการแยกแต่ละคำตาม":"และวางผลลัพธ์ในคอลัมน์ที่อยู่ติดกันเช่น "ABC: DCF" ในเซลล์ "A: 1" กลายเป็น "ABC" ในเซลล์ "B: 1" และ "DCF" ในเซลล์ " C: 1 "และค่าที่สอดคล้องกันในแต่ละคอลัมน์ ทำอย่างไร

คำตอบ:


63

ไปที่แท็บข้อมูลจากนั้นเลือกข้อความเป็นคอลัมน์ หลังจากนั้นเลือกตัวเลือก "คั่น" จากนั้นเลือก "อื่น ๆ " และวางตัวคั่นใด ๆ ที่คุณต้องการ


80

ข้อความถึงคอลัมน์จะทำงาน ตัวเลือกอื่นหากคุณต้องการเก็บค่าดั้งเดิมไว้คือใช้สูตร:
ใน B1

=left(a1,find(":",a1)-1) 

ใน C1

=mid(a1,find(":",a1)+1,len(a1))

2
ค่าเดิมสามารถเก็บได้แม้กับโซลูชันอื่น ๆ (คุณสามารถระบุคอลัมน์อื่นเพื่อเก็บค่าใหม่) แต่ฉันชอบวิธีนี้ดีกว่าเพราะจะช่วยให้มีค่าที่ทันสมัยอยู่เสมอ (เช่นถ้าคุณแก้ไข A1 B1 และ C1 จะอัปเดตในขณะที่ตัวเลือกแบบข้อความต่อคอลัมน์ไม่ได้)
psychowood

นี่เป็นวิธีแก้ปัญหาที่ยอดเยี่ยม
jsg

26

หากคุณสามารถใช้ VBA ได้คุณสามารถใช้Split()ฟังก์ชันนี้ได้ นี่คือฟังก์ชั่นที่ผู้ใช้กำหนด (UDF) ที่คุณสามารถใช้ในเซลล์ มันแยกตัวเลือกของคุณและส่งกลับองค์ประกอบที่nของรายการแยก

ดูฉันจะเพิ่ม VBA ใน MS Office ได้อย่างไร สำหรับข้อมูลเกี่ยวกับวิธีกำหนด UDF

Function STR_SPLIT(str, sep, n) As String
    Dim V() As String
    V = Split(str, sep)
    STR_SPLIT = V(n - 1)
End Function

ดังนั้นคุณต้องป้อน:

=STR_SPLIT(A1, ":", 1) // for the first half
=STR_SPLIT(A1, ":", 2) // for the second half

1
เยี่ยมมากไม่รู้ว่ามันเป็นเรื่องง่ายมากที่จะสร้างสูตรของคุณเอง
cowls

1
สิ่งนี้เหมาะสำหรับการแยก URL ออกเป็นส่วนต่างๆ
แยกไม่ออก

7

วางลงใน B1 และเติมลงในคอลัมน์ด้านขวาและแถวลง:

=TRIM(MID(SUBSTITUTE($A1,":",REPT(" ",999)),COLUMNS($A:A)*999-998,999))

แก้ไข: ก่อนหน้านี้ฉันโพสต์สูตรแปลเป็นภาษาท้องถิ่นโดยที่ ',' ถูกแทนที่ด้วย ';' ไม่สามารถใช้งานได้ใน Excel เวอร์ชัน US:

=TRIM(MID(SUBSTITUTE($A1;":";REPT(" ";999));COLUMNS($A:A)*999-998;999))


1
ยินดีต้อนรับสู่ Super User คุณช่วยเพิ่มประโยคสองสามประโยคลงในคำตอบของคุณเพื่ออธิบายว่ามันทำงานอย่างไรและทำงานอย่างไร ที่จะเพิ่มคุณค่าทางการศึกษา ขอบคุณ
fixer1234

ใช่แน่นอน. มันทำสิ่งเดียวกันกับที่ Text to Columns จากแท็บ Data ทำยกเว้นว่าไม่มีสูตร คุณสามารถแทนที่ ":" ด้วยตัวคั่นอื่นหรืออ้างอิงตัวคั่นจากเซลล์อื่น
Hardi Uutma

Excel บอกว่านี่ไม่ใช่สูตรที่ถูกต้องเมื่อคุณวางลงในเซลล์ โปรดตรวจสอบและอัปเดต
thilina R

สวัสดี thilina R! ขอบคุณสำหรับการแจ้งเตือน ฉันทำการปรับสำหรับ Excel เวอร์ชัน US โปรดแจ้งให้เราทราบหากคุณมีปัญหาใด ๆ ในตอนนี้หรือหากมีสิ่งใดไม่ชัดเจน
Hardi Uutma

ดีมาก. คำตอบเดียวที่ให้คุณจัดการกับตัวคั่นได้มากเท่าที่คุณต้องการโดยไม่ต้องสร้างฟังก์ชั่นของคุณเอง
CWilson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.