
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの列から検索して該当する行を別シートに転記するVBA 2 2022/12/20 09:35
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) INDEX関数とMATCH関数を使用し値を返す数式についてです 2 2022/04/20 13:40
- Excel(エクセル) Excel 値を返す数式についてです 3 2022/11/21 20:08
- Java Java 南京錠 2 2023/02/04 11:46
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Visual Basic(VBA) 先頭と末尾を指定して連続した数字を入力 1 2022/09/14 13:12
- Visual Basic(VBA) VBAでセル同士を比較して色付け 4 2023/03/06 19:57
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Visual Basic(VBA) 別ブックの列同士の値が一致したときの処理 1 2022/09/03 08:27
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルで空白を無視して一番左にあるセルを参照したい
Excel(エクセル)
-
Excel 空白を含む列範囲からn番目のセル
Excel(エクセル)
-
エクセルで空白セルを含む列の最終行の値を取得する式を教えてください
Excel(エクセル)
-
-
4
エクセルで求めたセルの左隣りのセルの値を返したいです
Excel(エクセル)
-
5
Excel関数で、範囲内の最後のセルを得る方法
Excel(エクセル)
-
6
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
7
マクロでセルの右から2番目の文字を取得する方法を教えてください
Excel(エクセル)
-
8
値の入っているセルのうち、一番右側の値を取得したい(エクセル)
Excel(エクセル)
-
9
エクセルの質問。 対象範囲の中で、一番下に位置する値を返す関数。
Excel(エクセル)
-
10
エクセルで、直近10件のみ抽出。
Excel(エクセル)
-
11
Excelで重複データの件数ではなく、何番目かを求める方法
Excel(エクセル)
-
12
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの関数について
-
エクセル GROUPBY関数について...
-
Excelで4択問題を作成したい
-
エクセルの複雑なシフト表から...
-
エクセル
-
Amazonでマイクロソフトオフィ...
-
エクセルシートの見出しの文字...
-
グループごとの個数をカウント...
-
【マクロ】変数に入れるコード...
-
エクセルのリストについて
-
【マクロ】別ファイルへマクロ...
-
グループごとの人数のカウント
-
エクセルについて
-
グループごとの人数のカウント
-
【マクロ】左のブックと右のブ...
-
【マクロ】元データと同じお客...
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報