14歳の自分に衝撃の事実を告げてください

エクセルで、ある列の一番下の値だけを他のセルに表示する方法がわかりません。
どなたかご存知の方おりましたら、ご教授お願いいたします。

A 回答 (3件)

関数で求める方法です。


対象を仮にA列とします。

1.A列が文字列の場合
=INDEX(A:A,MATCH("^",A:A,-1))

2.A列が数値の場合
=INDEX(A:A,MATCH((10)^15,A:A,1))
    • good
    • 3
この回答へのお礼

とても簡単に記述していただきありがとうございました。ぜひ利用させていただきます。

お礼日時:2008/01/23 12:22

例として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
という関数が必要と思う。
すっきりしない課題回答になるように思う。
通常の関数を使っても同じと思う。
    • good
    • 0
この回答へのお礼

普通利用には多少難しい方法ですが、今後このような方法が合理的な場合に利用させていただきます。ありがとうございました。

お礼日時:2008/01/23 12:25

次の方法は如何でしょうか。


=INDEX(A1:A65535,MAX(ROW(A1:A65535)*(A1:A65535<>""))
尚、配列数式の為、入力完了時にshift+ctrl+enterキーを同時押下して下さい。
因みに配列数式は列指定(例えば、A:A)が出来ませんので最大行-1の範囲としています。
    • good
    • 0
この回答へのお礼

実用的な関数をご教授いただき、ありがとうございました。

お礼日時:2008/01/23 12:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報