ArrayFormulaとINDIRECT+COUNTAで最終行を自動追加

GoogleスプレッドシートでArrayFormulaとINDIRECT+COUNTAを使用して最終行を自動で追加する方法を調べたので備忘録

コピペ用

:INDIRECT(“A”&COUNTA(A2:A)+1)


=ArrayFormula(A2:INDIRECT(“A”&COUNTA(A2:A)+1)+10)

A列に番号、B2に下記の数式をいれると、A列の最終行に番号を追加すると、自動でB列にA列+10の値が追加されていきます。

=ArrayFormula(A2:INDIRECT(“A”&COUNTA(A2:A)+1)+10)

A列の最終行”A1の9″の下に”A11に10″を追加すると、”B11に20″が自動で追加できます

解説

COUNTA(A2:A)+1 の意味

A2以下のA列に記載されているセル数 + 1 を計算することで行数としています。

例えばA2のみ入力されている場合は 2 という結果なので2行目になりますね。

INDIRECT(“A”&COUNTA(A2:A)+1) の意味

A列最終行のセル内容を計算します。

=INDIRECT(A2) とすると指定したセルにA2の内容を直接入力します。

またINDIRECT(A2)はINDIRECT(“A”&2)と記載することもできます。

つまり、INDIRECT(“A列”&最終行)でA列最終行セル内容を直接入力させることができます。 最終行はCOUNTA(A2:A)+1 で求めています。

=ArrayFormula(A2:INDIRECT(“A”&COUNTA(A2:A)+1)+10) の意味

A2:INDIRECT(“A”&COUNTA(A2:A)+1) はA2からA列の最終行を意味します。

ArrayFormulaにより

A2+10
A3+10
A4+10



A最終行+10

を計算させることができます。