エクセル(Excel)で表の一番下の値を返す関数や取得する方法は?
例えば、表の上から順番に毎日データを入力されていて、最新の入力値(表の一番下の値)を特定のセルに表示させるには?
エクセルで表の一番下の列の数値を取得する関数・方法
エクセル(Excel)で表の一番下の値を返す関数や取得する方法は数値だけならLOOKUP関数を使って
「=LOOKUP(10^10,A:A)」
とします。
もし、文字列の場合でも同じくLOOKUP関数を使い数値の列を指定して、文字の列を対応範囲に指定します。
「=LOOKUP(10^10,A:A,B:B)」
A列が数値、B列が表示させる文字列
もしくはINDEX関数(=INDEX(入力範囲,行番号,列番号) )を使うやり方として行番号をCOUNTA関数で生成して
「=INDEX(A:A,COUNTA(A$1:A$5),1)」
とするやり方もあります。
参考に、エクセル(Excel)で「表の一番下の値」のようにたとえばA列の最終行のデータを取得したい場合、
「=VLOOKUP(9.99999999999999E+307,A:A,1,TRUE)」
といったやり方があります。
「9.99999999999999E+307」というのはExcel2004までのバージョンの Excel で扱える最大数です。
表中に現れる可能性のある数より大きければなんでもOKです。
VLOOKUP関数は、検索の型にTRUEを指定した場合、検索値が見つからないと最終行の値を返します。(ヘルプには最大値と書いてありますが、ソートされていない場合、最終行の値になります。)
COUNTA(とOFFSETやINDIRECTを組み合わせて)を使う方法は、途中に空白セルがあった場合にうまくいかないので私はおおすすめしません。
まとめ:エクセルで表の一番下の列の数値を取得する関数・方法
■空行がない場合
○A列の一番最後
=INDEX(A:A,COUNTA(A:A))
■空行がある場合
※空行が無い場合でも可
○B列の文字列の一番最後
=LOOKUP(“ーー”,B:B)
○B列の数値の一番最後
=LOOKUP(10^10,B:B)
○B列の一番最後
LOOKUP(1,0/(B:B0<>””),B:B)