• ベストアンサー

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

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

  • qwfgjo
  • お礼率100% (282/282)

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

  • ベストアンサー
回答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

  • 【Excel関数】複数条件に対し、最初に一致したセルの行番号を返す方法

    【Excel関数】複数条件に対し、最初に一致したセルの行番号を返す方法  今晩は,いつも勉強させていただいております. 質問させていただきます.どうぞよろしくお願いいたします. (VBA以外でお願いいたします m(_ _)m )  たとえばA列にランダムな数字が並んでいる場合、  |  A  |  B  |    18    22    17    30     :     : 上から順に、「16.5より大きく21より小さい数」の条件に対し 一番最初にひっかかったものの行番号を知りたい場合、 どのようにするのがよいでございましょうか??? (今回の場合、「3」行目の17がそれにあたります。)  ファイル数と行数が多く、全部をVBAで計算すると時間がかかるため、 VBAで  B1あたりにその関数を放り込む →行番号を知る →ファイル閉じる とやりたいのでございますが、よい関数を思いつきません。。。  もしお詳しい方がいらっしゃいましたら, ぜひともアドバイスいただきたくどうぞよろしくお願いいたします。

  • EXCELの行番号取得について

    A列に●がランダムに入っている状態で、1番目に●が入っている行番号、2番目に●が入っている行番号、3番目・4番目・・・の行番号を関数で取得したいのですが、良い方法はありますでしょうか。ご教授下さい。(バージョンはEXCEL2016です) よろしくお願いします。   A列    B列 1        4  ← 1番目の●の行番号 2        6  ← 2番目の●の行番号 3        9  ← 3番目の●の行番号 4  ● 5 6  ● 7 8 9  ● 

  • エクセルマクロのVBAでINDEX関数を使う。

    エクセルマクロのVBAでINDEX関数を使って値を取得しています。 値を取得したセル番地を取得したいと考えています。 ネットで調べましたが、なかなか思うような内容をヒットできません。 VBAに詳しいかた、ご教授お願い致します。

  • 関数で最終行を求めるにはどうすればいいでしょう

    A1からA5・A10に値が入ってるのですが VBAを使わずに関数で最終行を求めるにはどうすればいいでしょう? A10が最終行なので「10」が返ってほしいです。 空白行もあるのでCOUNTAだとダメみたいです。 COUNTA関数+INDEX関数を使えば求められるという情報を見ましたが使い方がわかりません。

  • 入力データのうち最も下にあるデータの行番号を得る関数

    データを縦方向へ下へ入力するのですが、 入力データのうち最も下にあるデータの行番号を得る関数を教えてください。(データは文字列です) 途中に空白セルもあります。 ちなみにデータが数値だと下記でよいのですが、 文字列の場合はどうすればよいのでしょうか。 また、数値と文字列が混ざった場合も教えてください。 MATCH(MAX(範囲)+1,範囲,1)

  • 【エクセル】 行番号を変数とする方法について

    下表のようなデータがあったとします。 A B C D 1 2 TEST 3 4 5 合計 100 6 <目的>ある文字列が含まれる行番号以下の範囲を指定して、VLOOKUP関数を使用。       ある文字列が含まれるセル行番号は、毎回異なる。 <具体例> 1) MATCH関数で、「TEST」という文字が含まれる行番号を取得     この場合「2」 2) VLOOKUP関数で VLOOKUP("合計",A2:D5,2false) というように   MATCH関数で得た行番号を他の関数に組み込みたいです。     どなたか、良い方法を教えて頂けないでしょうか? よろしくお願い致します。

  • EXCELで番号を付けたい

    SHEET1のD2からデータのある行までを別のシートに1から番号をつけていきたいのですが。 SHEET1 D 1 名称 2 ○○予備校 3 □□予備校 . . 32 △△予備校 SHEET2 Q 1 空白 2 1 3 2 . . 32 31 関数を使えばできるのですが、人によって行数が違うのでD65536まで数式を入力しなければなりません。できるだけファイルサイズを小さくしたいのでVBAを使ってできないでしょうか? また既にVBAが組まれているのでそこに追加する形になりますが、既存のVBAには影響はないでしょうか?

  • 最初の行に異変が

    Word2019です。 資料を作成していて、ほぼ出来上がったのですが、昨日、修正を加えようと思い、文書を開いてみると、添付した図のように、最初の行が「空白の行」になっていました。しかも、これが全部のページに渡っています。 この最初の行には、カーソルを置くこともできませんし、もちろん文字を書き込むこともできません。( ノД`)シクシク… 解消方法を教えてください。もし原因が分かれば、それも教えてもらえるとありがたいです。

  • 関数を使って列や行を非表示にすることはできますか?

    一覧表からvlookupを使って個人票を作っているのですが、人によっては空白の列や行が多く、間延びしたものになっています。 関数を使って、必要のない列や行を非表示にして印刷しないようにしたいのですが、可能でしょうか?VBAを使えばすぐできるのはわかるのですが、実際に作業する人はVBAはわからないので、関数でできないかと考えています。 何かいいアイデアがあれば、よろしくお願いします。

  • エクセル 色のついた行番号を取得する

    データの集計表で、オレンジ色の行は、下の行の合計を入れます。 1行目.オレンジ色の行(Colorindex=44) 2行目.(無色) 3行目.(無色) 4行目.オレンジ色の行 5行目.(無色) 6行目.(無色) 7行目.(無色) 8行目.(無色) 9行目.オレンジ色の行     ・     ・     ・ といった形に、ランダムに集計行があります。 さらに、 列A,列B,列C 大分類,中分類,売上金額 集計行(オレンジ色) 肉,(空白),1000 肉,生肉,500 肉,ハム,300 肉,ソーセージ,200 魚,(空白),750 魚,たい,450 魚,いか,200 魚,えび,100 集計行(オレンジ色) 野菜,(空白),1250 野菜,キャベツ,950 野菜,トマト,300 漬物,(空白)350 集計行(オレンジ色)     ・     ・     ・ 列Bが空白の場合は、その下の中分類の集計行なので、列Bが空白の行だけの合計を、列Cのオレンジ色のセルにSUM関数で集計したいのです。 また、次のオレンジの集計行まで、全ての列Bが空白の場合もあります。 まず、オレンジ色の行から、次のオレンジ色の行範囲を確認して、無色の行だけをSUM関数で集計できるのか、さらに列Bに文字が入っていた場合、それを除外してSUM関数で集計できるのか。を教えていただけますでしょうか。 以上宜しくお願い致します。

専門家に質問してみよう