- ベストアンサー
エクセルで常に変わるセルの値を参照するには
教えて下さい。 エクセルで、列の一番下のセルの値をあるセルに表示したいのですが、行が増えても常に一番下の値を表示するにはどうすればよいのでしょうか。 例えば、 A2のセルに20 A3のセルに30 と数字が入っていたとします。 この場合は、A3の30をA1に表示します。 今後A4、A5、と数字が入ったらA5の数字を、A6に入ったらA6をと常に一番下の値をA1に表示するには、A1にどんな計算式を入れたら良いのでしょうか。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A2からA10000までをデータエリアとした式で、 {=INDEX(A2:A10000,MAX(ROW(A2:A10000)*(A2:A10000<>""))-1,1)} で可能です。配列式で、特殊に見えますが簡単です。 まずはA1セルに下記の式(上の式の{}無しの中身の部分)をコピーします。 =INDEX(A2:A10000,MAX(ROW(A2:A10000)*(A2:A10000<>""))-1,1) そこから{}で入力するには、F2押下で数式編集状態からCtrlとShiftを押しながらエンターします。 データエリアを一番下まで広げるなら、A10000をA1048576として下さい(Excel2010の場合)。 残念ながら、データエリアをA:Aにすると循環参照で計算してくれませんでした。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
まだこの回答が出てないようだが、定石的な関数利用法が有名で A1セルに=LOOKUP(10^16,A2:A50) http://hpcgi1.nifty.com/kenzo30/a_cbbs/cbbs.cgi?mode=al2&namber=99666&rev=&no=0&P=R&KLOG=487 LOOKUP関数の注意点に載っているこの関数の性質を使うもの。 数字だけが入っている列で有効。 数字データ行が飛んでいても有効。
お礼
ありがとうございます。 お礼が遅くなり申し訳ありませんでした。 そのやり方で出来ましたが、急いでいたので、一番最初の人のやり方でやりました。
- keithin
- ベストアンサー率66% (5278/7941)
「例えば」じゃなく「実際にこういうデータを扱いたい」をはっきりすると,色々簡単に(=合理的に)計算できます。 一番下にある「数値」なら =LOOKUP(MAX(A2:A65536)+1,A2:A65536) で出てきます。 #B1にコタエを出せばイイなら =LOOKUP(MAX(A:A)+1,A:A) にします 「数値」が10とか20とか30ぐらいだと当たりが付けられるなら =LOOKUP(999,A2:A65536) とかでもいいです。 #A2以下に最低一個でも数字を記入してあれば,A1に =LOOKUP(999,A:A) でもいいです 例えばが例えばで,実際には数値が入るんだか文字が来るのかさっぱり決められないというのなら http://www2.odn.ne.jp/excel/waza/function.html#SEC66 を参考にしてみて下さい。
お礼
素早い回答をありがとうございます。 お礼が遅くなり申し訳ありませんでした。 出来たのですが、急いでいたので、一番最初のやり方でやりました。 でも後から #B1に答えを出すようにして =LOOKUP(MAX(A:A)+1,A:A) にするのが一番すっきりわかりやすくて良いと思いました。
- mu2011
- ベストアンサー率38% (1910/4994)
一例です。 空白行があっても最終行の数値を表示します。 A1に=INDEX(A2:A65536,MATCH(MAX(A2:A65536)+1,A2:A65536,1))
お礼
素早い回答をありがとうございます。 お礼が遅くなり申し訳ありませんでした。 出来たのですが、急いでいたので、一番最初のやり方でやりました。
- kybo
- ベストアンサー率53% (349/647)
数値のみで途中に空欄のセルがない連続でーたであれば、 =OFFSET(A1,COUNT(A:A)-1,0) 数値のみで空欄のセルがある場合 =INDEX(A:A,MATCH(MAX(A:A)+1,A:A,1))
お礼
素早い回答をありがとうございます。 すっきりしてて良さそうだったのですが、思った数字が出ませんでした。
お礼
素早い回答をありがとうございます。 お礼が遅くなり申し訳ありませんでした。 急いでいたので助かりました。