J'essaie d'apprendre comment faire référence "dynamiquement" à une cellule d'une autre feuille en fonction d'une condition textuelle.
J'ai le scénario suivant :
Exemple
Il y a deux feuilles étiquetées "A" et "B".
Dans la feuille "B", j'ai un tableau de 12 lignes et 4 colonnes. Chaque ligne porte une étiquette nutritionnelle, telle que "Avoine", suivie de colonnes indiquant les calories, les glucides, etc. correspondants (voir image ci-dessous).
Dans la feuille "A", je fais référence à chaque aliment avec une colonne suivante de quantité comme indiqué ci-dessous.
Objectif
A partir de la feuille "A", j'essaie de calculer les calories d'un repas, donc pour chaque ingrédient je veux multiplier sa quantité avec son équivalent en calories pour 100 grammes comme indiqué dans la feuille "B".
Exigence pour la formule : la possibilité de se référer à une cellule d'une autre feuille en fonction d'une condition textuelle de la cellule courante. Par exemple, je veux pouvoir dire que la quantité en cours correspond à "Avoine" car la colonne précédant "Quantité 1" est "Avoine". Donc intuitivement, j'ai 50 grammes d'avoine (feuille A) que je veux multiplier par les calories de l'avoine (extraites de la feuille B pour 100g). J'essaie donc d'exprimer la formule de telle sorte qu'elle prenne automatiquement la cellule qui précède la quantité et traite son texte, ici "Avoine", comme la référence de la cellule de la feuille B.
C'est la première fois que j'essaie de faire du référencement dynamique. Ma tentative (qui n'a pas fonctionné) a consisté jusqu'à présent à utiliser INDIRECT
pour faire référence à la cellule correspondante de la feuille B avec le texte "Avoine". J'ai donc essayé :
A::Table 1::E2 * B::Table 1::Oats&"::B2"
Mais cela donne une erreur. Même si cela fonctionnait, ce ne serait toujours pas ce que je voulais vraiment obtenir, car mon intention idéale est de pouvoir accéder à la cellule précédente de B2 de la feuille B sans avoir à spécifier explicitement "Avoine".
Question :
-
Où est-ce que je me trompe dans la syntaxe de la formule en faisant référence à une autre feuille (B) et en prenant sa cellule correspondant à la 2ème colonne de la ligne "Avoine" ? Devrais-je utiliser les fonctions
INDIRECT
yADDRESS
ensemble (comme dans ce exemple ) ? -
Y a-t-il un moyen de généraliser cela, où nous ne devons même plus spécifier l'aliment, mais simplement sélectionner la quantité et l'aliment serait automatiquement pris comme la cellule qui le précède (par ligne) ?