Excel 一瞬で連続する数を出力する方法!縦、横方向や範囲指定も!

Excel 一瞬で連続する数を出力する方法!縦、横方向や範囲指定も!
Excelで一瞬で連続する数字を出力したいときはないでしょうか。

けど、そんな中で悩むことは、

・オートフィルでドラッグしても「1,1,1」とコピーされてしまう
・縦にも横にも番号を振りたいが、毎回手入力していて手間
・2,4,6…のような飛び飛びの番号を一気に出したい

ですよね。

今回はそんなお悩みを解決する

・SEQUENCE関数で連続する数字を一瞬で出力する方法
・SEQUENCE関数が使えないExcelでも出力する方法(ROW関数・COLUMN関数・フィルハンドル)

についてまとめます!

完成イメージ

連番を手で入力していると抜けや重複が起きやすく、縦と横が混ざると番号の基準が分からなくなりがちです。
今回は
・縦にも横にも、範囲をまとめて一瞬で連続する数字を出力する方法
をゴールにします。
SEQUENCE関数・ROW関数・COLUMN関数・フィルハンドルを、お使いのExcelと場面に合わせて使い分けられるようになります。

なお、飛び飛びの番号の作り方や、うまくいかないときの対処法(トラブルシュート)もあわせてご紹介します。
早速実装して試してみましょう!
完成イメージ
上の画像が完成形です。縦の連番(1〜10)、横の連番(1〜10)、範囲を指定した連番(11〜24)、飛び飛びの番号(2,4,6,8,10)が出力されています。

【方法1】SEQUENCE関数で連続する数字を出力する

Excelの新しいバージョン(Microsoft 365・Excel 2021以降)には、SEQUENCE関数という便利な関数があります。
1つの数式を入れるだけで、連続した数値をまとめて出力できます。
このように数式の結果が複数のセルへ自動的に広がる仕組みをスピルと呼びます。
なお、お使いのExcelがスピルに対応していない場合は、【方法2】の手順で同じ結果を作れます。

SEQUENCE関数の書式と引数

引数は4つで、後ろの3つは省略できます。

引数 内容 省略したとき
行数(rows) 生成する行の数 省略できません
列数(columns) 生成する列の数 1(縦1列)
開始(start) 開始する数値 1
増分(step) 各数値の間隔 1(1ずつ増える)

STEP1. 縦方向に連続した数値を出力する

A1セルを選び、=SEQUENCE(10) と入力します。
引数を1つだけ指定すると、その行数分の数値が縦方向に出力されます。

=SEQUENCE(10)

確定すると、1〜10が縦に並びました。
セルを1つ埋めるだけで済むのがスピルの強みです。
SEQUENCE関数で縦に1〜10の連番を出力

STEP2. 横方向に連続した数値を出力する

横方向に出力したいときは、1つ目の引数(行数)を1にして、2つ目に列数を指定します。
1〜10を横に並べる式はこちらです。

=SEQUENCE(1, 10)

「1行×10列」の指定になり、1〜10が横一列に出力されます。
SEQUENCE関数で横に1〜10の連番を出力

STEP3. 範囲を指定して縦に出力する

次は、開始する数値と個数を指定してみましょう。
11〜24の連続した数値を縦に出力します。

=SEQUENCE(14, 1, 11, 1)

第1引数の14が行数、第2引数の1が列数、第3引数の11が開始、第4引数の1が増分です。
「11から始まる数値が14個」なので、最後は24になります。
SEQUENCE関数で11〜24を縦に出力

STEP4. 範囲を指定して横に出力する

横方向に同じことをするときは、行数と列数を入れ替えるだけです。
11〜24を横に並べる式はこちらです。

=SEQUENCE(1, 14, 11, 1)

第1引数の1が行数、第2引数の14が列数になります。
第4引数の増分を変えれば、2,4,6…のような飛び飛びの数値も作れます。
SEQUENCE関数で11〜24を横に出力

STEP5. 連続した日付を出力する

応用として、日付の連番も作れます。
開始の引数に日付を指定すれば、1日ずつ増えた日付が並びます。

=SEQUENCE(10, 1, DATE(2026,1,1), 1)

DATE関数で開始日を作り、それを第3引数に渡しているのがポイントです。
出力先の表示形式を日付にしておくと、下のように読める形で表示されます。
SEQUENCE関数で連続した日付を出力
なお、スピルに対応していない古いExcelでは、SEQUENCE関数は1つの数値しか出力されません。
その場合は、次の【方法2】の手順で同じ結果を作りましょう。

【方法2】SEQUENCE関数が使えないExcelで出力する

スピルに対応していないExcelでも、ROW関数・COLUMN関数・フィルハンドルを使えば同じ結果を作れます。
ここからは実際の画面で手順を追っていきましょう。

STEP6. 準備(連番を入れる場所を用意する)

