Excel オートフィルで連続データができない場合の原因と対処方法

2023年2月7日

オートフィルは少ない手間の操作で1、2、3…と連番を作る機能ですが

正常に機能しない場合があります。

この記事ではその原因と対処方法を紹介します。

対処方法

オートフィルオプションから実行

オートフィルを実行した時に表示される「オートフィル オプション」を右クリックし、「連続データ」を選択します。

多くの場合、それで解決します。

貼り付けオプションの設定

「オートフィル オプション」が表示されない場合は貼り付けオプションがオフになっている可能性があります。

「ファイル」より「オプション」を開き([Alt]を押しながら[F]→[Alt]を押しながら[T]でも開きます)、「詳細設定」を選択します。

その中の「コンテンツを貼り付けるときに[貼り付けオプション]ボタンを表示する」がチェックされている状態にします。

この項目はデフォルトではチェックされているため、「オートフィル オプション」は表示されるのが通常の状態です。

フィルターがかかっているシート

何らかの条件でフィルターされているシートはオートフィルが出来ずセルコピーになります。

その場合、すべてのフィルター条件を解除するとオートフィルが出来るようになります。

または「データ」より「フィルター」をクリックしてフィルターそのものを解除します。

数式をオートフィルしても変化がない場合

「計算方法」の設定

重いブックの場合は数式の自動計算を解除している場合があります。

その場合は数式をオートフィルしても想定の動作にはなりません。

「数式」より「計算方法の設定」を確認し「自動」になっているかを確認します。

他の設定の場合、自動に変えるかオートフィルをしたあと

[F9]キーを押して手動計算をする必要があります。

「計算方法の設定」を「自動」にする図解

意図せず「手動」設定にしてしまう場合もありますが、

数式が多くて動作が重いブックでは意図して「手動」にする場合もあるため、

他の人が作成したブックでは注意が必要です。

セル指定に$(絶対参照指定)が含まれる

セル指定の$オートフィルコピーでも、位置を変えずに固定するための指定です。

[F4]キーを押してしまったり何らかの機能で自動的に数式を作成すると$が追加される場合があるため

変化させたい場所に$がないかを確認する必要があります。

マウスポインタが十にならない場合…「フィルハンドル」の設定

通常、セルの右下にマウスを合わせると十の形のフィルハンドルに変わります。

もしそうならない場合はオプションでオートフィルが出来ない設定になっています。

「ファイル」より「オプション」を開き([Alt]を押しながら[F]→[Alt]を押しながら[T]でも開きます)、「詳細設定」を選択します。

その中の「フィル ハンドルおよびセルのドラッグ アンド ドロップを使用する」がチェックされている状態にします。(チェックなしだとオートフィルが使えません)

フィルハンドルの設定の図解

この項目はデフォルトではチェックされているため、フィルハンドルは表示されるのが通常の状態です。

そもそもオートフィルに対応していない文字である場合

単純な規則性を再現するのがオートフィルです。それに留まらないケースは数式が必要です。

どのようなものが対応しているかは「ホーム」、「連続データの作成」で確認することが出来ます。

「ホーム」、「連続データの作成」を開く図解

日付の場合は月や年、週日(同一曜日)数値の場合は加減乗除など増減値を設定した柔軟な利用が可能です。

(減算は負数を指定、除算は少数を指定)

「連続データ」ダイアログのキャプチャ

アルファベット

アルファベットは出来そうで出来ません。

ユーザ設定か関数で対応する必要があります。

数値が複数ある

オートフィルは最後の数値を連続データとして、その他を繰り返す性質があります。

下のような例では後ろの数字を連続データにし、前の数字は繰り返してしまいます。

(B2だけオートフィルすると前の1が固定)

両方とも連続データとしたい場合は文字列などを利用して数式を組みましょう。

この例では連番セルを別途、用意して文字列結合を設定するのが比較的簡単です。

連番セルを別途、用意して文字列結合を設定するキャプチャ

別解:SEQUENCE関数で連番を作成する

単発の用事でない場合は数式の方が効率的なことがあります。

Excel2019以降では連番を作成するSEQUENCE関数が追加されています。

引数に連番の最大値を指定すると自動的に複数セルに連番が作成されます。

数式セル以外はスピルになります。

=SEQUENCE(連番の最大値)

最初の引数を省略すると列方向に連番を作成します。

=SEQUENCE(,連番の最大値)

別解:ROW関数やCOLUMN関数で連番を作成する

SEQUENCE関数が使えない場合はROW関数やCOLUMN関数を利用します。

この数式はスピルでないためコピーが必要です。

=ROW()-ROW(連番の開始セルを絶対参照)+1

横方向はCOLUMN関数です。

=COLUMN()-COLUMN(連番の開始セルを絶対参照)+1

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。