数式の中で連続番号を発生させる関数

数式外で連続番号を発生させるには「オートフィル」を使えばよいでしょう。
しかし数式内で数値を使っても連続番号にはなりません。
ここでは数式内で連続番号を作成する関数の利用方法をご紹介します。

1:列(右)方向へコピーする際に連続番号を「関数」で作成する方法

下図サンプルの数式セルD3~G3をご覧ください。
セルD3に

=1&"月は"&D2

を作成してG3までコピーしました。
「数値」と「月は」と「2行目」のデータを「&」で連結させました。
「1月は睦月・2月は如月・3月は弥生・4月は卯月」としたかったのですが、計算式における数値部分は変化しないので「1」のままです。

ここでセルD3の数式内にある「1」を連続番号(右方向)となる関数に置き換えます。
右方向へ連続番号を作成する関数は

=COLUMN(A1)

です。
このCOLUMN関数は、セルA1は左から何列目にあるか、を調査しています。
「1」列目ですね。
この関数が使用されている数式セルを右へコピーすれば、そこでは

=COLUMN(B1)

が作成され、セルB1は左から「2」列目にあると返されます。

これらのことからセルD3の数式を

=COLUMN(A1)&"月は"&D2

と置き換えて、G列までコピーします。
COLUMN関数の引数が「B1~D1」へと変化し、それぞれの列位置が返されます。

2:行(下)方向へコピーする際に連続番号を「関数」で作成する方法

続けてセルC5~C8をご覧ください。セルC5に

=1&"月は"&B5

を作成して8行目までコピーしました。

今度も「1」の部分を連続番号に置き換えたいのですが、下へコピーする場合には

=COLUMN(A1)

は使用できません。

=ROW(A1)

を使います。
このROW関数は、セルA1は上から何行目にあるか、を調査しています。
「1」行目ですね。
この関数が使用されている数式セルを下へコピーすれば、そこでは

=ROW(A2)

が作成され、セルA2は上から「2」行目にあると返されます。

これらのことからセルC5の数式を

=ROW(A1)&"月は"&B5

と置き換えて、8行目までコピーします。
ROW関数の引数が「A2~A4」へと変化し、それぞれの行位置が返されます。

エクセルファイル:数式の連続番号 ダウンロード

コメント