まずは連番を出力する作業スペースを用意します。
今回は縦の連番・横の連番・飛び飛び番号の3つを作ります。
1行目に「縦の連番」「横の連番」の見出しを入れておきましょう。
見出しは目印なので、無くても構いません。
空のセルが並んでいれば準備は完了です。
連番を入れる作業スペース

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。

縦の連番 フィルハンドル 横の連番
1
2
3 飛び飛び番号(増分2)
4
5
6
7
8
9
10
縦横の番号表

※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。

STEP7. ROW関数で縦の連番を振る

縦方向の連番はROW関数を使うと一瞬で作れます。
A2セルを選び、=ROW()-1 と入力します。
ROW関数は「そのセルの行番号」を返す関数です。
2行目なら2が返るので、そこから1を引くと1になります。
実際の入力画面がこちらです。
ROW関数の入力画面
確定できたら、フィルハンドルでA11まで下へドラッグします。
A列に1〜10の連番が並びました。
行番号から計算しているので、途中に行を挿入しても番号は自動で振り直されます。
カンタンですね。
ROW関数で縦に1〜10の連番

STEP8. COLUMN関数で横の連番を振る

横方向の連番はCOLUMN関数を使います。
C2セルを選び、=COLUMN()-2 と入力します。
COLUMN関数は「そのセルの列番号」を返す関数です。
C列は3列目なので、3から2を引くと1になります。
実際の入力画面がこちらです。
COLUMN関数の入力画面
確定したら、フィルハンドルでJ2まで右へドラッグします。
C列からJ列まで1〜8の連番が並びました。
縦がROW関数、横がCOLUMN関数です。
ここは混同しやすいので、「行はROW、列はCOLUMN」と覚えておきましょう。
COLUMN関数で横に1〜8の連番

STEP9. 縦横に同時に展開する

ROW関数とCOLUMN関数は、組み合わせると表全体に一気に番号を振れます。
下に「縦横の番号表」を作ってみましょう。
上端の行には =COLUMN()-3、左端の列には =ROW()-13 を入れます。
数式を入れたセルを選び、隣のセルへまとめてコピーすれば一気に展開できます。
まずは上端の数式から見ていきます。
縦横の番号表の数式入力
左端の列にも同じようにROW関数を入れて、下へコピーします。
上端に1〜6、左端に1〜6の番号が入りました。
縦は行番号、横は列番号を基準にしているので、範囲が広がっても番号がずれません。
縦横いっしょに番号を振りたいときはこの考え方が便利です。
縦横に番号が入った表

STEP10. 飛び飛びの番号(増分2)を出力する

2,4,6,8,10 のように飛び飛びにしたいときは、ROW関数を掛け算にします。
C5セルを選び、=(ROW()-4)*2 と入力します。
5行目なら (5-4)×2 で2、6行目なら4になります。
「2ずつ増やす」なら掛け算で、「3ずつ増やす」なら *3 にするだけです。
実際の入力画面がこちらです。
飛び飛び番号の数式入力
確定してC9までコピーすると、2,4,6,8,10 が並びました。
増分を変えたいときは、掛け算の数字を変えるだけです。
たとえば =(ROW()-4)*5 なら 5,10,15… になります。
飛び飛び番号2,4,6,8,10

STEP11. フィルハンドルと「連続データ」で作る

関数を使わず、マウスだけで連番を作ることもできます。
まずB2セルに1、B3セルに2と入力します。
この2つのセルを選び、右下の小さな四角(フィルハンドル)を下へドラッグします。
すると1,2,3…と連続した番号が自動で入ります。
仕上げに、リボンのホーム → フィル → 連続データを使う方法も覚えておきましょう。
開始値と増分値を指定できるので、飛び飛びの番号もダイアログで作れます。
フィルハンドルで作った連番

連番を作る方法の比較

それぞれの方法の特徴を表にまとめました。
作りたい番号の性質に合わせて選ぶと迷いません。

方法 向いている場面 行・列の挿入に強いのは 注意点
SEQUENCE関数 スピル対応のExcelで、数式1つで作りたいとき 強い(自動でセルが広がる) スピル非対応のExcelでは使えない(1つしか出ない)
フィルハンドル 数件〜数十件をさっと振るとき 弱い(値なので追従しない) 1つだけ選ぶと「1,1,1」とコピーされる
ROW関数 縦に長い一覧に番号を振るとき 強い(行を挿入しても自動で振り直し) 行を削除すると番号が詰められる
COLUMN関数 横に長い表に番号を振るとき 強い(列を挿入しても自動で振り直し) 列を削除すると番号が詰められる
ROW+COLUMN 縦横の見出しにまとめて番号を振るとき 強い 行番号と列番号の基準がずれないよう注意
POINT

「手軽さ重視」ならフィルハンドル、
「行や列を挿入しても崩したくない」ならROW関数・COLUMN関数がおすすめです。
縦横の見出しをまとめて振るなら、ROW関数とCOLUMN関数の組み合わせが最短です。

