XL 2019 Formule ou VBA intersection tableau selon deux colonnes et une ligne

Loïc DUBOIS

XLDnaute Junior
Bonjour à tous,

Meilleurs voeux pour l'année 2023.

J'ai un soucis que je n'arrive pas à automatiser.

En effet, j'ai un tableau avec deux colonnes de référence (A et B (code entreprise et variable)) et une ligne de référence (ligne 1 (date)). J'aimerais automatiser le processus pour trouver le résultat de l'intersection entre les deux colonnes et la ligne.

Dans mon fichier, la feuille 1 représente le tableau où sont mes données que je dois mettre dans le tableau de la feuille 2. Je dois donc trouver une formule à mettre dans le tableau de la feuille deux qui me renvoie mon résultat. Par exemple, dans la cellule M2 (feuille 2), je dois trouver la valeur qui se situe dans le tableau de la feuille 1 selon le code entreprise (Colonne A de la feuille 2), selon la cellule M1 et selon la date (colonne L de la feuille 2 qui représente la ligne 1 de la feuille 1).

Je ne sais pas si je me suis bien exprimé mais je vous joint le fichier. Je créé également une feuille 3 avec un exemple.

NB : Je ne sais pas pourquoi mais les formules MATCH et RECHERCHEX ne sont pas dispo sous ma version excel...

Merci d'avance,

Loïc
 

Pièces jointes

  • Test pour forum.xlsx
    26.2 KB · Affichages: 4

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

MATCH (EQUIV) vous devez l'avoir
MATCHX et RECHERCHEX sont des fonctions pour excel 365 et plus (2021)

Pour votre problème :
=INDEX(Feuil1!$C$2:$CS$18;EQUIV(Feuil2!$A2;Feuil1!$B$2:$B$17;0); EQUIV(Feuil2!$L2*1;Feuil1!$C$1:$CS$1;0))
et un exemple en feuille Feuil 2 (2) avec un tableau structuré
=INDEX(Feuil1!$C$2:$CS$18;EQUIV([@[Updated at 12:06:48]];Feuil1!$B$2:$B$17;0); EQUIV([@[Date complete]]*1;Feuil1!$C$1:$CS$1;0))
 

Pièces jointes

  • Test pour forum.xlsx
    29.3 KB · Affichages: 2

Loïc DUBOIS

XLDnaute Junior
Merci pour votre réponse.
Je ne savais pas que MATCH correspondait à Equiv. Effectivement je dispose de cette fonction. Petite question la formule fonctionne bien, néanmoins vous ne prenez pas en compte le critère de la variable (M1 et N1) or j'ai une quinzaine de variable et j'aimerais avoir une formule générique qui me permet de la dupliquer selon l'entreprise, la date et la variable). Avez vous une idée ?

Merci d'avance,

Loïc
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Oups j'avais pas vu que votre colonne A de Feuil1 contenait autre chose que Total Revenu,

=INDEX(Feuil1!$C$2:$CS$18;EQUIV($M$1 & Feuil2!$A2;Feuil1!$A$2:$A$17&Feuil1!$B$2:$B$17;0); EQUIV(Feuil2!$L2*1;Feuil1!$C$1:$CS$1;0))

Mais si vous avez d'autres critère à cumuler, il faudrait peut-être passer par Power Query en nommant votre plage de recherche de feuil1
 

Pièces jointes

  • Test pour forum.xlsx
    30.7 KB · Affichages: 6

Loïc DUBOIS

XLDnaute Junior
Dernière question, votre formule à bien l'air de fonctionné dans votre fichier. Néanmoins j'ai l'erreur #VALEUR! qui s'affiche. J'ai remarqué que vous aviez mis les symboles {} mais lorsque je les met cela ne montre que la formule brute. Avez-vous une idée ?

Merci
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

C'est une formule matricielle qui doit être validée par CTRL+MAJ+ENTREE les { et } se mettrons alors tout seuls.
Il ne faut surtout pas les mettre manuellement.
Tapez votre formule normalement dans la barre de formule puis appuyez simultanément sur les touches CTRL+MAJ+ENTREE.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Pour le 18 c'est juste une petite margagne, pour le reste c'est une question de choix personnel, l'important étant d'être cohérent et de faire attention à ce que les EQUIV renvoie le bon index

Dans A1:CS18 la ligne d'index 1 est la ligne 1 de la feuille
Dans A2:CS18 la ligne d'index 1 est la ligne 2 de la feuille
Idem pour les colonnes.
Equiv donne des index de position (ligne ou colonne) relatifs

Attention vos date complete ne sont pas des dates mais des textes !

[Edition] Pour ceux que ça intéresse, une version Power query [/Edition]
 

Pièces jointes

  • PQ-Test pour forum.xlsx
    29.7 KB · Affichages: 2
Dernière édition:

Discussions similaires