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

 

結果イメージ