Renvoyer à tel ou tel matrices fonction de

Bonjour,

J'ai un tableau lié à plusieurs matrices.

- Dans le tableau, la colonne J (RESULTAT) renvoie à une valeur de la 1ère Matrice (TITLE I), en fonction des valeurs mises en colone H (123) et I (ABC)

Ce que je recherche:

vous voyez les lignes 1 et 2 fonctionnent avec la matrice "Title I" pour le RESULTAT (les options sont indépendantes). Mais j'ai fait ça manuellement. ce que je veux, c'est que par ex, en colonne G: ce soit la matrice "Title I" PARCE QUE 3 conditions ont été réunis: colonne D il faut "je" + colonne E "suis + colonne F "là" (pas besoin de la casse et il n'y aura QUE ces mots dedans donc on peut faire un SI avec termes exacts).

Donc : ligne 1: du fait de D+E+F, c'est la matrice TITLE I qui sera utlisée pour trouver colonne J (RESULTAT).

Je sais pas si le mieux est de mettre ce résultat en G, et ensuite on adapte les colonne H, I et J

OU ALORS, s'il faut faire un truc bien complexe en faisant une très longue formule pour les colonnes H, I, et J qui en fonction de D; E, ou F, pourra renvoyer à 4 Matrices différentes!!

Merci.. dites moi si je dois éclaircir tel ou tel point !!

11jojo789-2.xlsx (16.95 Ko)

Re-

je n'ai pas tout compris,

ton début d'explication concerne la Feuil1 je pense, alors que le reste passe sur l'autre feuille, mais du coup les colonnes on ne sait plus lesquelles

quoi qu"il en soit, il faut donner à tes "matrices" la forme de "tableaux excel" comme ci-joint

j'ai ai mis les noms TITLE_I et suivants, avec un _ à la place de l'espace qui n'est pas accepté dans les noms de tableaux

il faut aussi mettre en adéquation le contenu de la colonne G avec le vrai nom de tableau

... on pourra alors utiliser la fonction INDIRECT dans la formule

mais là où je suis perdu, c'est avec tes conditions ... où se trouvent-elles, à quoi font-elles référence ?

donc ici je me suis juste focalisé sur le choix de la bonne matrice (tableau).

=INDEX(INDIRECT(G3 & "[" & I3 & "]");EQUIV(H3;INDIRECT(G3 & "['#]");0))
7jojo789-2-1.xlsx (16.54 Ko)

Salut Steelson

Merci je vois que t'y a passé du temps.

bon la feuil1 il fallait pas l'utiliser en fait c'est l'autre tableau mais t'inquiète: j'ai reporté tout ce que tu m'as indiqué sur la bonne feuille.

Par contre ta formule je ne comprends pas comment elle fonctionne du coup je ne sais pas comment l'intégrer/la fusionner avec ma formule (qui est donc en cellule J2).

Pour les variantes, regardes les colonnes D, E, et F: la condition pour qu'on choisisse la matrice I est que le texte exacte de ces 3 colonnes se retrouve. (en imagé: c'est que si on voit la phrase "je suis là" que la matrice 1 sera utilisée).

question: a quoi sert le "#" que tu as mis dans les tableaux ?

6jojo789-3.xlsx (17.49 Ko)

Au départ, la formule est comme ceci :

