Il semble que l'utilisation des fonctions Excel INDIRECT(ADDRESS(...))
et OFFSET(...)
peut être utilisée de façon interchangeable.Excel: INDIRECT (ADRESSE (...)) vs OFFSET (...)
Par exemple, les deux formules suivantes le même résultat à une référence absolue:
= INDIRECT(ADDRESS(1,1))
= OFFSET(<current cell>,1-ROW(),1-COLUMN())
Et De même, les deux formules le même résultat à une référence relative (dans ce cas, par exemple, ceux-ci formules reviennent toute valeur dans la cellule en dessous de cette cellule avec la formule):
= OFFSET(<current cell>,1,0)
= INDIRECT(ADDRESS(ROW()+1,COLUMN()))
Mes questions sont: est une méthode toujours préféré sur l'autre? Il me semble que INDIRECT(ADDRESS(...))
se prête à des références de type plus absolues et OFFSET(...)
se prête à plus de références de type relatif, mais comme indiqué ci-dessus, l'une ou l'autre méthode pourrait être utilisée pour accomplir l'un ou l'autre type de référence. Ou, existe-t-il une alternative complètement différente à l'utilisation de ces deux fonctions qui est supérieure à ces deux options?
Bien sûr, '$ 1: $ 1048576' est l'ensemble de la feuille de calcul, donc l'avantage est quelque peu limité. Toujours mieux que * tout changement dans une feuille de calcul dans un classeur * mais pas aussi avantageux que de limiter à une seule colonne ou une ligne. – Jeeped
@Scott Merci. Si la feuille elle-même est la variable, je pense que «INDIRECT» pourrait encore être évité au prix d'allonger la formule. Par exemple. '= IF (, INDEX (Feuille1! $ 1: $ 1048576, ...), INDEX (Feuille2! $ 1: 1048576, ...)) '. Est-ce correct? –
ImaginaryHuman072889
@Peter Je pensais plus sur les lignes que la feuille de calcul est une variable qui est dans une cellule. Si vous avez de nombreuses feuilles imbriquées ifs serait trop long. –