データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
>動作がものすごく重たくなってしまい…辛い。
これは前投稿で私も書いていますが、理由は次の通りです。
Row(B:B)などはB列の全セルつまり100万超のセルに対し、提示した式の計算を行っているためです。
どこかシートを修正すると、それが関係あろうとなかろうと印刷範囲を確定するために、100万回の計算を行ってしまうということです。
もし、現実的な解決を図るなら、問題のシートが実際にはどの程度の行数まで使うのか(100万全部使うとは思えません)を推定して、例えば最大一万行までと割り切れば
=OFFSET(Sheet1!$B$1,0,0,MAX((Sheet1!$B1:$B10000>0)*ROW(Sheet1!$B1:$B10000)),12)
としてしまえばマシンの性能にもよりますが、ほとんど気にならなくなると思います。
(つまり100万回の計算が1万回で済む)