=INDEX(TITLE_I[B];EQUIV(H3;TITLE_I['#]);0)

en pointant sur le tableau TITLE_I

Dans un tableau, quand on se met à sélectionner une colonne, elle s'écrit NomDuTableau[NomDeLaColonne], c'est ce qu'on retrouve dans la formule au niveau de l'EQUIV TITLE_I['#] et au niveau de l'INDEX TITLE_I[B].

Ensuite on retouche la formule pour changer NomDuTableau par la variable G3 et NomDeLaColonne par la variable I3, en indiquant à excel qu'il s'agit d'une formule indirecte.

Il faut être précis dans la mise en place, mais cela permet de rendre variable le nom du tableau et de la colonne.

question: a quoi sert le "#" que tu as mis dans les tableaux ?

Excel me refusait dans la formule INDIRECT le nom TITLE_I comme nom de la première colonne (je n'ai jamais compris pourquoi du reste), j'ai donc externalisé ce nom et remplacé par n'importe quoi, # en l'occurrence !

Bon, je charge ton fichier et je jette un œil !

edit :

bon la feuil1 il fallait pas l'utiliser en fait c'est l'autre tableau mais t'inquiète: j'ai reporté tout ce que tu m'as indiqué sur la bonne feuille.

pas tout à fait, les noms des tableaux doivent être ce qui se trouve en colonne G !


Pour les variantes, regardes les colonnes D, E, et F: la condition pour qu'on choisisse la matrice I est que le texte exacte de ces 3 colonnes se retrouve. (en imagé: c'est que si on voit la phrase "je suis là" que la matrice 1 sera utilisée).

mais se retrouve où ??? dans quelle cellule ? c'est ce qui me bloque depuis le début, déjà évoqué ci-dessus ...

mais là où je suis perdu, c'est avec tes conditions ... où se trouvent-elles, à quoi font-elles référence ?

Au départ, la formule est comme ceci :

=INDEX(TITLE_I[B];EQUIV(H3;TITLE_I['#]);0)

en pointant sur le tableau TITLE_I

Dans un tableau, quand on se met à sélectionner une colonne, elle s'écrit NomDuTableau[NomDeLaColonne], c'est ce qu'on retrouve dans la formule au niveau de l'EQUIV TITLE_I['#] et au niveau de l'INDEX TITLE_I[B].

Ensuite on retouche la formule pour changer NomDuTableau par la variable G3 et NomDeLaColonne par la variable I3, en indiquant à excel qu'il s'agit d'une formule indirecte.

Il faut être précis dans la mise en place, mais cela permet de rendre variable le nom du tableau et de la colonne.

question: a quoi sert le "#" que tu as mis dans les tableaux ?

Excel me refusait dans la formule INDIRECT le nom TITLE_I comme nom de la première colonne (je n'ai jamais compris pourquoi du reste), j'ai donc externalisé ce nom et remplacé par n'importe quoi, # en l'occurrence !

bonsoir

cela est certainement du à l'utilisation de l'underscore ,j'ai remarqué que Indirect n'était pas copain avec

cordialement

merci Tulipe pour ce tuyau, je vais essayer du coup !

In fine, j'avais dû faire une fausse manip car cela fonctionne avec _, pftt quel étourdi j'étais !

J'enlève donc # et le remplace par TITLE_X

J'attends le reste des explications !

Une remarque que j'ai oubliée pour jojo789 : l'écriture en Tableau, indépendamment de l'utilisation de INDIRECT, simplifie la formule et évite de devoir faire un equiv sur les en-têtes ! B est ici directement appelé dans la formule.

=INDEX(TITLE_I[B];EQUIV(H3;TITLE_I[TITLE_I]);0)

En passant ensuite en INDIRECT la casse est "libre" : b ou B.

11jojo789-3.xlsx (17.00 Ko)

bon la feuil1 il fallait pas l'utiliser en fait c'est l'autre tableau mais t'inquiète: j'ai reporté tout ce que tu m'as indiqué sur la bonne feuille.

pas tout à fait, les noms des tableaux doivent être ce qui se trouve en colonne G !


Pour les variantes, regardes les colonnes D, E, et F: la condition pour qu'on choisisse la matrice I est que le texte exacte de ces 3 colonnes se retrouve. (en imagé: c'est que si on voit la phrase "je suis là" que la matrice 1 sera utilisée).

mais se retrouve où ??? dans quelle cellule ? c'est ce qui me bloque depuis le début, déjà évoqué ci-dessus ...

[b]je l'ai indiqué dès le premier message: colone G "ce que je veux, c'est que par ex, en colonne G: ce soit la matrice "Title I" PARCE QUE 3 conditions ont été réunis: colonne D il faut "je" + colonne E "suis + colonne F "là"

[/b]

mais là où je suis perdu, c'est avec tes conditions ... où se trouvent-elles, à quoi font-elles référence ?

[Surligner]les conditions mais c'est la même question en fait, voir ce que j'ai remis ci dessus.

souvent une condition repose sur une seul cellule: ex dans la cellule FF y'a le mot "tasse", alors dans la cellule GG le résultat sera "accepté". et là il y a pas une mais trois conditions. et le résultat c'est que ça renvoie à une matrice.

Désolé si c'est pas clair, pas facile de bien expliquer

Pas plus clair mais je vais essayer de traduire ceci :

colonne D il faut "je" + colonne E "suis + colonne F "là"

en utilisant ceci :

=ESTERREUR(CHERCHE("je";D2)+CHERCHE("suis";E2)+CHERCHE("là";F2))

comme je n'ai pas compris non plus les options

9jojo789-3.xlsx (16.81 Ko)

Une remarque que j'ai oubliée pour jojo789 : l'écriture en Tableau, indépendamment de l'utilisation de INDIRECT, simplifie la formule et évite de devoir faire un equiv sur les en-têtes ! B est ici directement appelé dans la formule.

=INDEX(TITLE_I[B];EQUIV(H3;TITLE_I[TITLE_I]);0)

En passant ensuite en INDIRECT la casse est "libre" : b ou B.

J'avais précisé que la casse je m'en fiche (donc libre en effet) pour ne pas compliquer la formule,

mais là j'ai l'impression que ça la complique de ne pas la mettre la casse?? tu vois si c'est le cas, autant s'enlever cette contrainte et simplifier les formules

La dernière version du fichire Excel ne marche pas pour la colone J (RESULTAT):

si on change une lettre colone I (ABC), ex: je mets E, y'a plus de résultat en J

Pas plus clair mais je vais essayer de traduire ceci :

colonne D il faut "je" + colonne E "suis + colonne F "là"

en utilisant ceci :

=ESTERREUR(CHERCHE("je";D2)+CHERCHE("suis";E2)+CHERCHE("là";F2))

parce que tu crois que tu es clair dans tes explications

tu m'as donné une bonne formule, on est sur la bonne voie c'est bon

donc en partant de ta formule, il faut en plus:

  • si les 3 valeurs sont là: au lieu de VRAI ce soit la matrice voulue qui ressorte (ex: TITLE_I)
  • sachant que si dans les matrices on a par ex "je" "suis" "ici" il faudra que ça dirige vers une autre matrice

Une remarque que j'ai oubliée pour jojo789 : l'écriture en Tableau, indépendamment de l'utilisation de INDIRECT, simplifie la formule et évite de devoir faire un equiv sur les en-têtes ! B est ici directement appelé dans la formule.

=INDEX(TITLE_I[B];EQUIV(H3;TITLE_I[TITLE_I]);0)

En passant ensuite en INDIRECT la casse est "libre" : b ou B.

J'avais précisé que la casse je m'en fiche (donc libre en effet) pour ne pas compliquer la formule,

mais là j'ai l'impression que ça la complique de ne pas la mettre la casse?? tu vois si c'est le cas, autant s'enlever cette contrainte et simplifier les formules

Non, ce que je voulais dire, c'est que c'est en plus un avantage de la structure tableau que tu dois absolument utiliser dans ton cas pour simplifier.

La dernière version du fichire Excel ne marche pas pour la colone J (RESULTAT):

si on change une lettre colone I (ABC), ex: je mets E, y'a plus de résultat en J

forcément ! je ne vois pas de e ou E dans les en-tête de colonnes de tes matrices !

  • si les 3 valeurs sont là: au lieu de VRAI ce soit la matrice voulue qui ressorte (ex: TITLE_I)
  • sachant que si dans les matrices on a par ex "je" "suis" "ici" il faudra que ça dirige vers une autre matrice

Je suis bouché, je n'ai toujours pas compris !

1- ce qui est fait, et bon, sur ce que j'ai compris, c'est une formule qui tient compte du nom d'un tableau (que tu appelles matrice) dans une variable ! ouf !! avec la fonction INDIRECT

2- ce que je ne comprends pas depuis le début, c'est ceci :

sachant que si dans les matrices on a par ex "je" "suis" "ici"

dans quelle matrice ? où ?

La dernière version du fichire Excel ne marche pas pour la colone J (RESULTAT):

si on change une lettre colone I (ABC), ex: je mets E, y'a plus de résultat en J

forcément ! je ne vois pas de e ou E dans les en-tête de colonnes de tes matrices !

euh oui en même temps ça m'embrouille tout ça lol, mais j'ai pas le choix

  • si les 3 valeurs sont là: au lieu de VRAI ce soit la matrice voulue qui ressorte (ex: TITLE_I)
  • sachant que si dans les matrices on a par ex "je" "suis" "ici" il faudra que ça dirige vers une autre matrice

2- ce que je ne comprends pas depuis le début, c'est ceci :

sachant que si dans les matrices on a par ex "je" "suis" "ici"

dans quelle matrice ? où ?

On a 4 Matrice (les 4 TITLE)

La formule que tu m'as donnée (avec "je" "suis" "là") doit renvoyer à la Matrice TITLE-I.

Du coup, en colone G, 'TITLE_I" doit apparaitre .

De ce fait, la valeur de la colone J (RESULTAT) sera prise dans la matrice TITLE_II

Puis idem pour les autre matrice:

une autre composition des variantes (par ex: ils+sont+là) renverra à 1 autre Matrice: TITLE_II.

Un grand pas en avant !!! (ci-joint)

J'ai repris ton tableau en modifiant juste un peu une formule:

=SI(CHERCHE("je";D2)+CHERCHE("suis";E2)+CHERCHE("là";F2);"TITLE_I";0)

ça répond à ma 1ère demande sur message précédent

reste la 2ème demande: faire une formule (chauf lol) comme ci-dessus... mais qui peut renvoyer vers 4 matrices!!!! je vais essayer de trouver...

édit: il me faut ces 4 formules en 1 en fait:

SI(CHERCHE("je";D4)+CHERCHE("suis";E4)+CHERCHE("là";F4);"TITLE_I")

SI(CHERCHE("tu";D4)+CHERCHE("es";E4)+CHERCHE("là";F4);"TITLE_II")

SI(CHERCHE("je";D4)+CHERCHE("pars";E4)+CHERCHE("là";F4);"TITLE_III")

SI(CHERCHE("tu";D4)+CHERCHE("pars";E4)+CHERCHE("là";F4);"TITLE_IV")

3jojo789-4.xlsx (16.90 Ko)
=SI(ESTERREUR(CHERCHE("je";C2)+CHERCHE("suis";D2)+CHERCHE("là";E2));SI(ESTERREUR(CHERCHE("tu";C2)+CHERCHE("est";D2)+CHERCHE("là";E2));SI(ESTERREUR(CHERCHE("je";C2)+CHERCHE("pars";D2)+CHERCHE("là";E2));SI(ESTERREUR(CHERCHE("tu";C2)+CHERCHE("pars";D2)+CHERCHE("là";E2));"aïe";F$5);F$4);F$3);F$2)
6jojo789-4.xlsx (16.85 Ko)
Rechercher des sujets similaires à "renvoyer tel matrices fonction"