Concaténer sans doublon
woods_uzumaki
Messages postés
2
Statut
Membre
-
woods_uzumaki Messages postés 2 Statut Membre -
woods_uzumaki Messages postés 2 Statut Membre -
Bonjour à tous,
Je vais essayer d'expliquer le plus précisément mon problème car pour moi il est loi d'être simple. Et en plus il m'est ultra important (pour le travail).
Lors d'une inscription à une conférence, les étudiants sélectionnent leurs intérêts pour différents domaines d’études.
J'ai donc pour un même étudiant, plusieurs colonnes avec des domaines études sélectionnés (Commerce en colonne A, Digital en B, etc.). Sauf qu'au vue de la base qui m'a été transmis par le presta, il peut y avoir doublon dans les domaines pour une même personne. Exemple : A2=Digital, B2=Commerce, C2=Digital, D2=Commerce, etc.
Pour pouvoir intégrer cette base à notre outil, je dois concaténer dans une même cellule, l'ensemble des domaines sélectionnés par une personne :
- sans doublon (sachant que l'on peut avoir en colonne F le même domaine qu'en A)
- en séparant les domaines par une virgule
- en prenant en compte que si la colonne est vide, ne rien mettre. Ne mettre qu'une virgule lorsque le domaine est ajouté à l'ensemble des domaines car non présent dans les cellules précédentes.
Au départ, j'avais, laborieusement, regroupé tous les domaines dans une cellule, en prenant en compte que certaines cellules étaient vides (donc ne rien ajouter), sinon ajouter une virgule, puis de nouveau formule SI pour ajouter le domaine. Voici la formule :
=CONCATENER(H2;SI(ESTVIDE(I2);"";",");SI(ESTVIDE(I2);"";I2);SI(ESTVIDE(J2);"";",");SI(ESTVIDE(J2);"";J2);SI(ESTVIDE(K2);"";",");SI(ESTVIDE(K2);"";K2);SI(ESTVIDE(L2);"";",");SI(ESTVIDE(L2);"";L2);SI(ESTVIDE(M2);"";",");SI(ESTVIDE(M2);"";M2);SI(ESTVIDE(N2);"";",");SI(ESTVIDE(N2);"";N2))
Je dois donc concaténer l'ensemble des colonnes en une seule, sans doublon dans les domaines, les séparant par une virgule quand un domaine est ajouté (sinon rien), et appliquer cela à tous les étudiants (donc lignes)
Merci d'avance pour votre aide précieuse,
William
Je vais essayer d'expliquer le plus précisément mon problème car pour moi il est loi d'être simple. Et en plus il m'est ultra important (pour le travail).
Lors d'une inscription à une conférence, les étudiants sélectionnent leurs intérêts pour différents domaines d’études.
J'ai donc pour un même étudiant, plusieurs colonnes avec des domaines études sélectionnés (Commerce en colonne A, Digital en B, etc.). Sauf qu'au vue de la base qui m'a été transmis par le presta, il peut y avoir doublon dans les domaines pour une même personne. Exemple : A2=Digital, B2=Commerce, C2=Digital, D2=Commerce, etc.
Pour pouvoir intégrer cette base à notre outil, je dois concaténer dans une même cellule, l'ensemble des domaines sélectionnés par une personne :
- sans doublon (sachant que l'on peut avoir en colonne F le même domaine qu'en A)
- en séparant les domaines par une virgule
- en prenant en compte que si la colonne est vide, ne rien mettre. Ne mettre qu'une virgule lorsque le domaine est ajouté à l'ensemble des domaines car non présent dans les cellules précédentes.
Au départ, j'avais, laborieusement, regroupé tous les domaines dans une cellule, en prenant en compte que certaines cellules étaient vides (donc ne rien ajouter), sinon ajouter une virgule, puis de nouveau formule SI pour ajouter le domaine. Voici la formule :
=CONCATENER(H2;SI(ESTVIDE(I2);"";",");SI(ESTVIDE(I2);"";I2);SI(ESTVIDE(J2);"";",");SI(ESTVIDE(J2);"";J2);SI(ESTVIDE(K2);"";",");SI(ESTVIDE(K2);"";K2);SI(ESTVIDE(L2);"";",");SI(ESTVIDE(L2);"";L2);SI(ESTVIDE(M2);"";",");SI(ESTVIDE(M2);"";M2);SI(ESTVIDE(N2);"";",");SI(ESTVIDE(N2);"";N2))
Je dois donc concaténer l'ensemble des colonnes en une seule, sans doublon dans les domaines, les séparant par une virgule quand un domaine est ajouté (sinon rien), et appliquer cela à tous les étudiants (donc lignes)
Merci d'avance pour votre aide précieuse,
William
A voir également:
- Concaténer sans doublon
- Doublon photo - Guide
- Concatener deux cellules excel - Guide
- Tirage au sort excel aléatoire sans doublon ✓ - Forum Excel
- Excel concatener retour à la ligne - Forum Programmation
- Supprimer doublon excel - Guide
5 réponses
Bonjour
voyez ici
https://www.cjoint.com/c/GGspQcmAMkv
la seule chose à admettre pour ne pas compliquer la formule est que l'édition se termine pas une virgule si le dernier titre est un doublon
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
voyez ici
https://www.cjoint.com/c/GGspQcmAMkv
la seule chose à admettre pour ne pas compliquer la formule est que l'édition se termine pas une virgule si le dernier titre est un doublon
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
Bonjour,
avec une fonction personnalisée :
https://www.cjoint.com/c/GGsqpmBQWbG
eric
PS : remplacer ", " par "," si tu ne veux pas d'espace après la ,
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
avec une fonction personnalisée :
Function concat(plage As Range) As String
Dim c As Range, dict
Set dict = CreateObject("Scripting.Dictionary")
For Each c In plage
If Not dict.exists(c.Value) And c <> "" Then dict(c.Value) = 1
Next c
concat = Join(dict.keys, ", ")
Set dict = Nothing
End Function
=concat(B2:G2)
https://www.cjoint.com/c/GGsqpmBQWbG
eric
PS : remplacer ", " par "," si tu ne veux pas d'espace après la ,
En essayant continuellement, on finit par réussir.
Donc plus ça rate, plus on a de chances que ça marche.(les Shadoks)
En plus du merci (si si, ça se fait !!!), penser à mettre en résolu. Merci
Bonjour.
Il est dommage que ta liste de domaines soit en ligne 1, et ta liste d'étudiants en colonne A. En effet l'outil DONNÉES/Supprimer les doublons ne fonctionne que sur des données en colonne !
Si tu as la possibilité de refaire ta base en permutant lignes et colonnes, tant mieux.
Sinon, il te faut sélectionner ta base A1:N6 en Feuil1, faire Copier, aller en A1 de Feuil2, et faire Collage option Transposer.
Puis faire un Copier-Coller de B8:F14 en B16, en prenant bien soin que la ligne 15 reste parfaitement vide.
Sélectionner B16:B22 et faire DONNÉES/Supprimer les doublons/Continuer avec la sélection en cours
En B24 saisir la formule
Il est dommage que ta liste de domaines soit en ligne 1, et ta liste d'étudiants en colonne A. En effet l'outil DONNÉES/Supprimer les doublons ne fonctionne que sur des données en colonne !
Si tu as la possibilité de refaire ta base en permutant lignes et colonnes, tant mieux.
Sinon, il te faut sélectionner ta base A1:N6 en Feuil1, faire Copier, aller en A1 de Feuil2, et faire Collage option Transposer.
Puis faire un Copier-Coller de B8:F14 en B16, en prenant bien soin que la ligne 15 reste parfaitement vide.
Sélectionner B16:B22 et faire DONNÉES/Supprimer les doublons/Continuer avec la sélection en cours
En B24 saisir la formule
=B16 & SI(B17="";"";"," & B17 & SI(B18="";"";"," & B18 & SI(B19="";"";"," & B19(j'ai ajouté les espaces uniquement pour la lisibilité ; tu peux t'en passer).
& SI(B20="";"";"," & B20 & SI(B21="";"";"," & B21 & SI(B22="";"";"," & B22))))))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
https://www.cjoint.com/c/GGsp1nXbl7v
la cellule doit être formatée en "alignement" retour à la ligne
crdlmnt
Classeur3 seul valable donc
https://www.cjoint.com/c/GGsqokjeynv
crdlmnt