Reconfiguring data

tigerzen

Board Regular
Joined
Mar 8, 2023
Messages
209
Office Version
  1. 365
Platform
  1. Windows
I have a list in the following format but require it in the desired format, looking for a formula method which can consist of a number of steps or Power Query solution. Please note, I will need an Excel 2019 solution.

Book10
ABCDEF
1AttendanceSurnameFirst name
2Conference 1SmithHarry
3Conference 1JonesCathy
4Conference 2SmithHarry
5Conference 2BrownTom
6Conference 2HendrixJim
7Conference 3JonesCathy
8Conference 3SmithPeter
9ExpoHendrixJim
10
11Desired format
12SurnameFirst nameConference 1Conference 2Conference 3Expo
13BrownTomYes
14HendrixJimYesYes
15JonesCathyYesYes
16SmithHarryYesYes
17SmithPeterYes
Sheet4
 

Excel Facts

Remove leading & trailing spaces
Save as CSV to remove all leading and trailing spaces. It is faster than using TRIM().
How about this:
Load your data into power query​
Add a new column with the formula = "Yes"​
Select the attendance column and then click Pivot Column​
Select your new "yes" column as your values column​
Go to advanced options and select Don't Aggregate​

Hope this helps
 
Upvote 0
For a formula method idea ..

23 09 13.xlsm
ABCDEF
1AttendanceSurnameFirst name
2Conference 1SmithHarry
3Conference 1JonesCathy
4Conference 2SmithHarry
5Conference 2BrownTom
6Conference 2HendrixJim
7Conference 3JonesCathy
8Conference 3SmithPeter
9ExpoHendrixJim
10
11Desired format
12SurnameFirst nameConference 1Conference 2Conference 3Expo
13BrownTom Yes  
14HendrixJim Yes Yes
15JonesCathyYes Yes 
16SmithHarryYesYes  
17SmithPeter  Yes 
18
Rearrange
Cell Formulas
RangeFormula
C12:F12C12=TRANSPOSE(SORT(UNIQUE(A2:A9)))
A13:B17A13=LET(d,UNIQUE(B2:C9),SORTBY(d,TAKE(d,,1),,TAKE(d,,-1),))
C13:F17C13=IF(COUNTIFS($A$2:$A$9,C$12,$B$2:$B$9,$A13,$C$2:$C$9,$B13),"Yes","")
Dynamic array formulas.
 
Upvote 0
Thanks JB and Peter.
JB, I may need some more detail with your solution, do you mean add a conditional column?

Peter, the solution needs to accommodate an Excel 2019 user.
 
Upvote 0
Peter, the solution needs to accommodate an Excel 2019 user.
Sorry, I missed that .. again :(

My previous suggestion produced the 'Attendance' headings, the list of names and the "Yes" values.
Are you looking for a method to do all that or are you really only interested in the "Yes" values or that and perhaps the names?
 
Upvote 0
Sorry, I missed that .. again :(

My previous suggestion produced the 'Attendance' headings, the list of names and the "Yes" values.
Are you looking for a method to do all that or are you really only interested in the "Yes" values or that and perhaps the names?
No problem Peter, I will need all three items.
 
Upvote 0
In that case I would use some helper columns (J:K for me) which could be hidden if you want.

23 09 13.xlsm
ABCDEFGHJK
1AttendanceSurnameFirst name
2Conference 1SmithHarrySmith|Harry5
3Conference 1JonesCathyJones|Cathy3
4Conference 2SmithHarrySmith|Harry 
5Conference 2BrownTomBrown|Tom0
6Conference 2HendrixJimHendrix|Jim1
7Conference 3JonesCathyJones|Cathy 
8Conference 3SmithPeterSmith|Peter7
9ExpoHendrixJimHendrix|Jim 
10
11Desired format
12SurnameFirst nameConference 1Conference 2Conference 3Expo 
13BrownTom Yes   
14HendrixJim Yes Yes 
15JonesCathyYes Yes  
16SmithHarryYesYes   
17SmithPeter  Yes  
18  
Rearrange (2)
Cell Formulas
RangeFormula
J2:J9J2=B2&"|"&C2
K2:K9K2=IF(COUNTIF(J$1:J1,J2),"",COUNTIF(J$2:J$9,"<"&J2))
C12:G12C12=IFERROR(INDEX($A:$A,AGGREGATE(15,6,ROW($A2:$A9)/ISNA(MATCH($A2:$A9,$B12:B12,0)),1)),"")
A13:A18A13=IFERROR(INDEX(B$2:B$9,MATCH(SMALL(K$2:K$9,ROWS(A$13:A13)),K$2:K$9,0)),"")
B13:B18B13=IF(A13="","",INDEX(C$2:C$9,MATCH(SMALL(K$2:K$9,ROWS(A$13:A13)),K$2:K$9,0)))
C13:G17C13=IF(COUNTIFS($J$2:$J$9,$A13&"|"&$B13,$A$2:$A$9,C$12),"Yes","")
 
Upvote 0
Clear the stuff from the results area.

A13, copied down:
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$1:$B$9)/(COUNTIFS($A$12:$A12,$B$1:$B$9,$B$12:$B12,$C$1:$C$9)=0),1)),"")

B13, copied down:
=IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($B$1:$B$9)/(COUNTIFS($A$12:$A12,$B$1:$B$9,$B$12:$B12,$C$1:$C$9)=0),1)),"")

C13, copied across and down:
=IFERROR(INDEX($A:$A,AGGREGATE(15,6,ROW($A$1:$A$9)/($B$1:$B$9&$C$1:$C$9=$A13&$B13),COLUMNS($C13:C13))),"")

I haven't figured out how to add the XL2BB yet!!
 
Upvote 0
Clear the stuff from the results area.

A13, copied down:
=IFERROR(INDEX(B:B,AGGREGATE(15,6,ROW($B$1:$B$9)/(COUNTIFS($A$12:$A12,$B$1:$B$9,$B$12:$B12,$C$1:$C$9)=0),1)),"")

B13, copied down:
=IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($B$1:$B$9)/(COUNTIFS($A$12:$A12,$B$1:$B$9,$B$12:$B12,$C$1:$C$9)=0),1)),"")

C13, copied across and down:
=IFERROR(INDEX($A:$A,AGGREGATE(15,6,ROW($A$1:$A$9)/($B$1:$B$9&$C$1:$C$9=$A13&$B13),COLUMNS($C13:C13))),"")
 
Upvote 0

Forum statistics

Threads
1,223,227
Messages
6,170,849
Members
452,361
Latest member
d3ad3y3

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