Je suppose que FirstYears
contient le nom (sous forme de texte) d'une feuille de calcul et que vous souhaitez analyser les lignes individuelles de cette feuille de calcul, avec les résultats contenus dans une deuxième feuille de calcul.
Une alternative à l'utilisation de l'extrait INDIRECT(FirstYears&!"$E6:$AZ6")
dans une formule dans la seconde feuille est
OFFSET(INDIRECT(FirstYears&"!E6:AZ6"),ROW(cell)-n,0)
où cell
est l'adresse relative de la première cellule de résultats dans la deuxième feuille et n
est une constante égal à la vallée de ROW(cell)
.
Donc, si la première cellule de résultats est la cellule A2
l'extrait de formule à utiliser dans la cellule A2
est
OFFSET(INDIRECT(FirstYears&"!E6:AZ6"),ROW(A2)-2,0)
Quand une formule contenant cet extrait est copié dans la colonne des résultats, il fournira des références à E6:AZ6
, E7:AZ7
, EZ:AZ8
, etc de la feuille de calcul cible dans les cellules de résultats successifs (par exemple A2
, A3
, A4
, etc) comme vous le souhaitez.
Comment ça marche?
OFFSET(r,i,j)
OFFSET(r,i,j)
fournit une plage qui a la même forme que la plage r mais qui est décalée dans la feuille de calcul par i lignes (si i est positif, augmente si i est négatif) et j colonnes (à droite si j est positif et à gauche si j est négatif). 0 est une valeur valide pour i et j.
Dans la formule suggérée, r est toujours défini sur la plage E6:AZ6
dans la feuille de calcul cible à l'aide de la fonction INDIRECT
, je prends successivement des valeurs de 0,1,2, ... dans la colonne des résultats, et j est toujours mis à zéro. Je prends des valeurs de 0,1,2, etc parce que l'extrait ROW(A2)-2
dans la cellule A2
devient ROW(A3)-2
, ROW(A4)-2
, etc. lorsqu'il est copié dans la colonne des résultats.
Remarque, à la différence des fonctions telles que SUM()
, il n'y a pas de problème avec l'aide d'un extrait de code tel ROW(A2)
dans la cellule A2
- il ne donne pas d'avertissement circulaire de référence et un résultat de zéro, au lieu, il donne la valeur correcte de 2.
Les plages nommées «FirstYears» et «Weeks» sont-elles nommées? Est-ce que votre problème obtient simplement le 'INDIRECT (FirstYears &"! $ E6: $ AZ6) 'pour" se comporter "comme vous le souhaitez Avez-vous essayé d'utiliser la fonction' ROW() 'en conjonction avec le' OFFSET() ' – DMM
Merci pour la réponse J'ai le même problème sans les plages nommées Où placeriez-vous la fonction de ligne dans la formule? Cela peut être tout ce dont j'ai besoin, je ne peux pas trouver comment l'écrire dedans au travail –