
Googleスプレッドシートでオートフィルを使うと同じ数字の繰り返しになってしまう場合や、1212などの繰り返しになってしまう場合の解決方法をご紹介します。連番を生成するのに知っておくと便利な関数もご紹介しているので、ぜひ参考にしてみてください。
連番が繰り返しになる原因と解決方法

オートフィルで連番を作成しようとした際に、同じ数字が繰り返されてしまう場合、最初に数字を1つしか入力していないことが主な原因です。
スプレッドシートは、最初に1つの数字だけが入力されていると、その数字をコピーするものと認識し、次の数字を予測できません。そのため、同じ数字が連続して表示されてしまいます。
オートフィルで正しく連番を作成するには、以下のいずれかの方法を試してください。

方法1: 連続する数字を2~3個入力してからオートフィル
- 最初に、連番を開始する連続した数字を2つ(例:「1」と「2」)または3つ(例:「1」「2」「3」)入力します。
- 入力したセルをすべて選択します。
- 選択したセルの右下にある小さな丸(フィルハンドル)にマウスカーソルを合わせ、カーソルが十字の形になったら、連番を作成したい方向へドラッグします。

方法2: [Ctrl]キーを押しながらオートフィル(数字を1つしか入力していない場合でも可能)
- 最初に、連番を開始したい数字を1つだけ入力します。
- 入力したセルを選択します。
- 選択したセルの右下にあるフィルハンドルにマウスカーソルを合わせます。
- [Ctrl]キー(Macの場合は[command]キー)を押しながら、マウスの左ボタンを押して連番を作成したい方向へドラッグします。
連番が1212になる原因

数字を2~3個入力しているにも関わらず、オートフィルで「1212」のような繰り返しになってしまう場合、入力された数字が全角である可能性が高いです。
Googleスプレッドシートは、全角で入力された数字を、数値としてではなく文字として認識します。そのため、オートフィルを実行しても、数値の増減パターンを認識できず、「1」「2」「1」「2」という文字の繰り返しとして処理されてしまいます。

この問題を解決するためには、数字を半角で入力し直してください。半角数字で入力することで、スプレッドシートがそれらを数値として正しく認識し、オートフィルによって意図した連番を作成することができます。
正: 「1」「2」と半角で入力してオートフィル → 結果:「1」「2」「3」「4」…
誤: 「1」「2」と全角で入力してオートフィル → 結果:「1」「2」「1」「2」…
単位を入力すると連番が繰り返される場合

数字の後ろに直接「日」や「個」などの単位を入力している場合も、同様に繰り返しになります。
スプレッドシートは、単位が付いたものを数値として認識できないため、入力された内容をそのまま繰り返してしまいます。

数字に単位をつけたい場合は、セルの表示形式をカスタマイズします。
- 対象のセルを選択し、「表示形式」→「数字」→「カスタム数値形式」を開きます。
- 数値形式欄に、
# "日"
のように入力し、「適用」をクリックします。 - 例えば、
# "個"
と入力すれば、セルには「1 個」「2 個」のように表示されますが、内部的には数値として扱われるため、オートフィルで正しく連番を作成できます。
【知っておくと便利】連番を作成する関数
Googleスプレッドシートには、オートフィル以外にも連番を効率的に作成できる便利な関数がいくつかあります。
ROW関数:行番号を利用した連番作成

ROW関数は、数式を入力したセルの行番号を返します。
例えば2行目に 1 から始まる連番を振りたい場合は =ROW()-1
、1行目に 10 から始まる連番を振りたい場合は =ROW()+9
になります。
この方法で入力すると、途中の行を削除しても連番が崩れないのがメリットです。
ROW関数の引数:([セル参照])

さらに、ROW関数とショートカットキーを組み合わせることで、数式を複数のセルに一気にコピーし、連番を効率的に作成することもできます。
例えば、A2セルに =ROW()-1
と入力した後、以下の手順を実行します。
- A2セルを選択します。
- [Ctrl] + [Shift] + [↓] を押して、連番を作成したい範囲の一番下のセルまでを選択します。
- 選択された状態で、[Ctrl] + [Enter] を押します。
これにより、選択されたすべてのセルに =ROW()-1
の数式がコピーされ、各セルの行番号に基づいて自動的に連番が生成されます。大量の連番を一度に作成したい場合に非常に便利なテクニックです。
SEQUENCE関数:指定範囲に一括で連番を生成

SEQUENCE関数は、指定した行数分の連続する数値を、一括で配列として生成します。
例えば、=SEQUENCE(100)
と入力すると、1から100までの連番が瞬時に表示されます。
SEQUENCE関数の引数:(行数, [列数], [開始値], [増分量])

さらに、SEQUENCE関数は、開始値や増加量も指定できます。
- 行数: 生成する連番の行数を指定します(必須)。
- 列数: 生成する連番の列数を指定します(省略可能、デフォルトは1)。
- 開始: 連番の開始値を指定します(省略可能、デフォルトは1)。
- 増分量: 連番の増加量を指定します(省略可能、デフォルトは1)。
例えば、=SEQUENCE(5, 1, 10, 2)
と入力すると、10から始まり2ずつ増加する5つの縦方向の連番(10, 12, 14, 16, 18)が生成されます。