Concaténation uniquement des cellules remplies

21

J'ai actuellement une feuille de calcul pour garder une trace des scores dans un jeu de cartes. Il peut y avoir entre deux et cinq joueurs. J'ai les éléments suivants:

| Players  |
|----------|
| Dave     |
| Paul     |
| John     |
|          |
|          |

En ce moment j'utilise:

= JOIN( " vs " ; C10:C14 )

Mais le problème est que je me retrouve avec Dave vs Paul vs John vs vs.

Y a-t-il un moyen de le faire dire Dave vs Paul vs Johnmais si j'avais plus de joueurs, Dave vs Paul vs John vs Robavec une seule formule?

Djave
la source

Réponses:

16

Essayez TEXTJOIN :

=textjoin(" vs ",1,C10:C14)
pnuts
la source
2
C'est la meilleure réponse. Il est plus court, plus simple et vous permet d'ignorer les valeurs vides.
Ricardo Amaral
1
Je lis toujours tout pour chercher la meilleure réponse, pas seulement une "réponse de travail" :)
Ricardo Amaral
5

Les deux solutions ci-dessus fonctionnent s'il y a au moins une cellule contenant du texte. Pourtant:

= JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

Reviendrait %%%%si C10: C14 étaient tous vides et.

= JOIN( " vs " ; FILTER(C10:C14; NOT(C10:C14 = "") ))

Reviendrait #N/Asi C10: C14 étaient tous vides.

Cependant, vous pouvez légèrement modifier la première solution pour remplacer les %signes par des chaînes vides en encapsulant la formule avec la SUBSTITUTEfonction comme suit:

=SUBSTITUTE(
   JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0)),    // text_to_search
   "%",                                            // search_for
   ""                                              // replace_with
 )

(Montré sur plusieurs lignes pour plus de clarté)

Kieran Macdonald-Hall
la source
Veuillez noter: "ci-dessus" n'a vraiment aucun contexte dans les réponses, car les réponses peuvent être triées de différentes manières.
ale
4

J'ai trouvé une autre solution:

=JOIN(" vs ",SPLIT(JOIN("%",C10:C14),"%",0))

Le% peut être n'importe quel symbole réellement absent de la liste, comme une virgule, une esperluette ou un point d'interrogation.

dan
la source
Belle alternative !!
Jacob Jan Tuinstra