- ベストアンサー
エクセルである列の一番下の値を表示する方法
エクセルで、ある列の一番下の値だけを他のセルに表示する方法がわかりません。 どなたかご存知の方おりましたら、ご教授お願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
関数で求める方法です。 対象を仮にA列とします。 1.A列が文字列の場合 =INDEX(A:A,MATCH("^",A:A,-1)) 2.A列が数値の場合 =INDEX(A:A,MATCH((10)^15,A:A,1))
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
例としてA列で考える。 第1行から空白セルが無く、データが連続している場合の(塊の)最下行の値は ユーザー関数を作り Function dv(a) d = Cells(1, a.Column).End(xlDown).Row dv = Cells(d, a.Column) End Function ーー 列途中にスペースのセルがあっても、それも考えて最下行は A列の他の列にこの式を入れるときは Function dwv(a) d1 = Cells(65536, a.Column).End(xlUp).Row dwv = Cells(d1, a.Column) End Function A列にこの式を入れてその式を無いものとして一番下は、式を入れた セル(行)を関数では捉えにくくて難しいように思う。 入れた式が状況をかく乱する。 それで Function dwv1(a) d1 = Cells(65536, a.Column).End(xlUp).Row d2 = Cells(d1 - 1, a.Column).End(xlUp).Row dwv1 = Cells(d2, a.Column) End Function という関数が必要と思う。 すっきりしない課題回答になるように思う。 通常の関数を使っても同じと思う。
お礼
普通利用には多少難しい方法ですが、今後このような方法が合理的な場合に利用させていただきます。ありがとうございました。
- mu2011
- ベストアンサー率38% (1910/4994)
次の方法は如何でしょうか。 =INDEX(A1:A65535,MAX(ROW(A1:A65535)*(A1:A65535<>"")) 尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。 因みに配列数式は列指定(例えば、A:A)が出来ませんので最大行-1の範囲としています。
お礼
実用的な関数をご教授いただき、ありがとうございました。
お礼
とても簡単に記述していただきありがとうございました。ぜひ利用させていただきます。