Fast Pointers ?

Avoid using Arrays & SUMPRODUCTs in large numbers and/or with large ranges.
If you do use them ensure they are non-Volatile whenever & wherever possible.
(you can often avoid the need Array / SUMPRODUCT requirement by virtue of helper calcs - more lightweight calcs will perform better than a smaller number of expensive calcs)

Try to sort data appropriately wherever possible so as to make use of Binary Search based lookups (rather than conducting exact match lookups) - this will greatly reduce the number of cells being processed in large data sets.

Charles Williams' site is invaluable on the subject of optimisation

Once you post your sample we can probably offer more specific pointers.