Excel 2010 - セルの行位置に基づいて列の最大値を取得する

Excel 2010 - セルの行位置に基づいて列の最大値を取得する

私は、すべての入力行に ID (ヘッダーを除く) が必要なスプレッドシートで作業しています。通常は、単に「=PreviousCell.Value + 1」(疑似コード) を実行するだけでうまくいきます。ただし、すべての行が入力されているわけではないため (説明用の追加行を許可するため)、この数式は機能しません。

「おそらく」データが入力される行は A5 から始まり、最大数は不明です。この数式と他のいくつかの数式を確認しましたが、常に「循環参照の警告」が表示され、常に 0 という結果が返されます。

=OFFSET($A$5,0,0,COUNT($A$5:$A$1048576))

列 A の前のセルの値を見つけることができる数式を知っている人はいますか? たとえば、最後のセルが 3 の A7 だった場合、3 が返されます。

答え1

MAX関数を使用して最大値を見つけることができます。

=MAX($A$5:A5)

最大値に1を加える

=MAX($A$5:A5)+1

最初の部分A5は絶対パスである必要があり$A$5、2 番目の部分はドル記号なしで相対パスである必要があることに注意してください。そのため、コピーすると次のようになります。

=MAX($A$5:A6)+1

見るhttps://support.office.com/en-za/article/Switch-between-relative-absolute-and-mixed-references-538396b3-990e-4b44-9d9c-28b4151d7d21

したがって、列 B が空白でない場合に列 A に ID を入力したい場合は、次のようにします。

=IF(ISBLANK(B5),"",MAX($A$5:A5)+1)

コピーします。

関連情報