Compréhension OFFSET+SEQUENCE (Dynamic Arrays)

Bonjour,

Je suis en train de regarder un peu comment je pourrais modifier certains appels à la fonction INDIRECT par diverses combinaisons plus performantes.

J'étais en train d'étudiers sur office365 les fonctions sequence et offset que je connais peu.

Quelqu'un saurait-il m'expliquer pourquoi, pour une Table1 de ce stype :

indexesvalues
1tbl1
2tbl2
3tbl3
4tbl4
5tbl5
6tbl6
7tbl7
8tbl8
9tbl9

La formule

=OFFSET(Table1[[#Headers];[values]];SEQUENCE(9;;1);0;9)

Me renvoie un #Valeur

Alors que la meme formule,

=@OFFSET(Table1[[#Headers];[values]];SEQUENCE(9;;1);0;9)

avec l'ajout du @ qui empêche le spill me renvoie elle le résultat escompté, à savoir

tbl1
tbl2
tbl3
tbl4
tbl5
tbl6
tbl7
tbl8
tbl9

Ce dernier tableau étant bien un "spill", une array dynamique.

Merci pour vos lumières, je suis encore assez débutant avec ces nouvelles fonctionnalités.

Nota:

Je suis au courant qu'un

=OFFSET(Table1[[#Headers];[values]];1;0;9;1)

Me renvoie le résultat voulu également, mais je souhaitais intégrer la fonction séquence afin d'avoir un controle supplèmentaire.

bonjour,

offset tout comme indirect, provoque un recalcul de toutes les cellules, et te donnera les mêmes problèmes de performances. Pour ton exemple, utilise index.

=INDEX(Table1[values];SEQUENCE(9;;1))
Rechercher des sujets similaires à "comprehension offset sequence dynamic arrays"