Combining every N rows into one row macro

osbrown

New Member
Joined
Aug 16, 2017
Messages
2
Good Morning all,

I've been newly hired right out of school as a data reporting specialist at KSU. A part of my job is tracking donor data for our non-profit community engagement courses. These are free courses we offer to the community to help teach work skills like IT, reading, and writing. I've been working on this problem for a few days but haven't been able to figure it out for myself. So I'm looking for some help. I currently have a spreadsheet that is 7 columns and some 4,000 rows of donor data for our community engagement courses. Each donors data is spread out over 3 rows so for example an address is like these two addresses below

203 crestlane
drive atlanta
georgia 30252
2710 fallbrooke
terrace madison
wisconsin 66875

The spacing is consistent throughout the worksheet but some donor data sheets have the data every 4 or 5 rows. If possible I would like help to combine these 3 rows one column at a time throughout the worksheet to get the data in one row like.

203 crestlane drive atlanta georgia 30252
2710 fallbrooke terrace madison wisconsin 66875

The worksheet has 7 columns in total that contain data other than addresses but are still spread out between 3-5 rows. Any help would be fantastic! Thank you
 

Excel Facts

Format cells as date
Select range and press Ctrl+Shift+3 to format cells as date. (Shift 3 is the # sign which sort of looks like a small calendar).
You could probably use a formula to format the info as you please. This will give you an idea but will need some adjustment for your exact needs.


Book1
ABCDE
2203 crestlane203 crestlanedrive atlantageorgia 30252203 crestlane drive atlanta georgia 30252
3drive atlanta2710 fallbrooketerrace madisonwisconsin 668752710 fallbrooke terrace madison wisconsin 66875
4georgia 30252
52710 fallbrooke
6terrace madison
7wisconsin 66875
Sheet1
Cell Formulas
RangeFormula
B2=INDEX($A$2:$A$21,((3*ROW(A1)-2)+COLUMN(A1)-1))
C2=INDEX($A$2:$A$21,((3*ROW(B1)-2)+COLUMN(B1)-1))
D2=INDEX($A$2:$A$21,((3*ROW(C1)-2)+COLUMN(C1)-1))
E2=TEXTJOIN(" ", TRUE,B2:D2)
 
Upvote 0
mrhstn, Thank you very much! This helped a ton! I haven't worked with the Index function very much but I'm going to be reading a lot more about it cause this worked perfectly!

Have a great day and thanks again!
 
Upvote 0

Forum statistics

Threads
1,223,101
Messages
6,170,116
Members
452,302
Latest member
TaMere

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top