0

Dans le tableau suivant, je voudrais concaténer les nombres de la colonne B, selon la chaîne dans la colonne A:concaténer une plage de cellules selon la valeur adjacente

My table

Par exemple, tous les les nombres adjacents à XX seraient copiés dans une autre cellule dans ce format: 12, 12, 21, 23, 31, 32.

Je peux manuellement concaténer l'ensemble de la colonne B en utilisant:

=ArrayFormula(concatenate(B2:D&", "))

Mais je dois diviser ces valeurs en fonction de la colonne A.

Je peux manipuler ces données dans Excel, Google Sheets ou numéros.

Merci!

Répondre

0

Essayez ceci:

=ARRAYFORMULA({UNIQUE(A1:A5), TRIM(TRANSPOSE(QUERY(IF(transpose(UNIQUE(A1:A5))=A1:A5,B1:B5&",",""),,500000)))}) 

J'espère que vos lignes ne dépassent pas 500000 et vous n'avez pas des blancs.

0

Dans Excel:

=TEXTJOIN(", ",TRUE,IF(A1:A9 = "XX",B1:B9,"")) 

Comme une formule de tableau avec Ctrl-Maj-Entrée au lieu de la touche Entrée.

enter image description here

Dans Google Sheets:

=JOIN(", ",FILTER(B1:B9,A1:A9="XX")) 

enter image description here

+0

Merci - cela fonctionne pour la gamme dans l'exemple. Ma table a des milliers de lignes, et j'aimerais pouvoir obtenir le même effet sans spécifier manuellement la chaîne (par exemple 'XX'). Est-ce possible? – Wiewiorowski

+0

Oui, remplacez simplement '" XX "' par une référence de cellule qui contient les critères que vous voulez. –

+0

Merci encore - donc je veux concaténer 'B: B', puis diviser le tableau en groupes définis dans' A: A'. J'ai essayé '= JOIN (", ", FILTER (B: B, A: A = A: A))' mais il a juste concaténé toutes les valeurs dans la colonne 'B'. Je veux avoir une série de tableaux, plutôt qu'un seul tableau. – Wiewiorowski