3

これが私の問題です:

Excel に 3MB を超えるシートがあり、シートのすべての行をカバーする数式が必要です。最初の行の数式は次のとおり=A1/B1です。

しかし、キャッチがあります.1行目と400行目の間で繰り返し続けるには、列Bが必要です。したがって、401行目はA401/B1、402行目A402/B2などになります。

手動で、セル 400 まで$列の数値を追加しB、連続する行のすべてのセルをコピーペーストするという考えでしたが、400 行までのすべてのセルでこれを行う必要があり、時間がかかりすぎます (実際のシートではこの手順を実行するために必要な 15 の数式です)。

私に何ができる?

4

2 に答える 2

0

INDIRECT関数は「揮発性」関数であるため、できる限り避けるのが最善です。つまり、依存する値が変更されなくても、ワークシートが再計算されるたびに常に再計算され、計算時間が長くなる可能性があります。

ここで使用INDEXすると、そのオーバーヘッドを回避できます...また、列の文字を「ハードコーディング」することも回避できます。つまり、C1のこの式をコピーします

=A1/INDEX(B:B,MOD(ROWS(C$1:C1)-1,400)+1)

ROWSの代わりに関数を使用するとROW、結果に影響を与えずに上に行を挿入できることに注意してくださいROWS。開始セルに一致するように関数を変更するだけで、任意のセルから開始できます。

于 2013-05-28T13:26:31.073 に答える