Comments on: How to split text string in Excel by comma, space, character or mask

Splitting text from one cell into several cells is the task all Excel users are dealing with once in a while. Today, we are going to take an in-depth look at how you can break strings into different elements using formulas and the Split Text feature. Continue reading

Comments page 7. Total comments: 306

  1. I have a text string that I am trying to split which has different characters to split in the string.
    Example string
    Product Support 2018 H2~TC03986-01-ICS

    I want to split it as "Product Support 2018 H2" "TC03986-01" and "ICS"
    I am not sure if it is possible to use two different separators, but the "~" causes a problem. I have tried to use CHAR(126) but this does not work. I have also tried to replace the ~ using search and replace.

    1. Part answer:
      =LEFT(C20,FIND("~",C20)-1) to get product

  2. Arvind:
    To split this string I would use the Text-to-Column tool.
    You can find it under the data tab. Use the fixed width option and after you enter the comma as a field choose the Do Not Import option for the comma.

  3. I want to split this
    Sr. N0 first name last name postal code

    1 jokovic,novok (SRB) 13630

    HOW ?

  4. String is $GPRMC,062745.044,A,1830.2470,N,07350.5297,E,1.07,44.40,101018,,,A*54

    how to split into columns with removal of comma with formula.

    ex-
    1st column=$GPRMC
    2ND COLUMN=062745.044
    3RD COLUMN=A
    4TH COLUMN=1830.2470
    5TH COLUMN=N
    6TH COLUMN=07350.5297
    WHAT FORMULA SHOULD I USE. I need only formula or macro code not other ready made option in excel.

    Thanks

  5. I want to extract the City from the following rows. The City is the word in between the LAST space of the field and the comma of the field. The comma is always the last character in the field. What formula should I use?
    1111 FM 1585 LUBBOCK,
    2222 10TH ST SHALLOWATER,
    333 COLTON AVE LUBBOCK,

    1. Hello, Claudia,

      Suppose your data are in column A, please try to enter the following formula in cell B1 and then copy it down along the column:

      =MID(A1, FIND("#", SUBSTITUTE(A1, " ", "#", LEN(A1)-LEN(SUBSTITUTE(A1, " ", ""))))+1, LEN(A1)-FIND("#", SUBSTITUTE(A1, " ", "#", LEN(A1)-LEN(SUBSTITUTE(A1, " ", ""))))-1)

      Hope this is what you need.

  6. Hi,

    how can you split string "abcdef" in a single character per row?

    1. Swati:
      The simplest method to accomplish what you want is to use the Text-to-Columns tool. People seem to turn their collective nose up at using this tool and I don't know why.
      Highlight the cell containing the data to split.
      Select under the Data tab on the ribbon select the Text-to-Columns option.
      In the Text-to-Columns window select the Fixed Width radio button.
      Left click the places where you want the data to be split.
      Click finish.
      This will leave the first character in the original cell and the data will be in separate cells.
      If you have multiple rows containing data to be split, highlight all the rows and go through the same process.
      You can split multiple rows, but not multiple columns.

      1. Doug, the reason that this doesn't work for me is that I have an export where the data looks like this: 422353-1-5 but the first number can be any length up to 7 digits. If the first number is from about 1900 to 9999, the Excel sheet has those cells formatted as a date with the correct ones formatted like a string. I need to determine on a row by row basis whether it's a date so I use an IFERROR function to split it into 3 columns.

        If I only had to do this once, I would simply do this: =IFERROR( YEAR(B2)&"-"&MONTH(B2)&"-"&DAY(B2), B2) and then split it into 3 columns, but this is something that needs to be done all of the time and it's faster to do it by having a proper formula that can be copied down.

  7. Formulas for splitting text string with spaces into columns worked perfectly.
    Thank you.

  8. Hi
    Irregular word and Number in excel 1 column to multi column like
    Example:JSE SALE 2800 DRS CASH 2815
    1. words in 1 column
    2. Numbers in 1 column

  9. Clarence:
    I can't tell if there is a space between the first decimal and the "1". If there isn't, I think this will work for you. Where the original string is in K1 enter this in an empty cell.

    =MID(K1,1,3)&" "&MID(K1,5,2)&""&MID(K1,7,4)&""&MID(K1,11,3)&" "&MID(K1,15,3)&""&MID(K1,18,7)&" "&MID(K1,25,7)
    I hope you see how this formula works. It counts the characters including spaces goes to the next number of characters indicated by the second number and then returns that number of characters followed by a space or in some cases no space if there already was a space in the original. I got tired of counting characters.
    If you need a space after the first decimal add another &""&MID(K1,etc)
    like this:
    =MID(K1,1,3)&" "&MID(K1,5,2)&""&MID(K1,7,4)&""&MID(K1,11,3)&" "&MID(K1,15,3)&""&MID(K1,18,4)&" "&MID(K1,22,3)&" "&MID(K1,25,7)

  10. I need a help with a formula.. We get some data interfaced to our system but due to some error at source it is stuck in the temporary area and does not move to the live area. The error is for eg.
    DXB EK LON AC YYZ 234.123567.34 the error is that 2 amounts are merged. The result I require is that after 2 decimal places I need a space like DXB EK LON AC YYZ 234.12 3567.34. Would I be able to get the correct string in another cell using excel formula.

    1. =LEFT(A1,FIND(".",A1)+2)&" "&RIGHT(A1,(LEN(A1)-FIND(".",A1))-2)

  11. I've been trying the solutions here to no avail.
    I am trying to get an input into a cell visually altered inside the same cell

    From, when numbers are entered:
    01234567890
    To, when the cell is left:
    012 3456 7890

    Anyone got any ideas

  12. Hello

    I have following value

    Cell A1 = 621.33Ari
    A2 = 620.4.7Dsi(5)
    A3 = 53:62Asi:21

    I want separate text from number

    For example

    Output to cell B1 = 621.33 Cell C1 = Ari
    B2 = 620.4 Cell C2 = Dsi(5)
    B3 = 53:62 Cell C3 = Asi:21

    Please help me

    Thanks

    1. Bhagwan:
      I think you'll need two little formulas to get this done.
      For the first set of data enter this in B1
      =LEFT(A1,6) and this in C1 =RIGHT(A1,3)
      For the next two sets use this in B2 =LEFT(A2,6) and enter this in C2 =RIGHT(B2,6)
      Copy these two formulae down the column for B3 and C3.

  13. Hi, How do I get the text before the comma?
    Ex: Cell A1= My Name, Eddie

    Output to Cell B2 = My Name
    Outout to Cell B3 = Eddie

    I don't want to use the "text to column function" because I'll have to do it manually when a new entry comes in.

    Appreciate if you could help to demonstrate a string for this function.

    Many thanks in advance

    1. Eddie:
      In B2 enter this:
      =LEFT(A1,SEARCH(",",A1,1)-1) this will return "My Name"
      In B3 enter this:
      =RIGHT(A1,SEARCH(",",A1,1)-2) this will return "Eddie".

  14. Hi,
    i have values in one column as below.
    ABC (1), IJK (20), LMN (15), XYZ (5)
    LMN (10), XYZ (25), ABC (15), IJK (3)
    XYZ (25), ABC (225)

    i want create new column and extract value for ABC as below
    1
    15
    225

    I tried using MID function as explained, but i get value as below.
    =MID(A2, SEARCH("ABC",A2) + 5, 3)

    1)
    15)
    225

    Can you pls help?

    1. Had to use the FIND command to get the last bracket and subtract positions.
      This should work for you.
      =MID(A1,FIND("ABC",A1)+5,(FIND(")",A1,FIND("ABC",A1)+5))-(FIND("ABC",A1)+5))

      Locates the ABC starting character and adds 5 to get to the number
      Then second part finds the first ) after the number
      Then it subtracts the position of the ) to get the number for the mid statement
      Use VALUE to convert this output value to a number if you want to perform sums on it

  15. One of the column has the value "Fri 6pm PT", I need this value to be split into 3 different columns and also need improvisations like once the column is split the "fri" column should be "Friday" and the column with "6pm" should be "6:00 PM". I need the formula on how to change.

  16. How could I split

    L18000160290MASS LLC

    into
    L18000160290 MASS LLC

    Basically I want to take the first 12 characters into a separate cell

    1. Keven:
      I think this should work.
      Where L18000160290MASSLLC is in A1
      =LEFT(A1,12)

  17. Hi,
    I have figures in a line beak
    59/220118
    64/080318
    64/100418
    128/100518
    192/110617
    In another column I need to add up the numbers before "/". Do you have a formula for that please?
    Thanks in advance.

    1. Try using this. If your value is in H3...
      =VALUE(LEFT(H3,FIND("/",H3)-1))

    2. Naveen:
      I think the easiest thing to do in a situation like yours is to use the Text-to-Columns tool that is built in to Excel.
      Click the Data tab on your ribbon, then choose Text-to-Columns, then click the Delimited button, then choose the Other option and enter a / in that field. You should then see how your data will be separated into two columns. Click Next and the data will be split into two columns beginning with the column the data was originally in. If you want the split data to be put into a different cell then enter that address in the Destination field in the third step. You can also choose not to import the data after the / . In this last step select the column heading that holds the data you don't need and choose the Do Not Import Column.
      Click finish and you have your data in its own column ready to sum.

  18. Hi
    How to split number of live sheet into individual no and add them
    Ex: 254.56 into 25456
    Add:2+5+4+5+6
    I split no but unable add them

    1. Umesh:
      In an empty cell enter =Sum(Range Holding Values)
      For example if the numbers are in cells B2,C2,D2,E2 and F2 then =SUM(B2:F2)
      Be sure to format the cells B2:F2 as number.

  19. Hi can you please help me split 4017.524120.9822..0000.0000.3137 as
    4017
    524120
    9822
    0000
    0000
    3137

    1. Soni:
      You can select the cell with the data and then use the Text-to-Columns tool under Data. Use "." as the delimiter and once the data is in separate cells you can copy the cells and paste into a blank cell using the Paste Special/Transpose option.
      If you do a lot of this work The AbleBits Ultimate Suite is probably a better option. It has many tool to help work with data. Splitting your type of data into rows is one of the tools.

  20. In order to split string by dash I wouldn't bother to construct different formulas for each part.
    I would, rather, use one single (similar) formula for all columns
    For example:
    Type the following formula into cell B2 and copy-drag it to the right.
    =TRIM(MID(SUBSTITUTE("-"&$A2&" ","-",REPT(" ",255)),(COLUMN()-1)*255,255))
    ----------------------------
    Michael (Micky) Avidan
    “Microsoft® Answers" - Wiki author & Forums Moderator
    “Microsoft®” Excel MVP – Excel (2009-2018)
    ISRAEL

    1. This did the trick for the task I was working on. May I ask what the elements of the formula mean?

    2. Thank You!!

  21. Hi Svetlana,

    I have a worksheet containing a single column as follows:

    1 F01K2502F01L1504A23K1165

    2 C09J12518B23K524C07C30988C07C31724C07C31734

    I would like to split this single column into multiple columns, like:

    1 F01K2502 | F01L1504 | A23K1165 (3 columns)

    2 C09J12518 | B23K524C07 | C30988C07 | C31724C07 | C31734 (5 columns)

    Any advice?

    Thanks a lot beforehand.

    1. Hello,

      I'm afraid there's no easy way to solve your task with a formula. Using a VBA macro would be the best option here.

      However, since we do not cover the programming area (VBA-related questions), I can advice you to try and look for the solution in VBA sections on mrexcel.com or excelforum.com.

      Sorry I can't assist you better.

  22. Hi Svetlana,

    Thanks for your help on this. I hope you are still supporting this post.

    The left, mid & right functions only work for 3 columns of data within the source cell. My data has 6 columns with 5 delimiters (",").

    If I use LEFT it returns the "first column's data",
    If I use MID, it returns the "second column's data",
    If I use RIGHT, it returns everything to the right in column "3", which is actually Column 3, 4, 5 & 6.

    Is there any way to "count" the delimiters, then return the data before/after the specified Xth delimiter? In other words, similar to VLOOKUP where the formula uses "col_index_num" to specify which data is wanted.

    Unfortunately, the data I am trying to extract to place in 2 different cells is in the second & fourth columns.

    I have isolated below between *** ***

    12/15/2017 16:10,***DYSINGER EAST***,23326,***2163.11***,3150,-9999

    This is realtime data from .csv url through Data --> Refresh All, so using the Text to Columns feature or add-ins is not possible. Also I am using MS Excel for Mac, and so far cannot get Excel to recognize the "," in the text string as the delimiters to separate the string automatically into proper columns.

    Thanks for any help on this!

    1. Hello,
      Please try using a VBA macro. We are always ready to help you, but we do not cover the programming area (VBA-related questions).
      You may try to find the solution in VBA sections on mrexcel.com or excelforum.com.
      Sorry we can’t assist you better.

  23. Pls see if you can split the following, in Excel-2010 ...

    1 apple. 2 orange. 3 pear. 4 banana
    [this is all in a single cell]

    into ...

    column A column B
    1 apple
    2 orange
    3 pear
    4 banana

    Thank you.

    1. Hello,

      I'm afraid there's no easy way to solve your task with a formula. Using a VBA macro would be the best option here.

      However, since we do not cover the programming area (VBA-related questions), I can advice you to try and look for the solution in VBA sections on mrexcel.com or excelforum.com.

      Sorry I can't assist you better.

  24. how to split numbers as mentioned below?
    999999999.99 to 99 99 99 999.99;
    99999999.99 to 9 99 99 999.99;
    9999999.99 to 99 99 999.99;
    999999.99 to 9 99 999.99.
    and so on.

    Thanks in Advance.

    1. Hello,

      If I understand your task correctly, please try the following formula:

      =SUBSTITUTE(TEXT(A1,"#,##0.00"),","," ")

      Hope this will work for you

  25. i want to spit one cell number 12345

  26. My electrical engineer son-in-law is giving us a hint as to what he and my daughter are naming my grandson-to-be. Here is the strand he gave us ^[B-P][a,e,l,o,u]\w{3,} . He then added, "It's a string search pattern. It can be reverse engineered. Can anybody solve this for me?

  27. Hi,

    Can you help me splitting the word astro.forumattivo.com to astro and forumattivo.com

    thanks!
    skuty

  28. 08121804902
    hi there,
    081317003321
    081315004023
    08121002069
    08121803616
    08121001992
    081316000612
    081316002389
    08129000777
    08121002877
    can i ask help how to split between 12 digits & 11 digits different rows?

    1. Use LEN to return the length and test on that.
      =If(len(a1)>11,a1,"")

  29. Hi,
    Can you please help to seperate only the colours from the cell into different column.
    For eg.
    From PVC SLEEV 65X6 HEAVY DUTY BLACK COLOUR.Only the Black into different column.
    Like wise in given below contents:-
    PVC SLEEV 65X6 HEAVY DUTY BLACK COLOUR.
    PVC CISTERN WHITE
    PVC CISTERN-WHITE
    PVC CISTERN -WHITE

  30. Is it possible to slice Inputsome into various cells(Crore, Lac, Thousand, hundreds)?

    Inputsome Crore Lac Thousand Hundred
    1091050320 9 10 50 320
    173387930 17 33 87 930
    720333 7 20 333
    1209225 12 9 225
    3209 3 209
    16305 16 305
    502 502
    50 50
    9 9

  31. Hi...
    I am trying to use the split function in an Excel 2013 VBA script. However, the function name ('Split') is not highlighted in the editor, and I get a compile error "Cannot return array", so I suspect that the function has been removed.
    Could you please confirm that this is the case, or put me right if it isn't? I prefer not to have to write this function myself.. :)
    All the best, and thanks fo royur time,

  32. HTML 5 See 15 endorsements for HTML 515

    Unity3D See 11 endorsements for Unity3D11

    How to split this 15 and 11 in this line.

    ** number after "see" only i want.

  33. Y:O10111:5242045056:PPX :713907770199

    how to split in 4 column with removal of colon with formula.

    ex- 1st column=Y
    2ND COLUMN=O10111
    3 RD COLUMN=5242045056
    4TH COLUMN=PPX
    5TH COLUMN=713907770199 WITH EXCELL FORMULA.

  34. How to split string by line break in Excel

    AAA
    BBB
    CCC
    DDD
    EEE
    FFF
    GGG
    How to split string in DDD, EEE, FFF, GGG

  35. This is very helpful site for excel problems .... i used it .. and its good

  36. I Wanna break this strings RNY0HC3B282001573F14 in below mentioned pattern in different column, how i can using function please reply
    RNY0 HC 3B28 2 157 3 F 14

  37. Hello Svetlana,

    Thank you for your examples! I am trying to do this exact same thing, only in DAX for Power Pivot. My situation would be like your "Dress-Blie" example above, and I am trying to return "Dress"..

    John

  38. I am trying to split a column of e-mail addresses into 2 cols (E-MAIL1 and E-MAIL2), when the original column may have only a single address or may have 2 addresses separated by a comma, like: jdoe@dom.com, mdoe@dom.com"

    My problem is that SEARCH() and FIND() both seem to return #VALUE errors when there is only one e-mail address in the source column (and thus the "," can't be found.)

    Can I work around this by, for example, testing for an error (like if(SEARCH(",",sourcecol)=#VALUE, . . . etc.?)

    Or some other way?

    Thanks,
    Martin

  39. Hi
    I've been looking all morning to find a way to split out the following;-

    Amazon EU AMAZON.CO.UK LUX 99.99
    SPAR LOCHINVER LAIRG 99.99

    Can't split by fixed length, or delimiter, tried a macro to strip out text and then numbers but all costs end up as 9999 and not as a monetary amount.
    I have 12 months worth of old statements, about 1500 transactions, to reformat correctly. They are only available in as a pdf file not a csv which is what makes this a challenge.

    Any help, suggestions much appreciated.
    Thanks
    PFS

  40. michal jackson , BScIT, MCA, LLB, FAICD
    This is the given string . I want to split the string into two parts. That is I want to split BScIT, MCA, LLB, FAICD into degree part and michal jackson into name part.
    How should i do it.

  41. hi,

    I need to split the text in the string in different columns. Columns are fixed.

    For Example:

    Input String: Application_PROPAY , Area_Feeds, Assigned_to_PTS, Cause_Data Issue-Incorrect Data, Detected_RBS

    Output should be like: PROPAY should go to column name Application
    Feeds should go to column name Area
    PTS should go to Assigned to etc..

    In some cases all the column names might not have mentioned.. please help

  42. I have a character string, for example: GTHSYSKSSGSJSJGSUSKKS

    I want each character in its own column. How would I do that?

    Thanks

  43. Hello Svetlana,

    I need your help on this.
    Is there a way that I can split a string of text in a cell from

    "This is 2nd enquiry from this client. The 1st time wasSep-329 in Union TalkHusband's name: ChanWaiCheongTel:9*****"

    into

    "This is 2nd enquiry from this client. The 1st time wasSep-329 in Union Talk Husband's name: Chan Wai Cheong Tel:9*****"

    I have 44500 records having this problem. I tried doing a VBA code, to add space whenever there is a CAPs letter but it wont work for some records as the outcome will be: "paid via VISA" into "paid via V I S A"

    Please do help. Thank you.

    1. I have managed to solve this with a VBA Code.

      Function SplitCaps(strIn As String) As String
      Dim objRegex As Object
      Set objRegex = CreateObject("vbscript.regexp")
      With objRegex
      .Global = True
      .Pattern = "([a-z])([A-Z])"
      SplitCaps = .Replace(strIn, "$1 $2")
      End With
      End Function

      If any of you have another alternative please do share.

      Thanks

  44. Hello Svetlana,
    I like your information above, but as usual I have a different split column issue.
    So... I'm looking for a way to split a cell of text into to. The split must not come more that 30 characters (Including spaces) from the left but must be at a space or the immediate previous space to the 30th character point.

    So if the cell contained: "EMERGENCY MU/INITIAL FILL TO CONDENSER CTRL VAL"
    The 30th Character is the "C" of Condenser so the cell will split between "TO" and "Condenser"
    How do I write this code please?
    Many thanks for your help,
    Tim

  45. 1) face redness / Erythema (n);
    2) felt hot / Feeling hot (n);
    3) felt faint / Dizziness (n);
    4) dizziness / Dizziness (n);
    5) hands and feet weakness / Muscular weakness (n);
    6) arterial pressure increased to 140/70mmHg / Blood pressure systolic increased (n);
    7) flushes / Flushing (n);"

    The above data is a singe cell data i need to seperate from cell to column after every semicolon.
    While trying it on text to coloumn option of excel I cannot see any data getting shifted to the adjacent columns

  46. Hi, Ihave Query regarding Excel function.

    Iwant to split the Number after symbol For Ex:

    Putcharoen - Patumwan - T003
    Butthongkomvong - Muang - 5104
    Yim - Cheongju-si - 9573
    Hwang - Seongnam-Si - 3018

    so, from this i want values from the last symbol i.e. T003,5104,3018 like this ....

    Please provide me the Formula for this.

    Thanks in Advance

    Thanks,
    Adithya

  47. Can you help with Split string by dash:
    Item-Color-Size-FIT pattern, and you want to split the column into 4 separate columns?

    Item and color are the same as above. Having trouble with Size and FIT.

  48. Hi

    I want to split the below into columns
    90FB5B8F6B40
    001BBA9AB00
    001BBA99FE00

    I want my end result to be
    90:FB:5B:8F:6B:40
    00:1B:BA:A9:AB:00
    00:1B:BA:99:FE:00

    I thought if i can split the text to single columns and concatenate to join them back inserting the ":" that would help. So i needed to know how to separate the text string into columns. Is that possible?

    1. Based on your data being in A1, and always being the same length and expected return

      =LEFT(A1,2)&":"&MID(A1,3,2)&":"&MID(A1,5,2)&":"&MID(A1,7,2)&":"&MID(A1,9,2)&":"&MID(A1,11,2)

      if want them to be in separate column start with LEFT(A1,2)
      and then for every subsequent col copy the MID(A1,3,2) parts

  49. Hello Svetlana Cheusheva,

    Can you help me to extract "Fort Walton Beach", "Jacksonville Beach","Wethersfield",etc.
    These are examples:
    545 Ashley Court, Fort Walton Beach, FL 32547
    713 Arch Street, Jacksonville Beach, FL 32250
    341 Cardinal Drive, Wethersfield, CT 06109
    134 Main Street East, Anchorage, AK 99504
    211 Oak Lane, West Lafayette, IN 47906
    458 Williams Street, El Dorado, AR 71730
    913 Liberty Street, Saint Paul, MN 55104
    860 Somerset Drive, Acworth, GA 30101
    36 Briarwood Drive, Dekalb, IL 60115

    Thank you so much.

    Tien

    1. =MID(A10,FIND(",",A10)+2,(FIND(",",A10,FIND(",",A10)+1)-(FIND(",",A10)+2)))
      looks for the commas and uses mid to select the text between them.
      Assumes text is in A10.

  50. I have a long column of number letter combinations I want to split at the first letter (any letter)

    eg. 43245tre becomes 43245 tre
    129ftr becomes 129 ftr

    Help?

    1. Hello Mark,

      Do you want to split numbers and letters in 2 separate columns, or separate them with a space within a cell?

Post a comment



Thank you for your comment!
When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to
your query. We cannot guarantee that we will answer every question, but we'll do our best :)