Concatenation of Index+Match results using arrays

mmmilky

New Member
Joined
May 6, 2015
Messages
2
Hello all,

I'm working in excel 2010 and have been struggling trying to concatenate results to an Index+Match formula. I was forced to use Index+Match instead of Vlookup as the column that I am searching for data in is to the right of the column that I'd like to extract data from.

I'm am creating a status summary page for a project progress tracking workbook. The data set is organized by priority (subjective) and contains responsibilities and an assignee. I would like to create a status summary page that will show me the responsibilities of all group members in the following format "ABC, DEF, GHI" (where the acronyms are responsibilities).

PriorityResponsibilityGroup Member
1ABCAdam
2DEFBeth
3GHIAdam
4JKLBeth
5MNOBeth
6PQRChuck

<tbody>
</tbody>
^ Example data set, where content has been changed to protect information, columns A,B,C

NameResponsibility
AdamABC, GHI
BethDEF, JKL, MNO
ChuckPQR

<tbody>
</tbody>
^ Desired output, columns A,B

I have run a formula to extract a unique list of names from the whole data set. I used the formula below in cell A2.

=INDEX('Project_Tracking.xlsb'!Names, MATCH(0, COUNTIF($A$1:A1, 'Project_Tracking.xlsb'!Names&""), 0))

Where "Names" is a named list of the data set of the column that holds all the responsible project members.

I just can't figure out how the array formula to solve my problem.

So far this is all I've come up with.

{=CONCATENATE(INDEX(Responsibility,MATCH("Adam",Names,0)))}

note: the summary and data set are on different pages.

Also, please attempt to provide an answer using formulas, as I am not experienced with VBA macros.

Help would be appreciated, thanks for your time and help!!!
 

Excel Facts

Back into an answer in Excel
Use Data, What-If Analysis, Goal Seek to find the correct input cell value to reach a desired result
Can you list responsibilities in separate cell, or they have to be in single cell?
 
Upvote 0
I'd prefer them to be in one cell, as it is in the middle of a summary table and each member will have a different number of responsibilities.
 
Upvote 0
Well, maybe someone will have more elegant solution - this is one way to do it with fomulas, but it's not perfect.
Your example data set is in Sheet1, cells A1:C7. In columns B, C and D is separate cells solution, in column F one cell solution.
ABCDEF
1
2AdamABCGHIABC GHI
3BethDEFJKLMNODEF JKL MNO
4ChuckPQRPQR

<colgroup><col style="width: 25pxpx"><col><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
Sheet2

Array Formulas
CellFormula
B2{=IF(COLUMNS($B2:B2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:B2))))}
C2{=IF(COLUMNS($B2:C2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:C2))))}
D2{=IF(COLUMNS($B2:D2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:D2))))}
E2{=IF(COLUMNS($B2:E2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:E2))))}
F2{=IF(COLUMNS($B2:B2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:B2))))&" "&IF(COLUMNS($B2:C2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:C2))))&" "&IF(COLUMNS($B2:D2)>COUNTIF(Sheet1!$C$2:$C$7,$A2),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A2,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B2:D2))))}
B3{=IF(COLUMNS($B3:B3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:B3))))}
C3{=IF(COLUMNS($B3:C3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:C3))))}
D3{=IF(COLUMNS($B3:D3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:D3))))}
E3{=IF(COLUMNS($B3:E3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:E3))))}
F3{=IF(COLUMNS($B3:B3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:B3))))&" "&IF(COLUMNS($B3:C3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:C3))))&" "&IF(COLUMNS($B3:D3)>COUNTIF(Sheet1!$C$2:$C$7,$A3),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A3,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B3:D3))))}
B4{=IF(COLUMNS($B4:B4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:B4))))}
C4{=IF(COLUMNS($B4:C4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:C4))))}
D4{=IF(COLUMNS($B4:D4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:D4))))}
E4{=IF(COLUMNS($B4:E4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:E4))))}
F4{=IF(COLUMNS($B4:B4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:B4))))&" "&IF(COLUMNS($B4:C4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:C4))))&" "&IF(COLUMNS($B4:D4)>COUNTIF(Sheet1!$C$2:$C$7,$A4),"",INDEX(Sheet1!$B$2:$B$7,SMALL(IF(Sheet1!$C$2:$C$7=$A4,ROW(Sheet1!$C$2:$C$7)-ROW(Sheet1!$C$2)+1),COLUMNS($B4:D4))))}

<thead>
</thead><tbody>
</tbody>
Entered with Ctrl+Shift+Enter. If entered correctly, Excel will surround with curly braces {}.
Note: Do not try and enter the {} manually yourself

<tbody>
</tbody>
 
Last edited:
Upvote 0
Note: basically, you have to enter formula in B2 and copy it down and right.
Formula in F2 is made up of formulas from cells B2:D2, joined with ampersands (other way to concatenate), and copied down.
 
Last edited:
Upvote 0

Forum statistics

Threads
1,215,851
Messages
6,127,307
Members
449,374
Latest member
analystvar

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