Mettre côte à côte les cellules ayant un contenu similaire.

hugoal54 Messages postés 5 Statut Membre -  
ccm81 Messages postés 11033 Statut Membre -
Bonjour,
Dans le cadre d'un stage professionnel j'ai extrait des données de deux logiciels différents qui ont pour forme "Id de la ressource" "Valeur de la ressource" dans une seule cellule. J'ai donc deux colonnes la première fait 30000 lignes et la seconde 3000. Il faut que je puisse mettre les "Id de la ressource" identique côte à côte afin de pouvoir comparer la "Valeur de la ressource".
Je n'ai pour le moment pas réussi à trouver la solution si ce n'est de le faire à la main ce qui serait beaucoup trop long.
Merci d'avance.

4 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    votre question mérite la mise à disposition d'un modèle de vos données, que vous pouvez déposer (avec quelques explications) sur
    https://www.cjoint.com/
    en revenant ici coller le lien donné par le site
    crdlmnt
    0
    1. hugoal54 Messages postés 5 Statut Membre
       
      https://www.cjoint.com/c/FDsmhd4c5TJ
      Voilà le lien c'est un échantillon avec un peu plus de 2000 lignes.
      Pour résumer je souhaite que les valeurs de droites qui ont leurs identiques à gauche se place automatiquement à côté dans la colonne B par exemple.
      Étant donné que c'est un échantillon toutes les valeurs de droites ne peuvent pas avoir de doublon. J’espère avoir bien explique mon problème.
      En vous remerciant des vos réponses.
      0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      désolé de reposer une question, mais je ne vois dans votre modèle aucune valeur de droite (en A) ayant son identique à gauche (en C)

      sachant que j'utilise cette formule de B1 à B 2158 dans un premier temps
      =SI(NB.SI(C:C;A1);A1;"")

      et ensuite, pour ne chercher que la référence celle ci:
      =SIERREUR(RECHERCHEV(GAUCHE(A2;TROUVE(" ";A2)-1)&"*";C:C;1;0);"")
      qui ne prend en compte que la partie avant le blanc dans les listes

      et à priori sauf erreur, il n'y a rien à tirer des valeurs situées après le blanc dans chacun des codes?

      alors qu'appelez vous les valeurs de droite identiques à celle de gauche, pouvez vous donner un exemple avec des adresses de cellules réputées "identiques"?

      à vous lire
      0
  2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
     
    re-bonjour,

    je n'ai trouvé que 2 valeurs correspondantes :
    00000014X1_u12 3.060000
    00000014X1_u13 3.060000
    et
    00000014X1_U12 3.16
    00000014X1_U13 3.16

    est-ce normal?

    Le principe retenu : identifier les codes (à gauche du 1er espace) puis repérer les lignes où ces codes apparaissent dans l'autre colonne pour les faire apparaître via PETITE.VALEUR(les lignes trouvées;1 puis 2 puis 3 ...)

    la formules matricielle utilisée (en D1) :
    =SI(SOMMEPROD(--(GAUCHE(A1;TROUVE(" ";A1)-1)=GAUCHE($C$1:$C$2158;TROUVE(" ";$C$1:$C$2158)-1)))<COLONNES($D$1:D$1);"";INDEX($C$1:$C$2158;PETITE.VALEUR(SI(GAUCHE(A1;TROUVE(" ";A1)-1)=GAUCHE($C$1:$C$2158;TROUVE(" ";$C$1:$C$2158)-1);LIGNE($C$1:$C$2158);9^9);COLONNES($D$1:D$1))))

    à recopier verticalement et, s'il y a des valeurs multiples, vers la droite.

    ceci dit, sur 30 000 lignes, ça risque de chauffer un peu.

    cordialement
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Exact pour la similitude des codes JvDo,(Salut) je les retrouve bien en B avec la formule proposée:
      =SIERREUR(RECHERCHEV(GAUCHE(A2;TROUVE(" ";A2)-1)&"*";C:C;1;0);"")

      sur les lignes 846 et 847

      crdlmnt
      0
      1. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859 > Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Salut Vaucluse,

        oui, ta formule fonctionne nickel.

        j'étais parti sur des hypothèses de plusieurs occurrences pour un même identifiant, d'où mes petite.valeur() et mes décomptes de multiplicité à rallonge .....

        mes formules sont bien souvent un empilement de contournements de blocages intermédiaires.
        alors, quand je commence mal ..... je fais un mille-feuilles !

        enfin ......

        cordialement
        0
    2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      ... en fait voila ce que ça pourrait donner (raisonnablement) sur 2000lignes
      sur 30000... ça reste à valider!
      https://www.cjoint.com/c/FDsqLf71IoX
      crdlmnt
      0
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    Bonjour à tous

    J'ai tenté une petite macro
    http://www.cjoint.com/c/FDsslbk6gLQ

    Cdlmnt

    Attention. lien modifié
    0
  4. elpollomaravilloso Messages postés 39 Statut Membre 6
     
    comment comparer 30000 et 3000 ?
    avec excel, on utilise des formules...
    comment comparer deux valeurs entre elles ?

    SI(cellule résultat1=cellule résultat2; "ok";"erreur") doit renvoyer ok si les 2 cellules ont la même valeur.
    -1
    1. hugoal54 Messages postés 5 Statut Membre
       
      Mon problème est assez difficile à expliquer. Parmi les 30000 lignes de gauche il y a 3000 "valeur de la ressource" identiques au 3000 lignes de droite. Je ne veux pas que le tableau me dise si les "Valeurs de la ressource" sont identiques mais juste que les 3000 lignes de droite s’aligne avec les 3000 identiques à gauche. Afin que l'on puisse observer à l'aide d'une recherche les deux valeurs côte à côte.
      En vous remerciant de vos réponses.
      0
    2. JvDo Messages postés 1924 Date d'inscription   Statut Membre Dernière intervention   859
       
      Bonjour,

      si tu avais fourni un fichier (comme te l'a demandé Vaucluse) tu aurais déjà des réponses.

      cordialement
      0