やはりBが有効ではないでしょうか。
・私の経験では、深い階層構造になっている複雑な数式が多いと、そのメッセージが出やすくなります。
数式のネストが深いと、使用可能なメモリの上限に達しやすいのかもしれません。
・環境(32bit,64bitの違いなど)にも左右されます。
【以下余談】
・今回の件とは関係ないとは思いますが、SUMPRODUCT関数の引数に列全体を指定して
A:Aなどとするのは絶対やめましょう。A2:A1000のように限定してください。
・検索した結果の上位サイトにスピルのことが書かれていたのかもしれませんが、
スピル機能自体は大きな問題はないと思います。