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
を計算させることができます。