J’ai une table avec une colonne qui contient la liste des noms d’un groupe de personnes. Les noms sont séparés par une virgule.
Il y a ainsi dans cette table un ligne par groupe , avec une colonne “nom du groupe“ et une colonne membres du groupe , les noms des membres sont séparés par une virgule.
Je n’ai pas le choix , mes données d’entrée sont structurées comme ça.
Je cherche un moyen de créer automatiquement une table avec une ligne par nom , et avec une colonne nom et une colonne groupe d’appartenance.
Existe-t-il un moyen de le faire avec Grist?
merci pour votre aide.
Voici une solution basée sur la formule du post précédent, en 2 étapes :
1/ Répartir les noms de groupes
Faire une colonne “nb mails” dans la table de mails pour calculer le nb de mails par groupe (il vaudrait mieux transformer en liste et compter le nb d’éléments, que compter le nb de virgules..mais flemme)
Faire une table intermédiaire avec une formule qui transforme la colonne de noms de groupe en liste. La formule utilise le nb de mails par groupe pour écrire X noms de groupe s’il contient X mails.
dans la table finale, ajouter plein de lignes vides (il faut qu’elle soit prête à “accueillir” le résultat de la formule) et utiliser la formule pour répartir les noms de groupe dans chaque ligne
Utiliser la formule pour éclater, cette fois-ci sur la colonne mails. Il faut ajouter un petit calcul pour que l’id reparte à zéro à chaque nouveau groupe.
# premier id de ce groupe
premier_id = Table1.lookupOne(groupe=$groupe).id
Mails.lookupOne(groupe=$groupe).mails.split(",")[$id - premier_id - 1]