Concaténer plusieurs colonnes en une seule dans Google Sheets

15

entrez la description de l'image ici

Je veux concaténer / combiner les colonnes A, B et C dans la colonne D comme affiché.

Le nombre d'entrées remplies dans A, B et C variera au fil du temps, donc les adresses de cellule absolues ne peuvent pas être utilisées.

Quelle formule pourrais-je mettre en D1 pour remplir la colonne comme illustré?

Paulb
la source
Je suis conscient que "ajouter" peut avoir été un meilleur vocabulaire que "concaténer". Étant donné que la concaténation est quelque chose que vous faites habituellement avec des valeurs individuelles.
Paulb
1
Peut-être la meilleure réponse pour fusionner pour la manipulation statistique ici où vous n'avez pas besoin de filtrer ici webapps.stackexchange.com/a/69049/66725 Donc, utilisez simplement = {A1:A; B1:B}. Etc pour compter les correspondances uniques dans deux colonnes = count(unique(A1:A; B1:B})).
Léo Léopold Hertz 준영

Réponses:

9

Vous devez filtrer les cellules non vides, puis empiler les résultats ensemble:

={filter(A:A, len(A:A)); filter(B:B, len(B:B)); filter(C:C, len(C:C))}

C'est la même chose que cette réponse de grayob qui est malheureusement enfouie sous des réponses obsolètes.

user79865
la source
1
Fonctionne parfaitement. J'ai vu que Q et je me suis concentré sur le vmerge, sans succès. Dans ce Q, la réponse de grayob est meilleure que la réponse acceptée. Tks.
Paulb
13

Une version plus courte de la formule dans cette autre réponse

=FILTER({A:A;B:B;C:C}, LEN({A:A;B:B;C:C}))
Rubén
la source
3

Un peu plus longtemps, mais peut être limité à un tableau limité (pas des colonnes entières):

=transpose(split(textjoin("|",1,{A1:C4}),"|"))

où l'ordre n'a pas d'importance. Où il fait:

=transpose(split(textjoin("|",1,{A1:A4;B1:B4;C1:C4}),"|"))
pnuts
la source
C'est ma solution préférée pour ce problème, elle ne nécessite pas de nommer toutes les colonnes. Vous pouvez également faire SORT pour la première solution où vous voulez qu'elle soit alphabétisée.
Lou