Skip to main content

Deduplicating names in a text array

  • March 12, 2024
  • 5 replies
  • 48 views

Forum|alt.badge.img+2

Hi,
I hope you can help me, I've searched everywhere and I can't find an answer to my problem.
I work for a training organization. I have a table with students. A table with training session dates. And a table with speakers.

In the dates table, I make a link with the speakers (each speaker can participate on one or more dates)
In the students table, I want to get the names of the speakers of each session, but in a deduplicated way (I want to use these names to print a certificate)
But no matter what I do, I can't remove the duplicates in the names of the speakers.
Airtable considers that the 2 or 3 speakers on that each training session date are different arrays.
I tried the « arrayflatten » and « arrayjoin » fonctions (and a combination of these) but nothing works.
Do you have any idea to ge me solve this ?
Thanks in advance

5 replies

TheTimeSavingCo
Forum|alt.badge.img+31

I don't think you can do this with formulas alone I'm afraid.  As a workaround, you could try:
1. Create a new table and link it to your table
2. Select the "Intervenants" cell and copy the text
3. Paste the copied text into the linked field to the new table

This will give you the unique list of names, and you could create an automation to help you handle this too


ScottWorld
Forum|alt.badge.img+35
  • Genius
  • 9770 replies
  • March 12, 2024

@nicolasguerin 

Did you check out this thread on solving this issue? The trick is that your rollup field should point to a lookup field, not any other type of field.

Otherwise, if that doesn’t work, you can always write a custom JavaScript or use Make’s automations for Airtable to solve this.

I don’t know JavaScript, so I always use Make for things like this.

Make offers dozens of string & array functions, including “split” and “deduplicate”, so you can easily take any string of comma-separated text and quickly remove all the duplicates.

You can also generate your documents & certificates using Make as well.

p.s. If your company has a budget for your project and you’d like to hire an expert Airtable consultant to help you with any of this, please feel free to contact me through my website: Airtable consulting — ScottWorld 


Forum|alt.badge.img+2
  • Author
  • New Participant
  • 1 reply
  • March 12, 2024

@nicolasguerin 

Did you check out this thread on solving this issue? The trick is that your rollup field should point to a lookup field, not any other type of field.

Otherwise, if that doesn’t work, you can always write a custom JavaScript or use Make’s automations for Airtable to solve this.

I don’t know JavaScript, so I always use Make for things like this.

Make offers dozens of string & array functions, including “split” and “deduplicate”, so you can easily take any string of comma-separated text and quickly remove all the duplicates.

You can also generate your documents & certificates using Make as well.

p.s. If your company has a budget for your project and you’d like to hire an expert Airtable consultant to help you with any of this, please feel free to contact me through my website: Airtable consulting — ScottWorld 


Hello @ScottWorld  and thanks for your reply. I looked at the thread and couldn't find a useful answer. I could indeed use Make to get the names and use it to generate my certificates (or use a formula to split the "name array" before calling it into my students table). But i can't figure why isn't there a more intuitive solution within Airtable.


ScottWorld
Forum|alt.badge.img+35
  • Genius
  • 9770 replies
  • March 12, 2024

Yeah, Airtable has a limited set of tools for working with arrays. Did you make sure that your rollup field was pointing to a lookup field? That's the only solution that has worked for others in the past. Otherwise, I would recommend turning to either scripting or Make.


Forum|alt.badge.img+21
  • Inspiring
  • 560 replies
  • March 12, 2024

It's frustrating to handle Array.

Airtable needs to support this with ARRAYUNIQUE(ARRAYFLATTEN(values)).
ARRAYFLATTEN function is not working.