2010-12-09 45 views
3

Dites que je veux la réponse à ce type de formula = SUM(startcell:endcell) mais les composants startcell et endcell changent.Représentant une adresse de cellule Excel dans une formule en utilisant les valeurs de chaîne d'autres cellules Excel?

Ainsi, au lieu d'utiliser C1 directement dans une formule pour représenter la valeur dans la cellule C1, je veux être en mesure d'utiliser quelles que soient les valeurs sont et B1, B2, and B3 pour construire quelque chose qui peut représenter C1 dans une formule?

Peut-être une meilleure façon de poser la question est, Est-ce que Excel a quelque chose comme eval() de Python?

alt text

Répondre

-1

alt text

0

Vous pouvez

formula = SUM(INDIRECT(B1),INDIRECT(B2),INDIRECT(B3)) 

Et faire plus de tests pour voir si vous pouvez travailler sur des gammes

+0

B1 ... B3 dans l'OP ne sont pas adresses lui-même, mais les parties d'une seule adresse (feuille, colonne, ligne) –

8

Explaining formules Excel dans le texte est fastidieux ... Je pense qu'une image est mieux

alt text

HTH!

+0

Merci pour votre réponse. J'avais besoin de le faire fonctionner pour moi J'ai fait un petit changement dans la façon dont vous avez décrit la formule qui était dans la cellule B3. À votre santé! –

1

Je pense que plus utile est la formule d'adresse qui vous permet de construire une chaîne d'adresse de cellule à partir des entrées que vous avez spécifiées. La notation est = ADRESSE (numéro_colonne, numéro_colonne, numéro_numéro_absolu, bool_A1Style, texte_texte).

Donc, pour votre exemple:! - Pour revenir Sheet1 R1C3 vous utiliseriez = ADRESSE (B3, B2,, FAUX, B1) - Pour revenir Sheet1 C1 vous utiliseriez = ADRESSE (B3, B2,, TRUE , B1) ou = ADRESSE (B3, B2 ,,, B1)

Vous pouvez ensuite utiliser votre fonction INDIRECT sur cette adresse retournée.

Notez que si vous souhaitez ajouter une plage dynamique à l'aide de la fonction sum(), vous pouvez utiliser deux appels d'adresse pour générer la chaîne pour toute la plage.

E.G. Si vous avez ajouté la valeur 5 dans les cellules C3 et C4 de votre exemple pour spécifier la ligne et la colonne de votre cellule de fin, vous pouvez avoir une formule = ADRESSE (B4, B3 ,,, B2) & ":" & ADRESSE (C4, C3) qui retournerait 'Sheet1!'! $ C $ 1: $ E $ 5

Je ne peux pas encore publier d'images, donc j'espère que cela a du sens dans le texte!