XL 2013 INDEX + EQUIV + INDIRECT ?

WIsh_

XLDnaute Occasionnel
Bonjour, ci-joint le fichier excel avec un exemple de formule (2ème onglet, cellule AB2)

J'ai utilisé la formule "=INDEX(source!$A$2:$AA$22;EQUIV($A:$A;source!$A:$A;0);21)"

Néanmoins, le résultat renvoyé n'est pas correct... EQUIV renvoie la ligne 2 alors que le résultat se trouve ici sur la ligne 3 de la source. J'ai essayé 1+EQUIV mais ça ne fonctionne pas car parfois

La valeur a afficher dans la cellule AB2 est source!U3, or ici, la formule que j'ai trouvée affiche U2.
Les conditions à respecter sont les suivantes :
Destintation!A2 = source!$A:$A
type = 2
Poste doc. Article = 1 (on est dans REF1 ; la position sera 2 pour mettre dans la colonne REF2, etc.)
valeur F <> 0

Idem pour AC, AD, AE AF et AG… on est sur la mauvaise ligne source.

Peut-être faut-il adjoindre la fonction indirect ?

voir aussi la discussion https://www.excel-downloads.com/threads/copier-cellules-avec-plusieurs-conditions.20039530/

Désolé pour ce "doublon" mais je n'ai pas été très clair dans mon premier poste et personne ne m'a répondu.

Merci d'avance!
 

Pièces jointes

  • test6.xlsx
    18 KB · Affichages: 15

WIsh_

XLDnaute Occasionnel
Re James007,

MErci. re hélas ! Les colonnes A à AA de l'onglet destination ne doivent pas être modifiées.
Le fichier source affiche verticalement différentes opérations pour un même dossier.
L'idée est d'afficher les différentes opérations d'un même dossier en ligne.
Les colonnes A à AA de l'onglet destination correspondent à la ligne 1 de l'onglet source et à l'opération 1 du dossier n°4444444444.

Je cherche donc une formule avec des conditions mais qui prend sa source dans l'onglet source.
Il n'y a pas d'erreur dans les colonnes A à AA de l'onglet destination...

arf!
Merci quand même James.

Je me disait avec une fonction indirect imbriquée avec des SI et index/EQUIV mais j'ai pas encore réussi :)
 

WIsh_

XLDnaute Occasionnel
Re James,

La case C2 de l'onglet destination doit rester "1".
Donc si la formule cherche C2 =1 dans la colonne C de l'onglet "source", elle ne renverra pas la ligne 2 sur laquelle la donnée qu'on veut rapporter se trouve.

Ou si non je ne comprends plus rien. C'est bien possible :)
 

James007

XLDnaute Barbatruc
Dans l'ordre ...

Dans ton onglet Destination, ta référence est composée de la concaténation de A2,C2 et F2 ...

Ces trois éléments combinés se retrouvent tous les trois dans ton onglet Source ... à la Ligne 2 ... !!!

Pour trouver la ligne 3 ... il faut que le Type en Colonne C soit égal à 2 ...

J'espère que cela clarifie les choses ;)
 

WIsh_

XLDnaute Occasionnel
Re James,

Dans destination, la référence C2 est 1et non 2. Donc les valeurs renvoyées par la formule en AB,AC, AD, etc. ne sont pas correctes.
AC devrait être égal à la valeur présente dans source!I3. Et ici, AC = source!I2...
 

Pièces jointes

  • re_Correction Test6.xlsx
    18.4 KB · Affichages: 3

WIsh_

XLDnaute Occasionnel
Re James,

Je sais je ne suis pas très clair.
Je retente avec un nouveau fichier joint.

J'ai un tableau source dans le 1er onglet.
J'ai un tableau que je veux avoir dans le second onglet.

Les lignes pour lesquels la valeur de la colonne C est "1" servent de bas au 2ème onglet.
Dans le 2ème onglet, à la suite de ces lignes, je veux reprendre certaines données de l'onglet 1 source qui répondent aux conditions suivantes :
- valeur de la donnée dans le colonne C plus grande que 1;
- valeur de la donnée présent dans la colonne P plus petite ou plus grande que 0.

J'ai mis en surbrillance les données de l'onglet 1 source que j'aimerai ajouter dans les colonnes aux couleurs correspondantes de l'onglet 2 destination.

Merci en tout cas pour ton aide et surtout pour ta patience.
 

Pièces jointes

  • Test7.xlsx
    18.8 KB · Affichages: 4

Dugenou

XLDnaute Barbatruc
Bonjour,
Voir en PJ si j'ai compris les explications :
en AB2 : =INDEX(Source!$U$1:$U$1000;EQUIV($A2&2&$F2;Source!$A$1:$A$1000&Source!$C$1:$C$1000&Source!$F$1:$F$1000;0)) en matriciel
de même en AC =INDEX(Source!$I$1:$I$1000;EQUIV($A2&2&$F2;Source!$A$1:$A$1000&Source!$C$1:$C$1000&Source!$F$1:$F$1000;0))
et AD =INDEX(Source!$P$1:$P$1000;EQUIV($A2&2&$F2;Source!$A$1:$A$1000&Source!$C$1:$C$1000&Source!$F$1:$F$1000;0))
Attention à ne pas utiliser des colonnes entières (A:A) dans les formules matricielles : les temps de calculs deviennent inacceptables. Mieux vaut prévoir large (même 5000 lignes) plutôt que les 1 400 000 si vous ne précisez pas.
Cordialement
 

Pièces jointes

  • wish.xlsx
    19.4 KB · Affichages: 11

WIsh_

XLDnaute Occasionnel
Bonjour Dugenou,

Ca à l'air de fonctionner. Et c'est bien ce que m'avait dit @James007 auprès duquel je m'excuse pour mon ignorance. Je devais remplacer C2 par 2...

Par contre je souhaiterais, lorsque la colonne Source!$U$1:$U$1000 est égale à "", cela renvoie la valeur de Source!$E$1:$E$1000. N'est-ce pas avec ESTNA ?
Colonne AC, les valeurs de la colonne Source!$I$1:$I$1000 ;
Colonne AD, les valeurs de la colonne Source!$P$1:$P$1000;
etc.

merci encore @Dugenou et déjà pour cette clarté et le conseil de limitation des colonnes pour les matrices!
 

Discussions similaires

Statistiques des forums

Discussions
311 740
Messages
2 082 047
Membres
101 880
dernier inscrit
Anton_2024