Hi,
I have a timeline of various projects in excel with the people working on them. Each person may be working on multiple projects simultaneously and I want to create a table of all my people, showing which active projects theyÂ’re assigned to on any given week. I already have a table with the projects on down the side and the weeks along them top, populated with all the people on that project which looks something like:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]Week 1[/TD]
[TD]Week 2[/TD]
[TD]Week 3[/TD]
[/TR]
[TR]
[TD]Project 1[/TD]
[TD] Mr A; Mr B[/TD]
[TD]Mr A; Mr B[/TD]
[TD]Mr A; Mr B[/TD]
[/TR]
[TR]
[TD]Project 2[/TD]
[TD][/TD]
[TD]Mr C[/TD]
[TD]Mr C[/TD]
[/TR]
[TR]
[TD]Project 3[/TD]
[TD] Mr A; Mr C[/TD]
[TD]Mr A; Mr C[/TD]
[TD][/TD]
[/TR]
</tbody>[/TABLE]
I now want to create a table for the active projects my people have in any given week, so for the above table that would look like:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]Week 1[/TD]
[TD]Week 2[/TD]
[TD]Week 3[/TD]
[/TR]
[TR]
[TD]Mr A[/TD]
[TD]Project 1; Project 3[/TD]
[TD]Project 1; Project 3[/TD]
[TD]Project 1[/TD]
[/TR]
[TR]
[TD]Mr B[/TD]
[TD]Project 1[/TD]
[TD]Project 1[/TD]
[TD]Project 1[/TD]
[/TR]
[TR]
[TD]Mr C[/TD]
[TD]Project 3[/TD]
[TD]Project 2; Project 3[/TD]
[TD]Project 2[/TD]
[/TR]
</tbody>[/TABLE]
I have got a solution to this but itÂ’s really horrible and IÂ’m sure must be inefficient in CPU terms. This is the first cell in the table:
= IF(COUNTIF(S$32,"*"&$F5&"*"),$B$32&"; ","")
&IF(COUNTIF(S$33,"*"&$F5&"*"),$B$33&"; ","")
&IF(COUNTIF(S$34,"*"&$F5&"*"),$B$34&"; ","")
&IF(COUNTIF(S$35,"*"&$F5&"*"),$B$35&"; ","")
&IF(COUNTIF(S$36,"*"&$F5&"*"),$B$36&"; ","")
&IF(COUNTIF(S$37,"*"&$F5&"*"),$B$37&"; ","")
&IF(COUNTIF(S$38,"*"&$F5&"*"),$B$38&"; ","")
. . .
And on, and on, down through over 100 projects, maybe more in the future. F:F contains all the people names, and B:B the project names.
This is working, but as I say feels like a really crude solution, and I worry that in the future the amount of calculation might crash the spreadsheet. I know there are functions like sumifs, but I don’t know of anything like a “vlookup-ifs” function, and I’m not sure how I’d begin doing an array for this. Any help to get a cleaner solution than mine would be massively appreciated.
Thank you
I have a timeline of various projects in excel with the people working on them. Each person may be working on multiple projects simultaneously and I want to create a table of all my people, showing which active projects theyÂ’re assigned to on any given week. I already have a table with the projects on down the side and the weeks along them top, populated with all the people on that project which looks something like:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]Week 1[/TD]
[TD]Week 2[/TD]
[TD]Week 3[/TD]
[/TR]
[TR]
[TD]Project 1[/TD]
[TD] Mr A; Mr B[/TD]
[TD]Mr A; Mr B[/TD]
[TD]Mr A; Mr B[/TD]
[/TR]
[TR]
[TD]Project 2[/TD]
[TD][/TD]
[TD]Mr C[/TD]
[TD]Mr C[/TD]
[/TR]
[TR]
[TD]Project 3[/TD]
[TD] Mr A; Mr C[/TD]
[TD]Mr A; Mr C[/TD]
[TD][/TD]
[/TR]
</tbody>[/TABLE]
I now want to create a table for the active projects my people have in any given week, so for the above table that would look like:
[TABLE="class: grid, width: 500"]
<tbody>[TR]
[TD][/TD]
[TD]Week 1[/TD]
[TD]Week 2[/TD]
[TD]Week 3[/TD]
[/TR]
[TR]
[TD]Mr A[/TD]
[TD]Project 1; Project 3[/TD]
[TD]Project 1; Project 3[/TD]
[TD]Project 1[/TD]
[/TR]
[TR]
[TD]Mr B[/TD]
[TD]Project 1[/TD]
[TD]Project 1[/TD]
[TD]Project 1[/TD]
[/TR]
[TR]
[TD]Mr C[/TD]
[TD]Project 3[/TD]
[TD]Project 2; Project 3[/TD]
[TD]Project 2[/TD]
[/TR]
</tbody>[/TABLE]
I have got a solution to this but itÂ’s really horrible and IÂ’m sure must be inefficient in CPU terms. This is the first cell in the table:
= IF(COUNTIF(S$32,"*"&$F5&"*"),$B$32&"; ","")
&IF(COUNTIF(S$33,"*"&$F5&"*"),$B$33&"; ","")
&IF(COUNTIF(S$34,"*"&$F5&"*"),$B$34&"; ","")
&IF(COUNTIF(S$35,"*"&$F5&"*"),$B$35&"; ","")
&IF(COUNTIF(S$36,"*"&$F5&"*"),$B$36&"; ","")
&IF(COUNTIF(S$37,"*"&$F5&"*"),$B$37&"; ","")
&IF(COUNTIF(S$38,"*"&$F5&"*"),$B$38&"; ","")
. . .
And on, and on, down through over 100 projects, maybe more in the future. F:F contains all the people names, and B:B the project names.
This is working, but as I say feels like a really crude solution, and I worry that in the future the amount of calculation might crash the spreadsheet. I know there are functions like sumifs, but I don’t know of anything like a “vlookup-ifs” function, and I’m not sure how I’d begin doing an array for this. Any help to get a cleaner solution than mine would be massively appreciated.
Thank you
Last edited: