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:
<tbody>
</tbody>
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:
<tbody>
</tbody>
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:
Week 1 | Week 2 | Week 3 | |
Project 1 | Mr A; Mr B | Mr A; Mr B | Mr A; Mr B |
Project 2 | Mr C | Mr C | |
Project 3 | Mr A; Mr C | Mr A; Mr C |
<tbody>
</tbody>
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:
Week 1 | Week 2 | Week 3 | |
Mr A | Project 1; Project 3 | Project 1; Project 3 | Project 1 |
Mr B | Project 1 | Project 1 | Project 1 |
Mr C | Project 3 | Project 2; Project 3 | Project 2 |
<tbody>
</tbody>
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: