変更できない数式内の特定のセル

変更できない数式内の特定のセル

非常に特殊なセルを参照し、長い数式を含むセルを含むスプレッドシートで作業しています。行またはセルを追加しても数式が変更されないようにするにはどうすればよいでしょうか。例: =MAX(G12+G13,G14+G15,G16+G17,G18+G19,G20+G21,G22+G23,G24+G25,G26+G27)

二重行を追加すると(私のテーブルではそうする必要があります)、次のようになります: =MAX(G14+G15,G16+G17,G18+G19,G20+G21,G22+G23,G24+G25,G26+G27,G28+G29)

また、別のタブから参照するときにこれを使用できますか? このように: =AVERAGE('Sheet1'!AE9:AG9,'Sheet1'!AE11:AG11,'Sheet1'!AE13:AG13,'Sheet1'!AE15:AG15)

答え1

セル参照が変更されないようにするために、新しい行を挿入してもセル参照が変更されないセルを参照する 2 つの方法があります。

  1. 次の関数を使用しますINDIRECT:

    =INDIRECT("G12") + INDIRECT("G13")

  2. INDEX機能を使用する

    =INDEX(G:G,12,1) + INDEX(G:G,13,1)

列 G の前に他の列が挿入された場合でも、列 G を保持する必要がある場合は、INDIRECT上記の方法を使用できます。

このINDEX方法の場合、式は次のようになります。

=INDEX(A:G,12,7) + INDEX(A:G,13,7)

INDIRECTは多少理解しやすいですが、揮発性関数です。 INDEXは Excel の最新バージョンでは非揮発性であるため、 が推奨されます。

答え2

Ron Rosenfeld さん、ありがとうございます。そこで、=MAX(INDIRECT(G12)+INDIRECT(G13),INDIRECT(G14)+INDIRECT(G15),INDIRECT(G16)+INDIRECT(G17)... を試してみましたが、#REF が表示されるので、何か入力ミスがあるに違いありません...そこで、=MAX((INDEX(G:G,12,1))+(INDEX(G:G,13,1)),(INDEX(G:G,14,1))+(INDEX(G:G,15,1)))... を試してみたところ、なんと、うまくいきました!! 本当にありがとうございます! これにかなり長いこと取り組んできました!

関連情報