うまくいかないときの対処法(トラブルシュート)

実際に試すと、思ったように動かないこともあるかもしれません。
よくあるつまずきと対処法をまとめました。

症状 原因 対処
1,1,1とコピーされてしまう セルを1つだけ選んでドラッグした/Ctrlキーを押しながらドラッグした 1と2の2つのセルを選んでドラッグする/直後のオートフィルオプションで連続データを選ぶ
行を削除したら番号がズレた ROW関数は行番号を基準にしている 削除で番号が詰められるのは仕様です。崩したくない範囲は手入力にするか、並び順を変えない運用にします
縦横同時展開で基準がズレる 数式の起点セルと実際の行・列番号が合っていない 縦はROW()、横はCOLUMN()を使い、引き算する数を起点に合わせて調整します
番号が文字列として入ってしまう セルの表示形式が「文字列」になっている/「’1」と入力した セルの表示形式を標準に戻してから、数式を入れ直します
SEQUENCE関数が#NAME?になる スピルに対応していない古いExcelを使っている 【方法2】のROW関数・COLUMN関数・フィルハンドルで作ります
SEQUENCE関数で1しか出ない スピルが無効になっている/バージョンが古い 数式を消して【方法2】に切り替えます。Microsoft 365なら最新版に更新すると使えます
#SPILL!エラーになる 出力先のセルに別のデータが入っている 数式の右下にあるセルを空にしてから、もう一度入力します

VBAで一括採番する

毎回同じ範囲に連番を振るなら、VBAで一括処理するのがもっともラクです。
Alt+F11でVBAエディターを開き、標準モジュールに次のコードを貼り付けます。

Sub Renban()
    Dim r As Long, c As Long
    For r = 2 To 11
        Cells(r, 1).Value = r - 1
    Next r
    For c = 3 To 10
        Cells(2, c).Value = c - 2
    Next c
End Sub

実行すると、縦の列と横の行に一気に連番が入ります。
ボタンに登録しておけば、クリック1つで採番できるようになります。

タカヒロ

タカヒロ
「Cells(2, c)」の 2 は2行目、c は列番号です。
縦は行番号、横は列番号と覚えておけば、番号の入れ先を間違えません。
むずかしく見えますが、やっていることはROW関数・COLUMN関数と同じなのでカンタンですね。

関数の説明

今回使う2つの関数の概要です。
どちらも連番づくりで欠かせない関数なので、違いを押さえておきましょう。

SEQUENCE関数(シーケンス)

書式 =SEQUENCE(行数, [列数], [開始], [増分])
できること 連続した数値の一覧を生成します。1つの数式で複数のセルに出力できます。
戻り値 数値の配列(スピルで複数のセルに展開されます)
こんなときに 縦・横・範囲指定の連番を、数式1つで作りたいとき。
注意 スピル非対応のExcel(Microsoft 365・Excel 2021より前)では使えません。
=SEQUENCE(10)

ROW関数(ロウ)

書式 =ROW([参照])
できること 指定したセルの行番号を返します。参照を省略すると、数式が入っている行の番号を返します。
戻り値 行番号(数値)
こんなときに 縦方向の連番を作りたいとき。=ROW()-1 で2行目から1にできます。
注意 行を削除すると番号が詰められて変わります。並べ替えでも振り直されます。
=ROW()-1

COLUMN関数(カラム)

書式 =COLUMN([参照])
できること 指定したセルの列番号を返します。参照を省略すると、数式が入っている列の番号を返します。
戻り値 列番号(数値)
こんなときに 横方向の連番を作りたいとき。=COLUMN()-2 でC列から1にできます。
注意 列を削除すると番号が詰められて変わります。開始列に合わせて引く数を調整します。
=COLUMN()-2

完成

SEQUENCE関数なら数式1つで、ROW関数・COLUMN関数ならどのExcelでも、連番を一瞬で出力できました。
縦に1〜10、横に1〜8、飛び飛びに2,4,6,8,10 の番号が出力できています。
思ったとおりに動きましたか?
ROW関数とCOLUMN関数で作っておけば、あとから行や列を挿入しても番号は自動で振り直されます。
手入力の番号付けから卒業すると、毎回の採番作業がぐっとラクになります。
連番が一瞬で出力された完成表

さいごに

いかがでしょうか。

今回は、

・SEQUENCE関数で連続する数字を一瞬で出力する方法
・SEQUENCE関数が使えないExcelでも出力する方法(ROW関数・COLUMN関数・フィルハンドル)

についてまとめました。

まずは今回のサンプルシートで、ぜひ一度試してみてください。
縦はROW関数、横はCOLUMN関数、手軽に済ませたいときはフィルハンドルと使い分けてみてくださいね。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。

ぜひ試してみてください。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image