Move data from 3 columns to 1 column w/o transfer of blanks

davidryoung

Board Regular
Joined
Feb 7, 2005
Messages
110
I know very little about using VB but am pretty sure this is what I need. I am linking several worksheets together and to do so I need to be able to transfer the data from three columns into 1 single column w/o transferring the blanks/0s. All the following worksheets rely on this single column of data to self populate and blanks are not acceptable. Any help would be greatly appreciated.
 
davidryoung said:
That did it. I wish I had asked this question two weeks ago instead of trying to all those IF statements that never quite worked...

I actually worked out a formula system this morning for this recurring question, that being the reason for my question about duplicates.
 
Upvote 0

Excel Facts

Ambidextrous Undo
Undo last command with Ctrl+Z or Alt+Backspace. If you use the Undo icon in the QAT, open the drop-down arrow to undo up to 100 steps.
For my particular set of worksheets there are no duplicates. Each entry is unique.

Thanks again for the assistance!!!!
 
Upvote 0
davidryoung said:
For my particular set of worksheets there are no duplicates. Each entry is unique.

Thanks again for the assistance!!!!

Just because it might be of interest, what follows depicts a formula system for how to merge multiple lists of consisting of text values into a single list with no blanks (and with or no duplicates if any).

Let A3:A13 house the first list, B3:B22 the second, and C3:C21 the third.

E1: 3

which is the number of lists to merge.

E2 must house a 0.

E3, copied down:

=IF(ROW()-ROW(E$3)+1<=$F$1,LOOKUP(9.99999999999999E+307,$E$2:E2)+(MOD(COUNTA($E$2:E2)-1,3)=0),"")

F1:

=MAX(COUNTA(A3:A21),COUNTA(B3:B22),COUNTA(C3:C21))*E1

F2: Merge

which is just a label.

F3, copied down:

=IF(N(E3),INDEX($A$3:$C$22,E3,IF((E2<>0)*(E3<>E4),3,IF(E3=E2,2,1))),"")

This formula brings together all lists with everything into a single range.

G2 must house a 0.

=IF((T(F3)<>"")*ISNA(MATCH(F3,$F$2:F2,0)),LOOKUP(9.99999999999999E+307,$G$2:G2)+1,"")

If the source lists don't house any duplicates or duplicates should not be eliminated, use:

=IF(T(F3)<>"",LOOKUP(9.99999999999999E+307,$G$2:G2)+1,"")

instead.

H1:

=LOOKUP(9.99999999999999E+307,G:G)

H2: Single List

which is just a label.

H3, copied down:

=IF(ROW()-ROW(H$3)+1<=$H$1,LOOKUP(ROW()-ROW(H$3)+1,G:G,F:F),"")

The range in H now houses the desired single list.
 
Upvote 0

Forum statistics

Threads
1,215,432
Messages
6,124,856
Members
449,194
Latest member
HellScout

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