Formule Excel: COUNTIFS avec colonne de table variable -

Table des matières

Formule générique

=COUNTIFS(INDEX(Table,0,MATCH(name,Table(#Headers),0)),criteria))

Sommaire

Pour utiliser COUNTIFS avec une colonne de table variable, vous pouvez utiliser INDEX et MATCH pour rechercher et récupérer la colonne pour COUNTIFS. Dans l'exemple illustré, la formule en H5 est:

=COUNTIFS(INDEX(Table1,0,MATCH(G5,Table1(#Headers),0)),"x")

Explication

Tout d'abord, pour le contexte, il est important de noter que vous pouvez utiliser COUNTIFS avec une référence structurée régulière comme celle-ci:

=COUNTIFS(Table1(Swim),"x")

C'est une formule beaucoup plus simple, mais vous ne pouvez pas la copier dans la colonne H, car la référence de colonne ne changera pas.

L'exemple de cette page est donc destiné à montrer une façon de configurer une formule qui référence une table avec une référence de colonne variable.

En travaillant de l'intérieur vers l'extérieur, la fonction MATCH est utilisée pour trouver la position du nom de colonne répertorié dans la colonne G:

MATCH(G5,Table1(#Headers),0)

MATCH utilise la valeur de G5 comme valeur de recherche, les en-têtes de Table1 pour le tableau et 0 pour le type de correspondance pour forcer une correspondance exacte. Le résultat pour G5 est 2, qui entre dans INDEX comme numéro de colonne:

INDEX(Table1,0,2,0))

Remarquez que le numéro de ligne a été défini sur zéro, ce qui oblige INDEX à renvoyer la colonne entière, qui est C5: C13 dans cet exemple.

Cette référence entre normalement dans COUNTIFS:

=COUNTIFS(C5:C13,"x")

COUNTIFS compte les cellules contenant «x» et renvoie le résultat, 5 dans ce cas.

Lorsque la formule est copiée dans la colonne H, INDEX et MATCH renvoient la référence de colonne correcte à COUNTIFS à chaque ligne.

Alternative avec INDIRECT

La fonction INDIRECT peut également être utilisée pour configurer une référence de colonne variable comme ceci:

=COUNTIFS(INDIRECT("Table1("&G5&")"),"x")

Ici, la référence structurée est assemblée sous forme de texte et INDIRECT évalue le texte comme une référence de cellule appropriée.

Remarque: INDIRECT est une fonction volatile et peut entraîner des problèmes de performances dans des classeurs plus volumineux ou plus complexes.

Articles intéressants...