Par exemple, dans une expression, au lieu d'écrire l'adresse A1
, Comment puis-je écrire quelque chose comme: A(B1)
avec B1 = 1
.
Je pense qu'une autre façon d'expliquer ce que fait INDIRECT est la suivante:
Il transforme le texte en une plage, si cette plage est valide.
Par exemple. Si vous avez du texte A1, il fera référence à A1. Si vous avez le texte C2: C100, vous obtiendrez ceci comme plage.
Désormais, l'un des moyens les plus courants dans Excel pour générer du texte sous forme de plages est de concaténer. Ainsi, si vous concaténez A
et 1
(CONCATENATE("A","1")
), vous obtenez A1.
Et vous pouvez utiliser une référence dans ce concatenté. Disons que la cellule B1 contient 1.
=CONCATENATE("A",B1)
donne le texte A1.
Par conséquent, pour obtenir la cellule A1, vous pourriez utiliser:
=INDIRECT(CONCATENATE("A",B1))
Sauf que la fonction CONCATENATE()
est maintenant un peu longue, mais ne vous inquiétez pas! Vous pouvez utiliser &
:
=INDIRECT("A"&B1)
Fonctionne aussi bien.
Si vous avez quelque chose de plus complexe comme vous avez C
dans A1 et 32
Dans B1, pour faire référence à la cellule C32
, Vous pouvez faire:
=INDIRECT(A1&B1)
Ce qui donne =INDIRECT("C"&"32")
, =INDIRECT("C32")
et enfin =C32
`INDIRECT 'est la fonction que vous devez utiliser.
De la documentation :
INDIRECTE (Réf; A1)
Ref représente une référence à une cellule ou une zone (sous forme de texte) pour laquelle retourner le contenu.
A1 (facultatif) - s'il est défini sur 0, la notation R1C1 est utilisée. Si ce paramètre est absent ou défini sur une autre valeur que 0, la notation A1 est utilisée.
= INDIRECT (A1) est égal à 100 si A1 contient C108 comme référence et la cellule C108 contient une valeur de 100.
= SUM (INDIRECT ("a1:" & ADDRESS (1; 3))) totalise les cellules dans la zone de A1 jusqu'à la cellule avec le adresse définie par la ligne 1 et la colonne 3. Cela signifie que la zone A1: C1 est totalisée.
= DÉCALAGE (B1, 0, 1)
OFFSET (référence, décalage de ligne, décalage de colonne, hauteur de zone par défaut à 1, largeur de zone par défaut à 1)
Exemple 1. Nous avons une table de multiplication et devons trouver la réponse pour une raison stupide avec OFFSET.
A B C D E F
1 1 2 3 4 5
---------------
2 1 | 1 2 3 4 5
3 2 | 2 4 6 8 10
4 3 | 3 6 9 12 15
5 4 | 4 8 12 16 20
6 5 | 5 10 15 20 25
Disons que nous avons besoin de 2x4 = OFFSET (A1, 2, 4) ou dans ce cas, la commutation des nombres fonctionne également bien = OFFSET (A1, 4, 2)
Exemple 2. Calculons la somme de tous les nombres de la table de multiplication précédente qui sont pour 2 ou plus. = SUM (OFFSET (A1, 2, 2, 4, 4))