dポイントプレゼントキャンペーン実施中!

以下の条件で表のA列一番下の数値を取得する場合はどうしたらよいのでしょうか…

・A列には1行空けた状態で下にも同じ表が複数並んでいます
(A1~A10 / A12~A21 / A23~A32・・・)
・各表のA列の最終行は決まっておらず動きます
・各表のA列には全て数式が入っています

Excelは独学の為、専門的なことが分からず調べながら触っている状態なのですが
上記の条件で各表のA列最終行になった数値を取得する方法がどうにも分からず…
どなたかご教示願えたら幸いです。
宜しくお願い致します。

質問者からの補足コメント

  • シートの画像を貼り付けます。
    何か良い方法はあるでしょうか?

    「Excelについて」の補足画像1
    No.1の回答に寄せられた補足コメントです。 補足日時:2022/03/13 01:24

A 回答 (3件)

No1です。



補足を読んで、『10行ごとのセル範囲でその中の最大行にある値を取得したい』ということと解釈しました。

No1の式の範囲を限定することで、そのまま使えます。
例えば、
対称が、A1~A10なら
 =INDEX(A:A,AGGREGATE(14,6,ROW(A1:A10)/(A1:A10<>""),1))
対称が、A12~A21なら
 =INDEX(A:A,AGGREGATE(14,6,ROW(A12:A21)/(A12:A21<>""),1))
対称が、A23~A32なら
 =INDEX(A:A,AGGREGATE(14,6,ROW(A23:A32)/(A23:A32<>""),1))
 ・・・・・
といった具合です。

ただし、指定範囲内に値が無い場合(=すべて空白セル)には、エラー値(#NUM!)になります。
これを避けたければ、式にエラー処理を付け加えれば良いでしょう。

上記の式を一般化して、「n番目のブロックの最終行の値」を求める式にするなら、
=INDEX(A:A,AGGREGATE(14,6,ROW(OFFSET(A$1,n*11-11,0,10))/(OFFSET(A$1,n*11-11,0,10)<>""),1))
などとしておいて、式中の「n」の部分をブロック番号に変えるようにすれば算出することが可能です。
    • good
    • 0
この回答へのお礼

『10行ごとのセル範囲でその中の最大行にある値を取得したい』
その通りです!説明すら上手くできず己の語彙力に悲しくなる…
No1さんNo2さんに教えて頂いた関数を調べてましたが、ホントExcelって凄いですね!そして理解して使いこなせてる方たちを尊敬します。
ありがとうございました!

お礼日時:2022/03/13 16:11

じぶんなら、


A列の値が空白でなければその行番号を拾うようにして、
INDIRECT関数か、OFFSET関数を使って拾ってくるかな。

 =INDIRECT(ADDRESS(MAX(IF(A:A="",0,ROW(A:A))),1))
 =OFFSET(A1,MAX(IF(A:A="",0,ROW(A:A)))-1,0)

こんな感じ。
ただし配列数式として確定させる必要があるため
 Ctrl+Shift+Enter 
で数式を確定させ、数式バーに

 {=INDIRECT(ADDRESS(MAX(IF(A:A="",0,ROW(A:A))),1))}
 {=OFFSET(A1,MAX(IF(A:A="",0,ROW(A:A)))-1,0)}

と表示させるようにする必要があります。

・・・

面倒なんで、要求されない限り数式の説明はしません。
必要であれば「お礼」または「補足」に説明が欲しいことを書いてください。
起きていれば説明します。
その際は、何が分からないのかを書いていただければ、分かりやすく説明します。
なお、No.1の回答にある数式でも説明できますよ。

……質問者さん的には、数式を示してもらえれば解決したと考えるのでしょうが、
本質的には理解していないので条件が少し違う同様の問題が起きた時に対処できなくなります。
しっかり理解して自力で問題を解決できる知識を身につけるようにしましょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます!
なるほど…なかなか難しい…
子供が巣立った後に無知なままExcelを触りだしたため、実際分からないことにぶつかりながら色々な関数を知る状態です。(それが意外と楽しくて…笑)
示して頂いた数式を理解できるように再度調べながらやってみます。
こうやって教えてくれる方に感謝です。
ありがとうございました!

お礼日時:2022/03/13 12:36

こんばんは



>各表の~
ってのが質問文のあちこちで出てくるけれど、「各表」の意味が分かりません。

>上記の条件で各表のA列最終行になった数値を取得する方法~
 ・目視で調べる
 ・関数で調べる
 ・マクロ等で調べる
等々が考えられます。

『シート内のA列最終行の値を取得する』関数でよければ、A列以外のセルに
 =INDEX(A:A,AGGREGATE(14,6,ROW(A:A)/(A:A<>""),1))
とかでしょうか。
(A列に式を記述する場合は、検索対象範囲を調整する必要があります)
この回答への補足あり
    • good
    • 0
この回答へのお礼

お返事頂きありがとうございます。
分かりにくくて申し訳ありません。
補足で画像を張り付けました。
現在は目視で数を拾い計算してる状態です。
数が多いので何か良い方法はないかと思い質問させて頂きました。

お礼日時:2022/03/13 01:26

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