Excelで上のセルにある数字+1する数式
Excelで,上のセルにある数字+1の値を入力するための式は、以下になります。
=OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)+1 |
使用イメージ

こちらは1行目もちゃんと動きます。
=IF(ISNUMBER(OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)),OFFSET(INDIRECT(ADDRESS(ROW(),COLUMN())),-1,0)+1,1) |
使用イメージ

Excelで空行を抜き連番を採番する数式
空行や文字列のセルは無視して、該当セルの直前にある数字を見つけて、その数字をインクリメントする数式で、飛び飛びで連番を作る必要がある場合に便利です。
数式
=INDEX(INDIRECT(ADDRESS(1,COLUMN(),4,1)):INDIRECT(ADDRESS(ROW()-1,COLUMN(),4,1)),MATCH(MAX(INDIRECT(ADDRESS(1,COLUMN(),4,1)):INDIRECT(ADDRESS(ROW()-1,COLUMN(),4,1)))+1,INDIRECT(ADDRESS(1,COLUMN(),4,1)):INDIRECT(ADDRESS(ROW()-1,COLUMN(),4,1)),1))+1
INDEX関数
INDEX 関数はテーブルまたはセル範囲にある値、あるいはその値のセル参照を返します。
ROW関数
引数として指定された配列の行番号を返します。
COLUMN関数
COLUMN 関数は、指定された セル参照の列番号を返します。 たとえば、列 D が4列であるため、数式=column (D10)は4を返します。
ADDRESS関数
ADDRESS 関数を使うと、行番号と列番号を指定して、ワークシート内のセルのアドレスを取得できます。 たとえば、ADDRESS(2,3) は $C$2 を返します。 また、ADDRESS(77,300) は $KN$77 を返します。 ROW 関数や COLUMN 関数などの他の関数を使って、ADDRESS 関数の行番号と列番号の引数を指定できます。
INDIRECT関数
指定される文字列への参照を返します。 セル参照はすぐに計算され、結果としてセルの内容が表示されます。 INDIRECT 関数を使うと、数式自体を変更しないで、数式内で使用しているセル参照を変更することができます。
MATCH関数
MATCH 関数は、範囲 のセルの範囲で指定した項目を検索し、その範囲内の項目の相対的な位置を返します。 たとえば、範囲 A1:A3 に値 5、25、38 が含まれている場合、数式「=MATCH(25,A1:A3,0)」を入力すると、範囲内では 25 が 2 番目の項目であるため、数字 2 が返されます。
結果イメージ


Excelで空行を抜き連番を採番する数式
単純に連番を作成するだけでしたら、以下の数式でもよいです。
単純な連番ですなので、途中で数字を1からリセットするような動きにはなりません。
数式
=MAX(INDIRECT(ADDRESS(1,COLUMN(),4,1)):INDIRECT(ADDRESS(ROW()-1,COLUMN(),4,1)))+1
結果イメージ
