アプリ版:「スタンプのみでお礼する」機能のリリースについて

   A   B
1  10   (=" ")
2  ×   (=" ")
3  17   (=" ")
4  28
5  ×
6  (=B1)
7  (=B2)
8  (=B3)

のように、A列に数値や文字列が入力されています。
A6以降は他のセルに入力されたものがこれから入力されます。
(A6以降は、見た目は空欄です)

A列で数値であろうと文字列であろうと、とにかく見た目の最下行のセル
に入力されている数値または文字列を返すにはどういう数式を使えば良いでしょうか?
(上の例では、A5の×を返したいのです)

=INDEX(A:A,
MAX(
IF(COUNTIF(A:A,"*"),MATCH("",A:A,-1)),
IF(COUNT(A:A),MATCH(MAX(A:A)+1,A:A,1))))
では、A8(見た目は空欄)が返ってきてしまいますし、

=LOOKUP(10^5,I:I)
では、A4の28が返ってきてしまいます。

どなたかご教授ください。
よろしくお願いします。

A 回答 (4件)

=INDEX(A1:A65535,MAX(IF(TRIM(A1:A65535)<>"",ROW(A1:A65535))),1)



但し、配列を使っているのでセルの確定は Enterキーではなく、
Ctrl+Shift+Enterキーで確定します。
配列は、列全体では、エラーになってしまうので
A1:A65535にしました。 
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
自分では理解できていないものの、この配列数式で解決できました。

ありがとうございます。

お礼日時:2008/02/03 16:10

一読して、式は入っているが、見た目空白のセルを除外するのかどうかはっきりしない。


関数は他のセルに数式が入っているかどうか判別できない。
異色のCELL関数でも判別できないよう。
ですからそれが必要な課題だと関数ではできないでしょう。
もう一度その観点から質問表現を考えてください。
式の有無にかかわらず値が空白のセルの最下行を求めるのか。
そしてVBAでプログラムを組むしかない。(ユーザー関数など)
ーー
式があっても値が空白ならば考慮しない方式
Function ls()
d = Range("A100").End(xlUp).Row
For i = d To 1 Step -1
If Cells(i, "A") = "" Then
Else
ls = i
Exit Function
End If
Next i
End Function
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
質問表現がわかりにくく、申し訳ございませんでした。

正しくは、
「式は入っているが、見た目空白のセルを除外した時、最下行にある数値または文字列を求める」
です。

No.1の回答の数式で解決できました。
丁寧な回答ありがとうございました。

お礼日時:2008/02/03 16:31

◆こんな方法も


=LOOKUP(1,0/(A1:A100<>""),A1:A100)
または、
=LOOKUP(1,0/(A:A<>""),A:A)
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
今回のこの数式では、少し不具合が生じてしまうのですが、
解決できました。

丁寧な回答ありがとうございます。

お礼日時:2008/02/03 16:21

見た目が空白ではない一番下の行の値で良いですか?



 =INDEX(A:A,MAX((A1:A100<>"")*ROW(A1:A100)))
を貼り付けてShift+Ctrl+Enterで確定して配列数式にするか、

 =INDEX(A:A,MAX(INDEX((A1:A1000<>"")*ROW(A1:A1000),)))
を貼り付けて普通にEnterで確定
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
今回のこの数式では、少し不具合が生じてしまうのですが、
解決できました。

丁寧な回答ありがとうございます。

お礼日時:2008/02/03 16:20

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