Split Cell Into Two And Move To Another Row And Columns
Dec 3, 2009
I have a report that I need to reformat where part of the information is moved from rows to columns.
The report is broken up into "sections" as follows: Each section is a series of multiple rows and is broken down as follows:
ROW 1: Contains data (in a single cell) about a Sales rep, which includes (1) rep number & (2) rep name
NEXT ROW(s): Contains data information about an invoice(s), which includes date, invoice number, client name, trans ID, etc. The invoice data can be one row up to as many as 500 rows
LAST ROW: Contains the Rep Subtotal
I need to spit out a report that contains the invoice data only (the middle part of the section). I don't want "ROW 1" or "LAST ROW" of each section in the output. For each invoice row, I need to include the rep number and the rep name for each invoice. As noted, the rep number and name is always listed in the row preceding the invoice data. The format is always a 6-digit code followed by the name. So I need to split the data into two pieces.
I'm prepping this file to be pushed through mail merge. The sheet has 25,213 rows.
Column I contains a long string of character (for the purposes of my project the field is called Subjects) and $ used as delimiters (approx 70 or as few as 1). This column needs to be split apart by $ and the separate Subjects that result from splitting apart by $ needs to be placed on a separate line. Once each Subject is on a separate line, all of the Subjects need to be lined up in Column I, one under another (the obvious result at this point is GREATLY increasing the number of rows in the sheet). Next, all of the data that is contained in each Subject's originating row will be copied to each of newly created rows (without copying over the Subject contained in column I).
After writing this all out, I realize (once again).
I am trying to split data from a cell into two columns. I have tried the LEFT and RIGHT functions but as the data held is not always the same number of characters this does not work for the LEFT function. The only constant thing is that the last character will always be in the second column. An example of data would be:
This formula I want to apply it in another workbook. It split in different columns the content of a cell.
The formula is below:
In cell A2 I have the following data: |516582-001-99|414816-001-99|414816-003-99|516582-001-99|
If I apply the formula above in cells B2 to E2 it returns a blank cells. But if I delete the first "|" sign in the left side manually the formula works perfectly by splitting the cell into columns from B2 to E2. The issue here is that I have more than 300,000 records. Just imagine the amount of time invested in just deleting the first "|" at the left side.
I need a variation of the formula above that in first place delete the first "|" at the left side and after that continue with the proper work of the formula.
Im trying to come up with an automated way of splitting concatenated information but putting each concatenated value in a seperate row.( i have columns of data that need to stay with each concatenated value) Eg
Concatenated comma delimited data
Cust Name Cust Identifier Locations L Kim 543545 California,Chicago,Florida S David 31434 Maryland,Vermont,Maine D Bryant 572575 Texas,Oaklahoma,Nebraska
i need to to get a result that looks like the below example im currently just doing text to column filterting and copying all the columns over and stacking them on top of each other. i need to find a way to automate this process but i cant seem to think of one
Customer name Customer Identifier Location L Kim 543545 California L Kim 543545 Chicago L Kim 543545 Florida S David 31434 Maryland S David 31434 Vermont S David 31434 Maine D Bryant 572575 Texas D Bryant 572575 Oaklahoma D Bryant 572575 Nebraska
I found this code on Ozgrid to sort all columns of a worksheet that were continuous with no gaps or spaces that works well:
Sub CopyToA() Do While ActiveCell <> "" Range(ActiveCell, ActiveCell.End(xlDown)).Cut Destination:=Range("a65535").End(xlUp).Offset(1, 0) ActiveCell.Offset(0, 1).Select Loop End Sub
However, I've tried to manipulate the code myself to 1) find all columns that aren't empty then 2) sort each column individually (WITHOUT expanding the sort to other columns) and 3) combining all the numbers into one seperate column. There are many posts concerning sorting but not one that addressed this particular situation.
I am trying to write a macro that will take data from column A and use it as a column header in column C, and then take the corresponding data in column B and list it under the column header in column C. When the value in column A changes it will move on to column D and then list the corresponding data from column B underneath it in column D until all of the data in the 2 columns is spread across the worksheet. Example:..............
I am having quite a bit of a challenge here and am not able to code to split the text into columns. The text to columns does not work here unfortunately. Below is my situation. In one column that has the contract details I have the data as follows:
Account Manager Jennifer MacFarlane CONSULTING - GENERAL on 20-JUN-13 Function #:176749 Account Manager Janet Bewers CONSULTING - GENERAL on 25-JUL-13 Function #:176878 Account Manager Janet Bewers HEAT STRESS AWARENESS on 27-JUN-13 Function #:176828 Account Manager Janet Bewers TRACTOR SAFETY AWARENESS on 08-AUG-13 Function #:177383
What do I key in to get Account Manager in one column, the name of the person in another column and the one in caps in another column and the date in one column and the function in another column. I tried using left, right and LEN and something is terribly wrong with my logic
I'm trying to split the address stored in column A into two columns (i.e. columns B & C). I got more than 30,000 addresses stored in column A and got the following excel function to do the job. However, it seems not to exactly solve my problem.
in column B : =LEFT(A1,FIND(" ",A1,20)-1) in column C : =right(A1,len(A1)-FIND(" ",A1,21))
First, using the above functions, I got to manually drag the formula to the end of column containing 30,000 records! I tried to use vba to perform the job the script failed to do so. I know there has been something I missed in my vba script but do not know how to correct it.
for k = 1 to 30,000 Range("b" & k).value = LEFT(range("A" & k),FIND(" ",range("A" & k,20)-1)) Range("c" & k).value = RIGHT(range("A" & k),len(range("A" & k)-FIND(" ",range("A" & k,21)) next
What I really want to do is split the addresses in columns B & C with the first text ended with "Street" or "Road" stored in Column A and the other text after "Street" or "Road" in column C.
column A : 128 Johnway Road, 12/F, Flat C, Kowloon, Hong Kong column B : 128 Johnway Road Column C : 12/F, Flat C, Kowloon, Hong Kong
Column A is numbered 1 -100 successively Column B thru D contains data that goes with the assigned number in column A. I need to be able to move rows of data in column B through D to a different set of rows all at the same time (not one cell at a time) without disturbing the set numbers in column A. And with that, have all the other rows of data automatically adjust accordingly(not to be deleted or replaced).
I am working on a report but I need to split of text cells that contain text and numbers. I had worked in some formulas and I got stuck again when I drag down the formulas. In the attached file, you will see two tables. The one in the left is my current job. In the table of the right is how the table must look like.
The table is complete and will give you the whole idea.
Basically, I need to split the cell into three categories that are "Family", "Model" and "Phase". In example:
Cell Family Model Phase CCA CCA DC50X DC50X DCX3300CRDDCX3300CRD DPC2434 DPC2434 DCT-1700DCT1700 DCT-1800DCT1800 DCT-1800P3DCT1800P3 DCT-1800P4DCT1800P4
I have data in Column A that is from a text file that contains 50,000 rows , this is pipe delimited data that is 300 columns wide. I would like to be able to keep the columns but using the Text to Column functions means that I lose some them.
I was wondering if anyone knew how to separate the text in to 2 sheets, with the first 200 columns in Sheet 1 and the remaining in Sheet 2. The reason I would like to separate the information in to cells is so that I can investigate the data better.
Its not possible to traspose this information as the rows are nearly 50,000 long.
Here is a small sample of what 1 row is like, it not the entire row. Each "|" character represents a break and a new column.
For each cell in column A, I am trying to split the data between two new cells. The data in each cell is separated by a |. All information to the left of | should go in column B. All information to the right of | should go in column C.
I am looking for two formulas (col. B+C) in order to split every second value from Col. A into two adjacent columns. Empty cells, in col. A, should be ignored. The requested result is shown in green and red.
Once again I return to the brilliant ones on this board. I read the Excel help page for "Split text among columns by using functions". But my parsing task is more advanced than what I could gather from this function.
Here is the contents of cell A1 to be parsed: Pack type,(make selection),Pack A[=4.95],Pack B[=5.95],Pack C[=7.95]
I need to extract 4.95 into cell A2, 5.95 into A3 and 7.95 into A4. How Oh also, I have many variations of that example, and want your solution to work for the variations. So here is another actual cell that I have to be parsed: Qty. discount,(Make Selection),1[=18.95],2 to 4[=17.95],5+[=16.95]
So, each extracted value will always be preceded by = and followed by ]
I got a question regarding a what formula can i use to act like the Split method in programming. I would like if this can be done with a formula not programming cos i am a programmer Basically i got a column full of data in the following format:.dddd.ddddddd.ddddd. Now the number of the "d" can be random in between the dots. So i would like to be able to split the line by looking at the "." .There is one thing though that each line does have 3 or 4 "." characters.
I have a column full of text with most data separated by commas, except sometimes between the commas there is a string, marked by ' ' , which itself contains commas.
For example: 45,'im a string, look at me',67,43,5,'im another string, look at me',78
I try to make excel put all the data into columns, so 'im a string, look at me' will have its own column, instead of being split into two columns. I tried telling excel that the ' character marks strings, but it just removed the apostrophes and kept splitting any string that contained a comma. I tried to use a special delimiter,' but excel didn't allow me to. Does someone have a macro that will do the text to columns for me, or is this possible to do with the regular text to columns feature of excel?
I want to create a 6th column that looks to the columns on the left with data in ti and concatenates all data in the 5 columns and puts it into one cell in the 6th column however put a space between each break of data so that it can be distinguished which bit of data was in what column previously.
The challenge is the new 6th column can only contain 30 characters - When it exceeds 30 characters then create a 7th column and put the rest of data in the 7th column, again the 7th column can only have 30 characters so if exceeds this then put the remaining characters in a 8th column
There will never be more than a total of 90 characters in the original 5 columns so there will only need to be scope for a maximum of 3 additional columns
So for example
Column A had two words in it that totaled 20 characters (the space between the two words is also counted as a character) Column B had two words in it that totaled 20 characters (the space between the two words is also counted as a character) Column C had a word that contained 10 characters Column D had a word that contained 5 characters Column E had a word that contained 10 characters
Then the result would be
Column F would only have the data originally held in Column A (because it can't include Column B's data as this would exceed the 30 characters) Column G would have data that was originally held in column B and column C - with a space between B and C data Column H would have data that was originally held C, D and E - with a space between C, D and E data
Another point to consider is if in one of the orginal 5 columns had say 3 words in it and lets say the 3rd word is the word that exceeds the 30 character limit, then the whole of the third word is to be carried oved to the next new column, I can't have words cut in hlaf with one half in Column 'F' and the other half in Column 'H' for example.
i have cells with city and state in them and i'm trying to separate the one column into two columns. the problem is, i'm trying to keep the city name in one column and the state in the other. some of my cells have two word cities like new albany, or upper arlington. the text to columns feature is separating those cells into 3 columns not 2. is there a way to do this?
example: worthington, oh upper arlington, oh
text to columns splitting upper arlington into 3 different cells because the only delimiter in the cell is a space. i need to keep upper arlington in one cell and oh in another.
After I imported this data, the date and time is in the same column in the format of "mm/dd/yyyy hh:mm:ss" military time. How do I write a VBA code to split up the date and time into two separate columns. One column would only have "mm/dd/yyyy" while the other only have "hh:mm:ss" in military time.
Eventually, I need to extract information from the data by looking for a specific time. I would also plot time vs something.
I don't know if treating it as a string would work, because it would just become a text rather than a time, right?
I have a lot of carton dimensions that are always presented in the same manner and would like to be able to split the individual dimensions into seperate columns. The format is always: Length Width Height. Presentation of data is always ???x???x??? or ??x??x??? (ie two or three chrs seperated by the letter X). If the full string is stored in column A I would like B to display Length, C the Width and D the Height. I find it easy to use LEFT for Length but struggling with Width and Height which I'm sure are easy, just can't get my head around it.