Comparer les nombres dde 2 tableaux.

Bonjour à tous,

J'ai 2 tableaux; je voudrais les comparer de sorte que je puisse savoir quels nombres sont présents sur les 2 .

Attention .  Il s'agit de 2 tableaux assez volumineux. Le premier contient des nombres calculés selon une certaine formule, et le 2ème sont les nombres premiers de 1 à 100 000. J'aurais donc besoin de quelques lignes de code assez solides. 

Avec tous mes remerciements.

Tessel

7 réponses

  1. Contributeur

    Bonjour Tessel.

    Pourquoi faire simple quand on peut faire compliqué ?

    La petite formule de Daniel répond parfaitement à ton besoin, sans avoir du tout besoin de lignes de codes.

    Mes amitiés à vous deux. 


    1. Bonjour Daniel,  

      Un grand Merci pour ta réponse si rapide. Mais je l'ai bien regardée et je ne  la comprends absolument pas. Pourriez vous m'en expliquer les fonctions et les arguments ?  Je connais bien la fonction Si(A;B;C), mais pas du tout la fonction  Equiv(A;B1:B2;C)

      Merci pour vos conseils

      Bonjour Cher Raymond, je pensais à toi en envoyant ma question; j'étais sûr qu'elle ne manquerait pas d'attirer ta curiosité. Merci. J'ajouterai que mes  tableaux sont  assez grands :  10x50  et  10x1000.

      Tessel

      1. Bonjour,

        Il suffit de les consulter.

        https://excel-pratique.com/fr/fonctions/equiv

        La fonction cherche la valeur de la cellule A1 (puis A2 en descendant etc) dans la plage considérée, ici la colonne C, et en retourne la position si elle existe.

        Ici A1 est retrouvé en C2, donc deuxième ligne de la colonne C et le retour exact (paramètre 0) est 2: comme ce retour est numérique la condition ESTNUM renvoie la valeur de A1 qui ne peut être qu'un nombre premier sans quoi on ne le trouverait pas en C.

        Si le nombre en A n'est pas premier, on ne le retrouvera pas en C, la condition échoue et elle retourne "" c'est à dire rien. 

      2. @brucine

        Bonjour,

        Désolé, je n'ai pas vu ta réponse.

        Bonne journée.

        Daniel

    2. Bonjour à tous,

      En E1,la fonction EQUIV recherche A1 en colonne C. S'il le trouve, la fonction renvoie le numéro de ligne, sinon, elle renvoie #NA. Je teste si le résultat avec la fonction ESTNUM. En ce qui concerne notre exemple, EQUIV trouve "3" en C2. J'inscris donc A1 en E1. En E5, 20 n'étant pas dans la liste d ela colonne C, je n'inscris rien.

      Pour une aide complète sur EQUIV, consulte cette page :

      https://support.microsoft.com/fr-fr/excel/functions/match-function

      Daniel


      1. Maintenant, si tu veux les résultats sans trous, utilise :

        =SIERREUR(INDEX(A:A;AGREGAT(15;6;LIGNE($C$1:$C$50000)/ESTNUM(EQUIV($A$1:$A$8;$C$1:$C$50000;0));LIGNE(A1)));"")

        à recopier vers le bas :

        Si tu souhaites des explications sur la formules, dis-le.

        Daniel 


        1. Merci ! Je vais tester.

      2. Bonjour à tous,

        Tu travailles avec quelle version d'excel ?


        Crdlmt

        1. Merci pour ta réponse. Je ne connais pas le N° de ma version Excel; c'est la dernière, mais pas E365. Mon ordinateur est neuf, acheté l'année dernière pendant le BlackFriday.

      3. Bonjour à tous,

        Pour poursuivre l'idée de DjiDji59430 et comme tu as l'air d'avoir une version récente, essaie :

        =FILTRE(A1:A8;ESTNUM(EQUIVX(A1:A8;C:C)))

        Daniel