In most cases INDEX can be used in preference to volatiles like OFFSET and INDIRECT... the latter not so when the sheet reference is a dynamic variable. OFFSET is sometimes easier from a syntax perspective but wherever possible I adopt INDEX.
(should add that INDEX gives impression of being Volatile but in reality is not)
In short INDEX is incredibly powerful (& flexible) but is also slow if used on large ranges... eg
=SUM(INDEX((A1:A10000="a")*(B1:B10000="b")*C1:C10000,0))
is likely to prove slower than a SUMPRODUCT / CSE
=SUMPRODUCT((A1:A10000="a")*(B1:B10000="b")*C1:C10000)
=SUM(IF((A1:A10000="a")*(B1:B10000="b"),C1:C10000))) - CSE
Bookmarks