I am stumped. I am trying to combine data from two multiple select fields, into one. For the sake of confidentiality, I have created an example of what I am working with, using part of the Greek alphabet instead of the actual data:
The goal is to combine these two columns into a third that looks and behaves exactly the same as the first two, simply with the data from both combined, into one. As easy as this feels like it should be, every single option I’ve seen either turns the output into text strings (which renders it useless for our tracking purposes), or else it requires a great deal of manually typing or copy-pasting the individual options of the multiple select, into the formula, one by one. It should be noted that while I have only used four Greek letters here, the actual number of entries we are working with is well over 600, and with far longer names, so such a process would be a grueling time-consumer.
Surely there must be some way to automate this?
Also note that there are a couple rows in which both columns already share one of the Greek letters - assuming that there IS a way to automate this, is there also a way to account for/deal with potential duplicates?
Welcome to Airtable Community!
The easiest way to do so is to create an automation the simply copy pastes the data from both fields into a new multi select field. The trigger would be when a record is updated and Watch those 2 fields only. This however wont solve your duplicate problem. Also, keep in mind that none of your options can contain commas as it would be considered as 2 values instead of one.
If you want to remove the duplicates then it becomes a litte more complicated, you need to create a Linked Record field and paste both multi select options fields into it (using the same concept automation) then create a Rollup field in the same table with the expression ArrayUnique(Value) , this will remove the duplicates. You then can you another automation to copy paste this new rollup field to another multi select field
Hope this helps
Thank you for your reply. Perhaps I am misunderstanding, however, but it seems like you’re suggesting that I manually copy each cell over to create one, for each row. These columns currently have 3,069 rows, and that is only going to increase from here. Manually copying and pasting is the time-consuming nightmare that we are trying to avoid. Is there really no other way to quickly combine the two columns into one?
Or am I simply misunderstanding?
EDIT: After re-reading, I think I understand somewhat better what you’re saying, but I’m not understanding how to go about doing that, apologies - would you be willing/able to detail that a little further?
That is definitely the goal - however, my teammate and I have spent the last week exhaustively looking through the documentation on automation, and other forums. Thus far, every single option we have found, converts the output into a text string, which as I said before, renders it useless to us.
I assure you, we have spent a great deal of time hunting for the specific steps or formula to make this work. We have not yet found it.
My apologies then for restating the obvious.
I’m less familiar with Automation than I am with scripting and extensions. I know it is possible to do what you are trying to do in a script. And it is possible (in Pro or higher subscriptions) to trigger a script from an automation.
I can pull some sample code for how to do it in a script a bit later if that’s helpful to you!
Seems like the automation does work…
Create a new field of type Multiple Select. I’ll call it “Sum of Multis”
Trigger: When record updated
Action: Update record
So now, whenever you update either Field1 or Field2, after a moment the automation will run and update the 'Sum of Multis" column to contain all the values.
One bug I haven’t had time to iron out is that when Field1 or Field2 are blank, you get a blank item selected in the “Sum of Multis” column. This can be avoided using conditional actions:
@Nathaniel_Grano Hi, thanks for your solution. I tested on my base and it works fine...for the first time. However, as I updated the trigger volume by adding new choices/option to that multiselect field. All the options in the combined field, including the newly added one got consolidated into a lengthy option.
Added (Pineapple) to the trigger field
After automation: (Orange,Apple,Pineapple)
Multiselect field has always been something interesting as I get to know Airtable, however it does not work properly sometimes. If you can help me with this, would be really great.
Hi @ThanhLong ,
I'm having trouble reproducing your issue. Can you give me an example in more detail? Here's what I tried:
1) Set up the example from before with 2 "trigger" columns named "Field1" and "Field2". Each one contained the options: Apple, Banana, Carrot, Grape
2) Set up the automation
3) Create an item with "Apple" in Field 1 and "Banana" and "Grape" in Field 2
4) Automation produces correct value: "Apple", "Banana", "Grape"
5) Add "Pineapple" to Field1 choices and edit the record to include "Pineapple" in Field1.
6) Automation produces correct value of "Apple","Banana","Grape","Pineapple"
What were the steps you followed that led to the wrong outcome?
Hi @Nathaniel_Grano . Did what you said and it works fine but I also get a little blu with no info inside like in your picture above on record B after the "Beta". Why does that happen? How can you create an automation to remove those itens?
What's happening is that the automation merges the values from both trigger columns even if one of those columns is empty. To avoid those empty values, you could change the original automation to use several Conditional Actions instead of a single "Update Record" action. To do this, make the following changes:
If you are on a higher-tiered plan, you could certainly use a script action to combine the fields, ignoring blank ones.
Here's an alternative approach that doesn't require scripts that seems to work:
When multi-select values are copied into a text/formula column, you get a comma-separated list. Our "Calculation" formula combines all of the fields together, adding commas to stitch them together, but skipping fields that have no values. This means calculation will always either be empty or a list of values ending with ", ".
The "Trim" formula removes the trailing ", " if Calculation is not empty.
Our updated automation simply copies the trimmed, merged string back into the multiselect merge field, which does the deduplication work for us automatically.
Edited to correct the TRIM formula 2023-07-24
It worked! This is the final formula I use! Tks a lot for the help! That was a classy move ....rsrsrs
Hi Im trying this as well but the