J'ai une longue colonne de cellules Google Sheet dont le contenu ressemble à ceci:
#text: Jacob Zuma
@domain: https://www.theguardian.com/world/zuma
#text: World news
@domain: https://www.theguardian.com/world/world
#text: ANC (African National Congress)
@domain: https://www.theguardian.com/world/anc-african-national-congress
#text: South Africa
@domain: https://www.theguardian.com/world/southafrica
#text: Africa
@domain: https://www.theguardian.com/world/africa
J'ai besoin que ça ressemble à ceci:
Jacob Zuma, World news, ANC (African National Congress), South Africa, Africa
En gros, j'essaie de trouver un moyen de supprimer tous les en-têtes (# text + @ domain) et les URL, et de ne placer que les sujets eux-mêmes, tous alignés, séparés par des virgules.
J'apprécierais de l'aide pour savoir comment le faire.
Voici une solution possible.
Premièrement, je suppose que toutes vos données se trouvent dans la colonne a de la feuille et que chaque ligne de texte séparée par une ligne vierge représente une cellule. De plus, je suppose que le motif de la colonne a se répète exactement après 5 cellules.
Collez la formule suivante dans la colonne b:
=trim(REGEXEXTRACT(A1,"(?:\s)[^\n]*"))
Collez la formule suivante dans la colonne c:
=JOIN(", ",indirect(ADDRESS((row()-1)*5+1,2)&":"&ADDRESS((row())*5,2)))
Votre liste de textes souhaités sera dans la colonne c.
Je pense que la regex est exagérée ici. Manière non regex -
En supposant que la plage de cellules A1: A5 contient les mots-clés de votre sujet après le tri, essayez cette formule dans la cellule contenant la liste séparée par des virgules.
=ArrayFormula(concatenate(A1:A5&", "))
En supposant que les chaînes de la colonne A, essayez
=Textjoin(", ", 1, ArrayFormula(if(len(A1:A), regexextract(A1:A, "\s(.+)\n"),)))
et voir si ça marche?
(Changer la gamme en fonction).