
No.6ベストアンサー
- 回答日時:
途中に空欄があるとすると、
「最終行から2番目の行」が空白の場合にどうするか解釈の余地がありそうですが……。
解釈A.【空白でないセルのうち、2番目に下方にあるセル】の値を返す場合
※長さゼロの文字列""は「空白」「未入力」とみなす
※必ず空白以外の値が返る
=INDEX(A1:A99,LARGE(INDEX((A1:A99<>"")*ROW(A1:A99),),2))
解釈B.【空白でないセルのうち、もっとも下方にあるセルの上隣のセル】の値を返す場合
※長さゼロの文字列""は「空白」「未入力」とみなす
※該当セルが空白なら空白が返る
=INDEX(A1:A99,MAX(INDEX((A1:A99<>"")*ROW(A1:A99),))-1)
Excel2003で動作確認。以上ご参考まで。
2通りの解釈を頂きありがとうございます。
解釈Bがほしいものです。
そして私もダミーのデータを使用して行うととてもうまくゆきます。(2007環境)
なのに、既存の大きなデータ上(少しシート上のデータが多い)で行うとなぜか「0」になり不思議でなりません。
一つ一つの関数を追いながら考えてもなぜ「0」になってしまうのかさっぱりですので、時間があるときにゆっくりシートを確認しなおしてみます。
ありがとうございました。
急場は、空白セルにダミーデータを挿入して、#1番さんの最も単純な方法で凌ぐことにしました。
No.5
- 回答日時:
#4です。
>VBAは諸事情から使いたくないです
事情にもよるが、#4に書いたのは、「ユーザー関数」で、それはVBAで記述するが、一般のVBAの処理と違うものと思いますが。
一般のエクセル関数と区別はほとんどない。
念のため。
No.4
- 回答日時:
=INDEX($A$1:$A$50,MAX(IF(A1:A50<>"",ROW(A1:A50),0))-1,1)
と入れて、SHIFT+CTRL+ENTERの三つのキーを同時押しする。
ただし上記で求めた対象のセルが空白だと、0 を返してしまう。
実質的な(空白を除いたセルはVBAでユーザー関数を定義しないと
ややこしいでしょう。
Function mae(a)
Application.Volatile True
d = Cells(65536, a).End(xlUp).Row
For i = d - 1 To 1 Step -1
If Cells(i, a) <> "" Then
mae = Cells(i, a)
Exit For
Else
End If
Next i
End Function
この場合、=mae("A")のように列を引数で指定する。この場合A列以外にこの式を入れるか、上記コードの65536をその式より上の行番号に限定すること。
No.3
- 回答日時:
#1です。
VBAを使用して、以下のようにすれば簡単にB1セルに値が出ます。
Sub sample()
Range("B1").Value = Cells(Range("A65536").End(xlUp).Row - 1, "A")
End Sub
ただ、A列のデータ件数が不定で、空欄個数も何個か不明であれば、関数のみで出すとなると他の条件が無いと厳しいかもしれません。
例えば、一番下のセルが『合計』という文字が入力されているとか、最大値が入力されているとかなら抜け道が出てきますけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
エクセルシートの見出しの文字...
-
VLOOKUP FALSEのこと
-
エクセルの文字数列関数と競馬...
-
表計算ソフトでの様式の呼称
-
【マクロ】【画像あり】ファイ...
-
【画像あり】【関数】指定した...
-
エクセルでフィルターした値を...
-
【マクロ】【画像あり】4つの...
-
【マクロ】数式を入力したい。...
-
勤怠表について ABS、TEXT関数...
-
エクセルの複雑なシフト表から...
-
セルにぴったし写真を挿入
-
【画像あり】オートフィルター...
-
Office2021のエクセルで米国株...
-
【関数】3つのセルの中で最新...
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
Dir関数のDo Whileステートメン...
-
【マクロ】【画像あり】関数が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】実行時エラー '424':...
-
エクセルのVBAで集計をしたい
-
Office2021のエクセルで米国株...
-
【画像あり】オートフィルター...
-
vba テキストボックスとリフト...
-
他のシートの検索
-
【マクロ】【相談】Excelブック...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】左のブックと右のブ...
-
エクセルの関数について
-
エクセルのリストについて
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】excelファイルを開く...
-
【関数】3つのセルの中で最新...
-
エクセルの複雑なシフト表から...
-
【マクロ】【画像あり】❶ブック...
-
LibreOffice Clalc(またはエク...
おすすめ情報