Excel - Fusionner les lignes avec des valeurs communes et concaténer les différences dans une colonne
Je voudrais fusionner les lignes avec des valeurs communes et concaténer les différences dans une seule colonne.
Je pense que la meilleure chose à faire est de vous montrer un exemple.
D'entrée:
Customer Name | NEW YORK | ALBANY
Customer Name | NEW YORK | CLINTON
Customer Name | NEW YORK | COLUMBIA
Customer Name | NEW YORK | DELAWARE
Customer Name | NEW YORK | DUTCHESS
Customer Name | VERMONT | BENNINGTON
Customer Name | VERMONT | CALEDONIA
Customer Name | VERMONT | CHITTENDEN
Customer Name | VERMONT | ESSEX
Customer Name | VERMONT | FRANKLIN
De sortie souhaité:
Customer Name | VERMONT | BENNINGTON,CALEDONIA,CHITTENDEN,ESSEX,FRANKLIN
Customer Name | NEW YORK | ALBANY,CLINTON,COLUMBIA,DELAWARE,DUTCHESS
Je ne vois quelques autres posts sur ce sujet, mais je ne pense pas qu'ils étaient exactement ce que je cherchais à faire.
- Voulez-vous d'utiliser la macro ou excle formule? veuillez donc nous votre travail.
- J'ai rien fait d'autre que de chercher des réponses à ce jour. Je n'ai pas essayé encore rien d'autres que des fonctions intégrées. Encore une chose que j'ai oublié de mentionner, c'est que ces lignes pourraient répéter deux ou cinquante exemplaires seulement avec les comtés qui sont différents. Donc j'aurais besoin d'obtenir de l'etat et de nom du client fusionné, avec les comtés concaténées.
- Quelqu'un aurait-il une formule pour cela? J'ai besoin de faire ce genre de chose pour créer une gérable modèle et la plupart des gens ne savent pas comment gérer les macros...
Vous devez vous connecter pour publier un commentaire.
Si par
|
vous dire separete cellule, puis la suite de la macro (Excel 2007) devrait faire l'affaire (vos données commence dans la cellule A1):Dans une nouvelle feuille, vous pouvez utiliser ces formules pour créer une liste des noms des clients et des états.
Vous devez utiliser deux fonctions de coordination, dans une nouvelle feuille entrez la fonction suivante dans
A2
et de la fonction suivante dans
B2
Pour que cela fonctionne, les besoins suivants pour être vrai
Sheet2
en conséquence)Sheet1!$A$2:$A$6
etSheet1!$B$2:$B$6
devrait être modifié de (nom de la feuille et de la gamme) pour contenir la liste complète de vos noms de client et des états, respectivement. Si la liste est trop longue, la dernière entrée dans votre liste de valeurs uniques sera b0
Sheet2!A2
etSheet2!B2
respectivementctrl+alt+enter
A2
etB2
comme un tableau, copier et coller les formules vers le basColumn A
etColumn B
jusqu'unique les noms n'apparaissent plus.(Cette réponse est adopté à partir de cette question. Il y a quelques variantes comme d'autres réponses)
Utiliser un tableau de la fonction de retour dans les comtés de
ColumnC
. Collez la formule dansC2
comme un tableau (avec mise à jour des références), puis copiez-le dans la liste.Bref explination sur la façon dont ces fonctions de travail:
-Fonction 1:
COUNTIFS
ressemble à votre source de données, et renvoie un tableau avec1
si il est déjà dans la liste, et un0
si elle ne l'est pas.MATCH
regarde leCOUNTIFS
tableau, et identifie le premier0
INDEX
ressemble à votre source de données, et renvoie la ligne identifiée parMATCH
-Fonction2:
IF
fonction crée deux tableaux deTRUE
ouFALSE
selon que la source de données correspond à l'unique client et de l'état de la ligne.TRUE
seulement si les deux entrées ont étéTRUE
. (ce qui signifie à la fois le client et de l'état appariés)IF
instruction renvoie le comté de si vrai, et si elle est fausse, et la cellule vide""
TEXTJOIN
filtre les cellules vides (c'est ce Que leTRUE
est en train de faire) et se joint à eux avec une virgule et un espace (le délimiteur).Dans le lien hypertexte ci-dessous, vous trouverez la solution à cette question. Recherchez la section "Comment combiner les lignes en double dans l'une (en gardant les valeurs uniques uniquement)"
Comment Fusionner des Lignes Pour de nombreux Scénarios
Mise à jour: Le complément qui effectue la tâche n'est pas libre, mais il y a un essai gratuit de 15 jours la version