途中に空欄のセルが存在しても無視して、兎に角、数値データが入力されているセルの内、最も下にあるセルの行番号を求める場合には、MATCH関数を利用して、「その列に入力されている最大の数値を確実に上回る数」の位置を検索します。
=MATCH(9^99,A:A)
或いは
=MATCH(MAX(A:A)+1,A:A)
但し、上記の関数は、文字列データが入力されていても、無視してしまいますので、文字列データが入力されている最下段の行番号を求める事は出来ません。
途中に空欄のセルが存在しても無視して、兎に角、文字列データが入力されているセルの内、最も下にあるセルの行番号を求める場合にも、やはりMATCH関数を利用して、「その列に入力されている事はあり得ない文字列」(例えば濁点のみの文字列)の位置を、照合の型を-1として検索します。
=MATCH("゛",A:A,-1)
但し、こちらの関数は、数値データが入力されていても、無視してしまいますので、数値データが入力されている最下段の行番号を求める事は出来ません。
もし、文字列データと数値データが混在している場合には、MATCH関数に加えて、MAX関数も使用します。
=MAX(IF(COUNT(A:A),MATCH(MAX(A:A)+1,A:A),0),IF(COUNTIF(A:A,"*?"),MATCH("゛",A:A,-1),0))
お礼
私の質問が言葉足らずでした。VBA を使った環境での回答を求めていたのですが、誤解を与えたようです。質問を取り消します。
補足
keithin さん、回答有難うございます。 (1)私の質問は、13行まで埋まっており、14行が空、15行に何らかのデーターが有るとき、「13」という答えがほしいのです。 (2)私が使っているExcel は、2010なのですが、Debug.Print CountA(A:A)と試してみるとコンパイルエラーが表示されます。