• ベストアンサー

エクセル 関数 下から一番最初の行番号

図のように下から数えて一番最初にヒットする空白でない行番号を取得したいのですが、 いい関数はありますか? VBAは避けたいです。 ご教授よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

例題通りなら =MATCH("ー",A:A) でどうでしょう?

qwfgjo
質問者

お礼

思った通りにできました!ありがとうございます。

qwfgjo
質問者

補足

すいません。 興味本位で知りたいのですが、"ー"はどういう意味なのでしょうか? なぜ"ー"で最終行がわかるのか不思議です。 再度ご解答いただけたら幸いです。

その他の回答 (5)

回答No.6

#1です >興味本位で知りたいのですが、"ー"はどういう意味なのでしょうか? 文字列の中では大きな値ということです。 数値の場合は =MATCH(8^3^8,A:A) でもいいです >なぜ"ー"で最終行がわかるのか不思議です。 MATCH関数の照合の型を1(または-1)にすると二分探索を使った検索を行います。検索対象が昇順(降順)に並んでいるとされているので、最終行を見て判断し、終わりのほうの値がある場所を示すんだと思います 正確なアルゴリズムはわかりませんが、その性質を逆手に取った方法だと考えられます。

参考URL:
http://oshiete1.goo.ne.jp/qa5186020.html
qwfgjo
質問者

お礼

再度ありがとうございます。理由がわかってすっきりしました。

  • maron--5
  • ベストアンサー率36% (321/877)
回答No.5

【数値の場合】 =MATCH(10^10,A:A) 【文字列の場合】 =MATCH("ー",A:A) 【数値・文字列の場合】 =MATCH(1,INDEX(0/(A:A<>""),0)) 【「あ」の場合】 =MATCH("あ",A:A)

qwfgjo
質問者

お礼

いろいろは方法を教えてくださってありがとうございます。 大変参考になりました。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! すでに回答は出ていますが・・・ 文字・数値どちらにも対応できる数式です。 尚、配列数式になりますので、↓の数式をコピー&ペーストした後に F2キーを押すか、数式バー内を一度クリックして Shift+Ctrl+Enterキーを押してみてください。 数式の前後に{ }マークが入り、配列数式になります。 =MAX(IF(A1:A10000<>"",ROW(A1:A10000))) 尚、とりあえず10000行まで対応できる数式です。 以上、参考になれば幸いです。m(__)m

qwfgjo
質問者

お礼

こんな裏技初めて知りました! 2番目のmike_gさんもこのことを言ってるのですね! ご回答ありがとうございます。参考になりました。

  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.3
qwfgjo
質問者

お礼

ご回答ありがとうございます。よく読んでみます。

noname#204879
noname#204879
回答No.2

{=MAX((A1:A100<>"")*ROW(A1:A100))} ←配列数式

qwfgjo
質問者

お礼

ちょっと使い方がわからないので調べてみます。

関連するQ&A