Using INDEX/COLLECT to return multiple values
Looking for the proper way to return multiple values using INDEX/COLLECT. I'm assuming JOIN needs to be in there but can't get it to work! Both without and with JOIN, the formula still produces the first value only. This formula matches a project number from one sheet to another, and is supposed to return ALL of the resources assigned to that project (displayed in the source sheet as one resource per row, with all rows having the project number field filled out).
Here's what I'm trying to work with:
=JOIN((INDEX(COLLECT({source sheet resource name}, {source sheet project number}, [Project number]@row), 1)), ", ")
Note that this is in a contact column and ideally I'd like the returned values to be contacts, not flat text...but thinking that may not be possible. Grateful for any input!
Best Answer
-
Genevieve P. Employee Admin
The INDEX function is what's causing your output to bring only one value back. You can actually just jump rightinto a JOIN(COLLECT without INDEX at all. Try this:
=JOIN(COLLECT({source sheet resource name}, {source sheet project number}, [Project number]@row), ", ")
You are correct that currently this type of formula wouldn't be able to populate contacts; the JOIN(COLLECT will bring through the values as text. Keep in mind that if the same resource is assigned to the same project in two different rows you'd have their name brought through twice in this cell.
Let me know if this works for you!
Cheers,
Genevieve
Answers
-
Genevieve P. Employee Admin
The INDEX function is what's causing your output to bring only one value back. You can actually just jump rightinto a JOIN(COLLECT without INDEX at all. Try this:
=JOIN(COLLECT({source sheet resource name}, {source sheet project number}, [Project number]@row), ", ")
You are correct that currently this type of formula wouldn't be able to populate contacts; the JOIN(COLLECT will bring through the values as text. Keep in mind that if the same resource is assigned to the same project in two different rows you'd have their name brought through twice in this cell.
Let me know if this works for you!
Cheers,
Genevieve
-
Tracey Katz ✭✭
@Genevieve PIs there a way to use JOIN-COLLECT to populate contacts? I am trying to do something similar but need to pull in contacts and not text. Or is there another function/function combo I can use to accomplish this?
-
Genevieve P. Employee Admin
Would you be able to explain your process a little more, perhaps with screen captures of both sheets (but block out any sensitive data)?
There isn't a way to bring in multiple, separate contacts and join them into one Contact Column cell through a formula, but if you already have multiple contacts in one cell, there may be ways you can copy that full cell over to another sheet, or search within that cell.
-
mtk5200 ✭✭
Is it possible to use =Join(Collect to bring back multiple values but instead of a comma delimited list, have the values populate in the same column on separate rows? I've using join/collect in conjunction with a 'Text to Columns' option like excel and it doesn't appear to be an option.
I'm trying to pull into a sheet, from a separate sheet, all of the project names that are associated with one person's name. The catch is, multiple people can be assigned to one project so I can't use a report for this.
Thanks for your help,
Morgan
-
Genevieve P. Employee Admin
Hi@mtk5200
The JOIN(COLLECT can only join data into onecellversus breaking out the data down rows.
However there may be a way we can do this. Do you know how many possible project names there could be? For example, up to 10?
We could use an INDEX(COLLECT formula to bring across the first match, then in the second row change the formula to look for thesecondmatch, and so on.
For example:
=INDEX(COLLECT({Project Names}, {People Assigned}, HAS(@cell,[email protected])), 1)
The 1 at the end tells the formula to bring back the first row.
Then in your second row for that user, update it to:
=INDEX(COLLECT({Project Names}, {People Assigned}, HAS(@cell,[email protected])),2)
If you know the max number of Projects that could be assigned to someone, you could set up your sheet ahead of time and have the numbers in the cell. Then you can reference the cell instead of writing 1 or 2. Here's an example of what I mean:
Cheers,
Genevieve
-
Marcin ✭✭✭
I'm using your last example which works fine in the give sheet. Trying to modify that to reference another sheet but getting unparseable
Surely I'm wrongly inserting reference to another sheet. Any hint what's wrong with references here?
=INDEX(COLLECT({Integrated Launch Plan Range 1}[Task Name]:[Task Name], {Integrated Launch Plan Range 1}[Priority Focus Flag]:[Priority Focus Flag], HAS({Integrated Launch Plan Range 1}@cell, "Local Priority")), 3)
Best
Marcin
-
Genevieve P. Employee Admin
Hi@Marcin
There are a couple of syntax errors here.
The first thing you list in the COLLECT function is the column you want to bring data back from. Then you list each Column and Criteria after it.
So in your case,Range 1should be the Column to bring back data.
=INDEX(COLLECT({Integrated Launch Plan Range 1}
Then if you're looking for a specific Task Name,Range 2would be the Task Name column in the other sheet:
=INDEX(COLLECT({Integrated Launch Plan Range 1}, {Integrated Launch PlanRange 2}
And if you're searching for the Task Name in the cell in this same row where you're writing the formula, the reference is [Task Name]@row
=INDEX(COLLECT({Integrated Launch Plan Range 1}, {Integrated Launch Plan Range 2},[Task Name]@row
Next we list the multi-select column, which it sounds like is called "Priority Focus Flag"in the other sheet.This would be range 3:
=INDEX(COLLECT({Integrated Launch Plan Range 1}, {Integrated Launch Plan Range 2},[Task Name]@row, {Integrated Launch PlanRange 3}
And then what you're looking for in that multi-select would be "Local Priority", you can use HAS(@cell to search for it in the previously stated range:
=INDEX(COLLECT({Integrated Launch Plan Range 1}, {Integrated Launch Plan Range 2},[Task Name]@row, {Integrated Launch PlanRange 3},HAS(@cell, "Local Priority")), 1)
You always need a 1 at the end because that tells the INDEX function whatrowto bring back. Does that make sense?
如果从你这个公式不工作,请screen captures of your current source sheet and the sheet where you're writing the formula, identifying what columns you want to Match and what you want to Bring Back, but please delete out sensitive data.
Cheers!
Genevieve
Help Article Resources
Categories
Double check your cross sheet references. Make sure they are all single columns by clicking on the appropriate column header.<\/p>
<\/p>
When doing this, give the sheet a little time to load before selecting the column. Sometimes moving too fast allows you to select a column header before the sheet fully loads in the creator window. Then when the sheet does finally completely load in, the selection automatically reverts to the home cell (top right corner). This happens to me quite a bit when I am in a hurry.<\/p>"}]}},"status":{"statusID":3,"name":"Accepted","state":"closed","recordType":"discussion","recordSubType":"question"},"bookmarked":false,"unread":false,"category":{"categoryID":322,"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions","allowedDiscussionTypes":[]},"reactions":[{"tagID":3,"urlcode":"Promote","name":"Promote","class":"Positive","hasReacted":false,"reactionValue":5,"count":0},{"tagID":5,"urlcode":"Insightful","name":"Insightful","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":11,"urlcode":"Up","name":"Vote Up","class":"Positive","hasReacted":false,"reactionValue":1,"count":0},{"tagID":13,"urlcode":"Awesome","name":"Awesome","class":"Positive","hasReacted":false,"reactionValue":1,"count":0}],"tags":[{"tagID":254,"urlcode":"Formulas","name":"Formulas"}]},{"discussionID":106940,"type":"question","name":"IF cell CONTAINS one\/two\/three different values, return corresponding values","excerpt":"Hello community, I am attempting to return single or multiple values depending on a multiple dropdown column. My dropdown column contains criteria \"Consolidation\", \"Reduction\", \"Termination\", \"New\" Currently the formula works for single values with the following formula =IF([Type of Project]@row = \"Consolidation\", \"🝢\",…","snippet":"Hello community, I am attempting to return single or multiple values depending on a multiple dropdown column. My dropdown column contains criteria \"Consolidation\", \"Reduction\",…","categoryID":322,"dateInserted":"2023-06-27T09:24:42+00:00","dateUpdated":null,"dateLastComment":"2023-06-27T12:11:45+00:00","insertUserID":143463,"insertUser":{"userID":143463,"name":"Sam Swain","url":"https:\/\/community.smartsheet.com\/profile\/Sam%20Swain","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-06-27T20:08:44+00:00","banned":0,"punished":0,"private":false,"label":"✭✭"},"updateUserID":null,"lastUserID":151203,"lastUser":{"userID":151203,"name":"Nick Korna","url":"https:\/\/community.smartsheet.com\/profile\/Nick%20Korna","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-06-27T12:11:22+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭"},"pinned":false,"pinLocation":null,"closed":false,"sink":false,"countComments":3,"countViews":57,"score":null,"hot":3375727587,"url":"https:\/\/community.smartsheet.com\/discussion\/106940\/if-cell-contains-one-two-three-different-values-return-corresponding-values","canonicalUrl":"https:\/\/community.smartsheet.com\/discussion\/106940\/if-cell-contains-one-two-three-different-values-return-corresponding-values","format":"Rich","tagIDs":[254],"lastPost":{"discussionID":106940,"commentID":382505,"name":"Re: IF cell CONTAINS one\/two\/three different values, return corresponding values","url":"https:\/\/community.smartsheet.com\/discussion\/comment\/382505#Comment_382505","dateInserted":"2023-06-27T12:11:45+00:00","insertUserID":151203,"insertUser":{"userID":151203,"name":"Nick Korna","url":"https:\/\/community.smartsheet.com\/profile\/Nick%20Korna","photoUrl":"https:\/\/us.v-cdn.net\/6031209\/uploads\/defaultavatar\/nWRMFRX6I99I6.jpg","dateLastActive":"2023-06-27T12:11:22+00:00","banned":0,"punished":0,"private":false,"label":"✭✭✭✭✭"}},"breadcrumbs":[{"name":"Home","url":"https:\/\/community.smartsheet.com\/"},{"name":"Formulas and Functions","url":"https:\/\/community.smartsheet.com\/categories\/formulas-and-functions"}],"groupID":null,"statusID":3,"image":{"url":"https:\/\/us.v-cdn.net\/6031209\/uploads\/Q6RJIERQGF1Y\/screenshot-2023-06-27-at-10-22-29.png","urlSrcSet":{"10":"","300":"","800":"","1200":"","1600":""},"alt":"Screenshot 2023-06-27 at 10.22.29.png"},"attributes":{"question":{"status":"accepted","dateAccepted":"2023-06-27T10:17:00+00:00","dateAnswered":"2023-06-27T10:12:21+00:00","acceptedAnswers":[{"commentID":382490,"body":"