qwertytrewq
New Member
- Joined
- Apr 19, 2018
- Messages
- 9
Hello, I have data from which i need to extract unique list. i have everything up and running but my data has lot more rows n columns and excel takes forever to calculate it. Please suggest way to simplify these formulas to cut back on processing time or any if there is other way to get the desired dynamic list then please suggest that too.
[TABLE="class: grid, width: 1464"]
<tbody>[TR]
[TD][/TD]
[TD]Column A[/TD]
[TD]Column B[/TD]
[TD]Column C[/TD]
[TD]Column D[/TD]
[TD]Column E[/TD]
[TD]Column F[/TD]
[TD]Column G[/TD]
[TD]Column H[/TD]
[TD]Column I[/TD]
[TD]Column J[/TD]
[TD]Column K[/TD]
[TD]Column L[/TD]
[TD]Column M[/TD]
[TD]Column N[/TD]
[TD]Column O[/TD]
[/TR]
[TR]
[TD]Row 1[/TD]
[TD="colspan: 5, align: center"]Below is Sample Data[/TD]
[TD][/TD]
[TD="colspan: 3"]Below is Calculation step to get Unique Value in Sequence as in Sample Data[/TD]
[TD][/TD]
[TD="colspan: 5"]Below is Desired Dynamic List obtained from Sample Data[/TD]
[/TR]
[TR]
[TD]Row 2[/TD]
[TD="colspan: 2, align: center"]Sample[/TD]
[TD="colspan: 3, align: center"]Data related to the sample[/TD]
[TD][/TD]
[TD][/TD]
[TD="colspan: 2, align: center"][/TD]
[TD="colspan: 3, align: center"][/TD]
[/TR]
[TR]
[TD]Row 3[/TD]
[TD]First Name[/TD]
[TD]Last Name[/TD]
[TD]data1[/TD]
[TD]data2[/TD]
[TD]data3[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]First Name[/TD]
[TD]Last Name[/TD]
[TD]data1[/TD]
[TD]data2[/TD]
[TD]data3[/TD]
[/TR]
[TR]
[TD]Row 4[/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD]z[/TD]
[TD][/TD]
[TD]John ; Doe[/TD]
[TD]Jane ; Dou[/TD]
[TD]John ; Dow[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD]y[/TD]
[/TR]
[TR]
[TD]Row 5[/TD]
[TD]John[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]John ; Dow[/TD]
[TD]Jane ; Dow[/TD]
[TD]John ; Dou[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD]y[/TD]
[/TR]
[TR]
[TD]Row 6[/TD]
[TD]John[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]John ; Dou[/TD]
[TD]Jane ; Doe[/TD]
[TD]John ; Doe[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD]z[/TD]
[/TR]
[TR]
[TD]Row 7[/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]John ; Doe[/TD]
[TD]John ; Doe[/TD]
[TD]Jane ; Doe[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD]z[/TD]
[/TR]
[TR]
[TD]Row 8[/TD]
[TD]Jane[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD][/TD]
[TD]Jane ; Doe[/TD]
[TD]John ; Dou[/TD]
[TD]Jane ; Dow[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD]x[/TD]
[/TR]
[TR]
[TD]Row 9[/TD]
[TD]Jane[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]Jane ; Dow[/TD]
[TD]John ; Dow[/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD]x[/TD]
[/TR]
[TR]
[TD]Row 10[/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[/TR]
[TR]
[TD]Row 11[/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]y[/TD]
[TD]y[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[/TR]
</tbody>[/TABLE]
A4:E11 is raw data which will get updated from time to time.
K4:O11 is the desired data obtained.
A4:B4 is the data from which unique values to be extracted ( there are two repeats A7:B7 & A11:B11 , C4:E11 plays no role whatsover in deciding uniqueness)
G4:G11 combines A4:E11 to decide the Unique value ( I could find no other way to calculate this than to actually combine the two columns, ";" is there to later search and seperate the columns.
H4:H11 is where duplicate values are removed.
I4:I11 repeated the formula in H4:H11 to get the value in sequence.
K4:L11 is where the Value obtained from I4:I11 is seperated out in two columns as in Sample data.
M4:O11 respective Data from C4:E11 is Indexed Matched.
Formula in G4 : =A4&" ; "&B4
Formula in H4 : =IFERROR(LOOKUP(2,1/(COUNTIF($H$3:H3,$G$4:$G$11)=0),$G$4:$G$11),"")
Formula in I4 : =IFERROR(LOOKUP(2,1/(COUNTIF($I$3:I3,$H$4:$H$11)=0),$H$4:$H$11),"")
Formula in K4 : =LEFT(I4,SEARCH(" ; ",I4)-1)
Formula in L4 : =RIGHT(I4,LEN(I4)-SEARCH(" ; ",I4)-2)
Formula in M4 : =INDEX($C$4:$C$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Formula in N4 : =INDEX($D$4:$D$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Formula in O4 : =INDEX($E$4:$E$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Thanks for taking a look at this.
P.S. : Ignore the errors will use IFERROR later.
[TABLE="class: grid, width: 1464"]
<tbody>[TR]
[TD][/TD]
[TD]Column A[/TD]
[TD]Column B[/TD]
[TD]Column C[/TD]
[TD]Column D[/TD]
[TD]Column E[/TD]
[TD]Column F[/TD]
[TD]Column G[/TD]
[TD]Column H[/TD]
[TD]Column I[/TD]
[TD]Column J[/TD]
[TD]Column K[/TD]
[TD]Column L[/TD]
[TD]Column M[/TD]
[TD]Column N[/TD]
[TD]Column O[/TD]
[/TR]
[TR]
[TD]Row 1[/TD]
[TD="colspan: 5, align: center"]Below is Sample Data[/TD]
[TD][/TD]
[TD="colspan: 3"]Below is Calculation step to get Unique Value in Sequence as in Sample Data[/TD]
[TD][/TD]
[TD="colspan: 5"]Below is Desired Dynamic List obtained from Sample Data[/TD]
[/TR]
[TR]
[TD]Row 2[/TD]
[TD="colspan: 2, align: center"]Sample[/TD]
[TD="colspan: 3, align: center"]Data related to the sample[/TD]
[TD][/TD]
[TD][/TD]
[TD="colspan: 2, align: center"][/TD]
[TD="colspan: 3, align: center"][/TD]
[/TR]
[TR]
[TD]Row 3[/TD]
[TD]First Name[/TD]
[TD]Last Name[/TD]
[TD]data1[/TD]
[TD]data2[/TD]
[TD]data3[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD]First Name[/TD]
[TD]Last Name[/TD]
[TD]data1[/TD]
[TD]data2[/TD]
[TD]data3[/TD]
[/TR]
[TR]
[TD]Row 4[/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD]z[/TD]
[TD][/TD]
[TD]John ; Doe[/TD]
[TD]Jane ; Dou[/TD]
[TD]John ; Dow[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD]y[/TD]
[/TR]
[TR]
[TD]Row 5[/TD]
[TD]John[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]John ; Dow[/TD]
[TD]Jane ; Dow[/TD]
[TD]John ; Dou[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD]y[/TD]
[/TR]
[TR]
[TD]Row 6[/TD]
[TD]John[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]John ; Dou[/TD]
[TD]Jane ; Doe[/TD]
[TD]John ; Doe[/TD]
[TD][/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]x[/TD]
[TD]y[/TD]
[TD]z[/TD]
[/TR]
[TR]
[TD]Row 7[/TD]
[TD]John[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]z[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]John ; Doe[/TD]
[TD]John ; Doe[/TD]
[TD]Jane ; Doe[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD]z[/TD]
[/TR]
[TR]
[TD]Row 8[/TD]
[TD]Jane[/TD]
[TD]Doe[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD]z[/TD]
[TD][/TD]
[TD]Jane ; Doe[/TD]
[TD]John ; Dou[/TD]
[TD]Jane ; Dow[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD]x[/TD]
[/TR]
[TR]
[TD]Row 9[/TD]
[TD]Jane[/TD]
[TD]Dow[/TD]
[TD]z[/TD]
[TD]y[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]Jane ; Dow[/TD]
[TD]John ; Dow[/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD]x[/TD]
[/TR]
[TR]
[TD]Row 10[/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD]x[/TD]
[TD][/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[/TR]
[TR]
[TD]Row 11[/TD]
[TD]Jane[/TD]
[TD]Dou[/TD]
[TD]y[/TD]
[TD]y[/TD]
[TD]y[/TD]
[TD][/TD]
[TD]Jane ; Dou[/TD]
[TD][/TD]
[TD][/TD]
[TD][/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#VALUE![/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[TD="align: center"]#N/A[/TD]
[/TR]
</tbody>[/TABLE]
A4:E11 is raw data which will get updated from time to time.
K4:O11 is the desired data obtained.
A4:B4 is the data from which unique values to be extracted ( there are two repeats A7:B7 & A11:B11 , C4:E11 plays no role whatsover in deciding uniqueness)
G4:G11 combines A4:E11 to decide the Unique value ( I could find no other way to calculate this than to actually combine the two columns, ";" is there to later search and seperate the columns.
H4:H11 is where duplicate values are removed.
I4:I11 repeated the formula in H4:H11 to get the value in sequence.
K4:L11 is where the Value obtained from I4:I11 is seperated out in two columns as in Sample data.
M4:O11 respective Data from C4:E11 is Indexed Matched.
Formula in G4 : =A4&" ; "&B4
Formula in H4 : =IFERROR(LOOKUP(2,1/(COUNTIF($H$3:H3,$G$4:$G$11)=0),$G$4:$G$11),"")
Formula in I4 : =IFERROR(LOOKUP(2,1/(COUNTIF($I$3:I3,$H$4:$H$11)=0),$H$4:$H$11),"")
Formula in K4 : =LEFT(I4,SEARCH(" ; ",I4)-1)
Formula in L4 : =RIGHT(I4,LEN(I4)-SEARCH(" ; ",I4)-2)
Formula in M4 : =INDEX($C$4:$C$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Formula in N4 : =INDEX($D$4:$D$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Formula in O4 : =INDEX($E$4:$E$11,MATCH(1,INDEX((K4=$A$4:$A$11)*(L4=$B$4:$B$11),0,1),0))
Thanks for taking a look at this.
P.S. : Ignore the errors will use IFERROR later.