Comment référencer dynamiquement une colonne de tableau Excel dans Excel 2007? Je veux référencer une colonne nommée d'une table nommée et la colonne référencée variera avec la valeur d'une cellule.
J'ai un tableau dans Excel (appelons-le Tableau1 ). Je veux faire référence à l'une de ses colonnes et COUNT
aux chiffres de cette colonne. Je veux identifier la colonne référencée dynamiquement à partir d'une valeur dans une autre cellule ( A1
) afin que je puisse obtenir le résultat suivant: Lorsque je change A1
, la formule qui compte Table1 [ DynamicallyReferencedColumnName ] est mise à jour vers la nouvelle référence.
Exemple:
- Si
A1
=names
alors la formule serait égaleCOUNT(Table1[names])
. - Si
A1
=lastname
alors la formule serait égaleCOUNT(Table1[lastname])
.
J'ai essayé d'utiliser =COUNT(Table1[INDIRECT("$A$1")])
, mais Excel dit que la formule contient une erreur.
Comment puis-je faire ceci?
PS J'ai trouvé ce document MSDN qui peut être pertinent: recalcul Excel .
Réponses:
Vous l'aviez presque avec
INDIRECT()
, mais votre logique était un peu décalée. Essayez plutôt ceci:La clé à retenir est que
INDIRECT()
ne prend que du texte (c'est-à-dire une chaîne) pour le premier argument. Ainsi, vous devez passer toutes les parties de la référence de table à la fonction sous forme de texte.la source
L'utilisation de la méthode INDIRECT fonctionne, mais il est préférable de l'éviter autant que possible car il s'agit d'une fonction volatile et peut avoir un impact de calcul massif sur votre feuille de calcul.
Une alternative non volatile qui accomplit ce que vous voulez est d'utiliser INDEX / MATCH
-Tim
la source
première étape, configurez une cellule de texte qui contient le nom de la colonne à laquelle vous voulez faire référence (disons $ A $ 1) $ A $ 1 contient "Colonne2" par exemple.
puis pour trouver le compte de la colonne à laquelle $ A $ 1 fait référence serait = Count (indirect ("Table1 [" & $ a $ 1 & "]"))
cette méthode indirecte peut être utilisée pour construire toutes les parties de la référence de table et peut par exemple également être arrangée pour rechercher à partir de différentes tables
pointe. si la cellule $ a $ 1 est validée en tant que liste déroulante qui pointe vers les en-têtes du tableau unique, alors toute modification du nombre de colonnes dans le tableau de toute modification des titres d'en-tête sera récupérée.
la source
A1
. Le PO l'a déjà fait et le dit dans la question. (2) La deuxième étape est une copie exacte de la réponse d' Excellll . (4) La configuration enA1
tant que liste déroulante des noms de colonnes valides semble être une bonne idée, mais je ne comprends pas le reste du dernier paragraphe de la réponse.Voici un très bon article concernant les références structurées dans Excel. Il semblerait que cela fonctionne un peu différemment dans Excel 2010 que dans Excel 2007.
Utilisation de références structurées avec des tableaux Excel
Fondamentalement, vous référencerez la table, puis la colonne dans la table.
Dans cet exemple, vous pouvez référencer la colonne 1 du tableau 1 comme ceci:
Vous pouvez nommer les colonnes d'en-tête de votre table. Si j'ai renommé Colonne1 en Ventes, la formule deviendrait:
la source
=COUNT(Table1[A1])
Où A1 est la cellule que je veux contenir le nom de la