4

私はプログラミングに秀でているのは比較的新しいです。指数関数的減衰を示すスプレッドシートの作成に取り組んでいます。各セルにTRUNC(RAND()* 10,0)を使用して、1から10までの1000個の乱数の1つの列(A1:A1000)があります。次の列(B1:B1000)には論理マスク= IF(A1 = 0,1,0)があり、Aセルの値が0の場合、Bセルは1を示します。 A列に0がある場合、次の列にはB1:B1000の合計があり、最初の列に表示された0の数が返されます。それを行うもっと簡単な方法があると確信していますが、これはうまくいくようです。

これが私の問題です。うまくいけば、私が何を求めているのかが明確になります。

次に、sum(B1:B1000)を計算するセルの下のセルで、B1:B(1000-(B1:1000)からの合計の値)から論理列(B)の合計を取得します。セルを参照するためにセル数式で代数を計算する方法はありますか?もっと簡単に言えば、たとえばA3を参照したい場合、A(2 + 1)のようなものを入力してA3を取得する方法はありますか?これは意味がありますか?

4

2 に答える 2

12

VBA では、非常に簡単に実行できます。

ActiveCell.Formula = "=A" & (2+1) & "+15"

エクセルの場合:

=INDIRECT(ADDRESS(2+1, COLUMN(A1)))+15

これにより、数式が「=A3+15」に設定されます。一般に、これは変数を使用して行うのが最適であるため、忘れずに行ってください。

于 2009-04-30T20:18:40.067 に答える