
Formule générique
=SUMPRODUCT(COUNTIF(INDIRECT("'"&sheets&"'!"&rng),criteria))
Sommaire
Pour compter les correspondances dans tout le classeur, vous pouvez utiliser une formule basée sur les fonctions COUNTIF et SUMPRODUCT. Dans l'exemple illustré, la formule en D5 est:
=SUMPRODUCT(COUNTIF(INDIRECT("'"&sheets&"'!A1:Z10000"),B5))
où "feuilles" est la plage nommée B8: B10.
Le contexte
Ce classeur comporte quatre feuilles de calcul. Trois des feuilles de calcul, «Sheet1», «Sheet2» et «Sheet3» contiennent 1 000 prénoms aléatoires dans un tableau qui ressemble à ceci:
Remarque: la plage que nous utilisons dans la formule, A1: Z10000, est arbitraire et doit être ajustée en fonction de vos données.
Explication
En travaillant de l'intérieur vers l'extérieur, nous avons d'abord cette expression à l'intérieur de la fonction INDIRECT:
"'"&sheets&"'!A1:Z10000"
Étant donné que "feuilles" est une plage nommée contenant "Sheet1", "Sheet2" et "Sheet3", nous obtenons un tableau comme celui-ci une fois que l'expression est évaluée:
("'Sheet1'!A1:Z10000";"'Sheet2'!A1:Z10000";"'Sheet3'!A1:Z10000")
À l'intérieur du tableau, nous avons trois valeurs, et chacune est un nom de feuille joint par concaténation à la plage A1: Z10000. Notez que ce sont toutes des valeurs de texte.
Ensuite, la fonction INDIRECT est utilisée pour convertir chaque valeur de texte en une référence appropriée, qui est fournie à la fonction COUNTIF en tant qu'argument de plage, avec la valeur dans D5 pour les critères.
Puisque nous avons donné à COUNTIF trois plages distinctes, nous obtenons trois résultats dans un tableau comme celui-ci:
(5;6;5)
Chaque élément est compté pour une feuille.
Enfin, SUMPRODUCT est utilisé pour additionner le tableau et renvoie un résultat de 16.