スプレッドシートで列の最後のセルを参照したい
ESP8266の電圧変動をGoogle Spread Sheetに記録されていたときに、最新のデータを見るためにいちいち最後の行までスクロールするのが面倒でした。
かといって、先頭行に最新データを挿入するのも不自然でデータ処理やグラフ化のとき不便です。
特定の列の最後のセルが自動的に参照できれば、シートの見やすい場所に最新の測定データを表示しておけます。
というわけで、いろいろ検索して調べから、INDEX関数とCOUNTA関数の組み合わせでできることが分かりました。
忘れないように記録しておきます。
INDEX()は範囲から取り出し、COUNTA()は範囲から空白以外のセル数を返す
A列の5行からデータが記録されている場合なら、以下の設定で最新データを参照できます。
=INDEX(A5:A, COUNTA(A5:A))
最初のデータ(A5)と最新データの差を表示させたければ、以下のようにします。
=INDEX(A5:A, COUNTA(A5:A))-A5
INDEX関数は、
INDEX(セル範囲,範囲内のセルの位置)
でデータを参照します。
COUNTA関数は
COUNTA(セル範囲)
で、空白以外のセルの数を返します。
1次元のデータが上から順番に記録されていればデータの入っているセルの数=上からの位置になるので、最新データが参照できることになります。
もちろん、途中に空白なくデータが埋められていることが条件です。