
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(エクセル)
-
6
Excel関数で、範囲内の最後のセルを得る方法
Excel(エクセル)
-
7
Excelで数式内の文字色を一部だけ変更したい
Excel(エクセル)
-
8
エクセルで、直近10件のみ抽出。
Excel(エクセル)
-
9
値が入っている一番右のセル位置を返す方法
Excel(エクセル)
-
10
EXCELで2つの数値のうち大きい方を採択する数式
Excel(エクセル)
-
11
マクロでセルの右から2番目の文字を取得する方法を教えてください
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
条件付書式設定にて、本日の日...
-
excelで日付関数の文字列変換の...
-
派遣会社とかハローワークとか...
-
【関数】不規則な文章から●●-●●...
-
マクロOn Error GoTo ErrLabel...
-
【マクロ】エクセルのブックの...
-
findメソッドで、10:00:01 を検...
-
空白セルに斜線(罫線)
-
【マクロ】findメソッドで見つ...
-
Excelオンライン 条件にあい、...
-
Excel 複数のセルが一致すると...
-
Excelの関数内の文字を一括変換...
-
3〜400人分のデータをExcelで管...
-
エクセルに、105と入力すると、...
-
Excelファイルを開くと私だけVA...
-
マクロ・VBAで、当該ファイルの...
-
エクセルで、一部のセルだけ固...
-
Excelで職務経歴書作成方法
-
エクセルについてどう関数を使...
-
エクセルで同じブックを開くに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報