web-dev-qa-db-fra.com

Concaténer les valeurs ordonnées dans une seule chaîne

J'ai une feuille de calcul Google dans laquelle une personne ajoute un nom par ligne dans une colonne définie (B). J'ai besoin de générer une chaîne comme "<p>Adam - Becky - John - Robert</p>" dans n seul cellule avec des noms classés par ordre alphabétique.

Je peux trier les noms (dans la deuxième feuille) avec la formule:

=sort(Sheet1!B:B, 1, TRUE)

Mais comment puis-je concaténer ces noms dans une autre cellule (dans la première feuille)?

3
Francesca

J'ai trouvé une autre solution grâce à cet article dans les forums d'assistance de Google .

=arrayformula(concatenate(Proper(unique(upper(query(B2:B31,"select B where B!='' order by B asc",0))))&" - "))

qui capitalise également chaque nom (unique).

Après cela, je génère mon <p> avec ceci:

="<p>- "&D10&"</p>"

(J'ai ajouté le trait d'union au début car j'aurai un trait d'union à la fin)

1
Francesca

Utilisez la fonction JOIN ():

=join(" - ",sort(Sheet1!B:B, 1, TRUE))

SORT () renvoie un tableau de valeurs. JOIN () concatène un tableau avec une chaîne de jointure, dans ce cas "-" sans les guillemets.

4
Karl_S