2008-11-03 11 views
9

Dans Excel 2007, j'ai une formule dans une cellule comme ce qui suit:Comment faire une référence à une cellule d'une autre feuille, lorsque le nom de la feuille est la valeur d'une cellule?

=COUNTIFS('2008-10-31'!$C:$C;">="&'$A7) 

Maintenant, je veux faire le nom de la feuille (« 2008-10-31 ») dépendra de la valeur de certains cellule (disons A1). Quelque chose comme:

=COUNTIFS(A1!$C:$C;">="&'$A7) // error 

Est-il possible de faire cela? Ou dois-je écrire une VBA-Macro pour cela?

Répondre

13

INDIRECT fait ce que vous voulez. Notez que si le nom de la feuille a des espaces, vous devez mettre des guillemets simples autour d'elle, à savoir

=COUNTIFS(INDIRECT("'" & A1 & "'!$C:$C"); ">=" & $A7) 
+2

Non seulement quand il a des espaces, mais aussi d'autres caractères spéciaux comme « - » Ce –

+0

est vrai. Je n'y ai pas pensé. +1 – Tomalak

+0

Quel est le nom de la feuille dans ce cas? – MEM

7

Vous recherchez la fonction de feuille de calcul INDIRECT:

=INDIRECT("SHEET2!A1") 
=COUNTIFS(INDIRECT(A1 & "!$C:$C"); ">=" & $A7) 

La fonction transforme une chaîne en une véritable référence de cellule.

Questions connexes