Récupérer les données que l'on retrouve dans plusieurs feuilles

Bonjour,

Voila je suis confronté à un problème.

Je dispose de 3 feuilles de calcul GSheet qui comporte chacune des codes articles disposés en une seule colonne par feuille.

  • Feuille 1 : 10 000 code articles
  • Feuille 2 : 6 000 code articles
  • Feuille 3 : 800 code articles

J'arrive correctement à récupérer les codes qui sont dans la feuille 1 et présent en même temps dans la feuille 2. (6000 codes)

J'arrive correctement à récupérer les codes qui sont dans le feuille 1 et présent en même temps dans la feuille 3. (800 codes)

J'arrive correctement à récupérer les codes qui sont dans le feuille 2 et présent en même temps dans la feuille 3. (800 codes)

Mais lorsque je souhaite récupérer les codes qui sont à la fois dans les trois feuilles j'obtient un résultat erroné puisque je trouve environ 6000 alors que la feuille 3 ne comporte que 800 codes.

J'ai utilisé la formule suivante :

=NBVAL(filter(indirect(colonneFeuille1);NB.SI(indirect(colonneFeuille3);NB.SI(indirect(colonneFeuille2);INDIRECT(colonneFeuille1)))))

PS: J'ai retirer dans la formule l'accès au colonne des différentes feuilles puisque ce sont des formules un peu barbares pour y arriver car je les obtients de manière dynamique

Es-ce que ma formule est correcte ou exist-t-il une autre manière d'obtenir ce résultat ?

Je vous remercie !

Cordialement,

Bonjour Ops and Co,

Toujours pas trouvé une bonne âme pour se pencher sur ton épineux problème !

Désolé, mais l'énoncé n'est pas très clair, donc pas très engageant.

Je veux bien regarder, mais il faudrait que j'aie accès au fichier des articles avec ses 3 onglets,

et les formules que tu as déjà essayées.

Avec un partage en écriture par lien public sur une copie, un extrait du fichier, ça sera tellement plus simple.

Merci d'avance.

A bientôt

EMX

Merci pour ta réponse mais j'ai trouvé une solution par mes propres moyens.

La difficulté venait du fait que les données étaient présentes sur plusieurs feuilles. Il était alors difficile de les comparer afin de déterminer quelles données est présente dans les trois feuilles en même temps.

Merci pour ta réponse mais j'ai trouvé une solution par mes propres moyens.

La difficulté venait du fait que les données étaient présentes sur plusieurs feuilles. Il était alors difficile de les comparer afin de déterminer quelles données est présente dans les trois feuilles en même temps.

A travers ce problème j'ai soulevé deux solutions. Une solutions avec une formule à étendre, l'autre avec une formule générique.

La solution avec une formule à étendre :

=SI(ET(NB.SI(A:A;A1)>0;NB.SI('Feuille 2'!A:A;A1)>0;NB.SI('Feuille 3'!A:A;A1)>0);A1;"")

La solution avec une formule générique (plus facile) :

=FILTER(A:A;NB.SI('Feuille 2'!A:A;A:A);NB.SI('Feuille 3'!A:A;A:A))

Ces deux formules fonctionnent dans le cas où les données seraient présentes dans la colonne A de chaque feuille. Dans mon cas précis le problème était un petit plus complexe mais cela à fonctionner de la même manière.

Problème résolu !

Merci beaucoup

Cordialement

Bravo d'avoir trouvé et merci pour le retour intéressant sur cet usage de FILTER.

Je m'étonne quand même que ça fonctionne avec NB.SI.

La logique épurée voudrait plutôt ça : =FILTER(A:A;'Feuille 2'!A:A=A:A;'Feuille 3'!A:A=A:A)

On est d'accord, c'est pas loin d'être pareil, surtout si ça marche !

Bonnes suites...

EMX

Oui en effet la formule que tu évoques fonctionne tout à fait.

En effet, dans ma réponse j'avais oublier de présenter une petite chose. Je cherchais à comptabiliser le nombre de référence qui était présente dans les différentes feuilles.

C'est pour cela que dans mon cas j'utilise NB.SI en tant que critère de la fonction FILTER. De même personnellement afin d'arriver à des fins de comptabilisation, j'ai couplé ma formule avec un SI et un NBVAL ce qui nous donne la formule suivante :

=SI(E2=0;0;NBVAL(FILTER(A:A;NB.SI('Feuille 2'!A:A;A:A);NB.SI('Feuille 3'!A:A;A:A)))

Et pour rajouter un peu de complexité au problème mes données n'étaient pas toujours placées au même endroit. Pour cela je réalise un traitement qui me permet de me récupérer dynamiquement la feuille et la colonne où se situe mes données (fonction EQUIV). Ainsi dans mon cas personnel je me retrouve avec la formule suivante. Je vous la donne brute telle que je l'utilise mais elle peut paraître un peu inbuvable :

=SI(OU(E2=0;E3=0;E4=0);0;NBVAL(FILTER(INDIRECT(H4&"!"&H8&":"&H8);NB.SI(INDIRECT(I4&"!"&I8&":"&I8);INDIRECT(H4&"!"&H8&":"&H8));NB.SI(INDIRECT(J4&"!"&J8&":"&J8);INDIRECT(H4&"!"&H8&":"&H8)))))

Je vous remercie

Bonne journée

Rechercher des sujets similaires à "recuperer donnees que retrouve feuilles"