Vérification de listes

Bonjour,

J'essaie de vérifier si deux listes sont identiques avec la formule suivante :

=SI(NBVAL(D1:D17)=SOMMEPROD((NB.SI(D1:D17;Feuil2!E1:E17)*1));"OK";"NON OK")

Les colonnes comprennent du texte et des nombres. J'ai pris la formule d'un de vos sujets malheuresement, le résultat affiche "non ok" alors que mes deux colonnes sont du copier/coller.

Merci de vos réponses

Cdlt

5 réponses

  1. Bonjour,

    Tu peux commencer par vérifier chacune des valeurs :

    =NBVAL(D1:D17)

    =SOMMEPROD((NB.SI(D1:D17;Feuil2!E1:E17)*1)

    A+
    0
    1. Bonjour,

      Pour la 1ère formule, résultat 17
      Pour la seconde, résultat 257

      C'est bizzard car les colonnes sont identiques, je ne comprend pas.

      P.S : tu as oublié une parenthèse, ce qui donne : SOMMEPROD((NB.SI(D1:D17;Feuil2!E1:E17)*1))

      Merci de ton aide.
      0
      1. La formule n'étant pas en cause, il faut chercher pourquoi tu as cette différence sur 240 cellules.

        Il faudrait que tu joignes ton fichier anonymisé.
        Tu peux utiliser https://www.cjoint.com/

        A+
        0
        1. http://www.cjoint.com/data3/3DnqPicsvuF.htm
          0
      2. La formule =SOMMEPROD((NB.SI(D1:D17;Feuil2!E1:E17)*1)) ne donne le résultat attendu qu'avec des valeurs distinctes.

        Pour comprendre, tu peux décomposer la formule :

        =SOMMEPROD((NB.SI(D1:D17;Feuil2!E1)*1)) renvoie 16, à savoir le nombre de valeur dans la plage D1:D17 qui sont égales à Feuil2!E1.

        =SOMMEPROD((NB.SI(D1:D17;Feuil2!E2)*1)) renvoie 16 également,

        etc...

        Il n'y a que =SOMMEPROD((NB.SI(D1:D17;Feuil2!E14)*1)) qui renvoie 1

        Au final, la somme de toutes ces valeurs donne bien 257.

        A+
        0
        1. Au final, je comprend pas. Comment vérifier que la colonne D1:D17 = Feuil2 E1:E17

          Que dois être le résultat, je suis encore amateur.

          Merci pour ton aide
          0
      3. Bonjour,

        Si l'ordre n'a pas d'importance, tu peux utiliser une mise en forme conditionnelle.
        La plage Feuil2!D1D17 étant nommée "PlageF2", tu crées une MFC avec la formule
        =NB.SI(PlageF2;$D1)=0 applicable sur Feuil1!C1:C7
        Tu peux ainsi visualiser quelles sont les valeurs de la Feuil1 qui sont absentes dans la Feuil2.

        A+
        0
        1. Bonjour,

          Je ne comprends pas trop l'intérêt vu que mon exemple, c'est du copier/coller d'un tableau, les valeurs sont forcément identique. A quoi va me servir cette formule ici ?
          0
        2. Ok merci, c'est niquel. Je ne sais pas pourquoi on se complique la tâche. Bonne soirée
          0