【Excel】フラッシュフィル(Flash Fill)の使い方を徹底解説!7つの簡単な実例つき
フラッシュフィル(Flash Fill)は、Excelの最も便利な機能の一つです。最大の魅力は、一瞬でデータの分割・抽出ができるうえ、数式が一切不要という点にあります。この記事では、具体的な例を使いながら、Excelのフラッシュフィルの使い方をわかりやすく解説します。ぜひ最後までご覧ください。
練習用ワークブックはこちらからダウンロードできます。
Excelのフラッシュフィルとは?
フラッシュフィルは、入力されたテキストからパターンを自動的に認識する機能です。このパターン認識の力を利用すれば、テキストの一部を新しい列へ瞬時に分離できます。なお、この機能はExcel 2013以降のバージョンで利用可能です。
フラッシュフィルの場所
フラッシュフィルは、リボンの「データ」タブ内にある「データツール」グループに配置されています。下のスクリーンショットで位置を確認できます。

フラッシュフィルのショートカットキー
フラッシュフィルのショートカットキーは Ctrl + E です。覚えておくと作業効率が大幅にアップします。
フラッシュフィルの活用例7選
ここからは、7つの簡単な例をもとにフラッシュフィルの使い方を紹介します。各例ではシンプルなサンプルデータを使用し、スクリーンショットつきで手順を丁寧に説明するので、初心者の方でも安心して進められます。それでは早速始めましょう。
1. 姓・ミドルネーム・名を別々の列に分割する
たとえば、セル範囲B4:E9のB列に氏名が入力されているデータセットがあるとします。例として「Robert De Niro」という名前があり、他の名前もすべて3つの要素で構成されているものとします。ここで、ファーストネーム(名)・ミドルネーム・ラストネーム(姓)をそれぞれ別の列に分けたい場合、フラッシュフィルを使えば簡単に実現できます。手順は以下の通りです。

手順:
- まず、データの隣の列(C列のセルC5)に最初の人の名(First Name)を入力し、Enterキーを押します。

- 次に、下のセル(C6)に入力を始めると、フラッシュフィルが全員の名の部分(C6:C9)を自動的に候補表示します。

- 表示された内容が正しければ、そのままEnterキーを押します。
- これで、C列にすべての名が入力されました。

- 同じ要領で、姓とミドルネームもD列・E列に分離できます(スクリーンショット参照)。

注意点:
処理対象の名前は、すべて同じパターンである必要があります。すべての名前が3要素、または2要素・4要素・「n」要素で統一されていなければなりません(nは任意の自然数 {1, 2, 3, 4, 5, 6, …})。
2. フラッシュフィルでテキストを分割する
「区切り位置」ウィザードは多くのデータに有効ですが、すべてのデータに対応できるわけではありません。たとえば、データに固定幅がない場合や、区切り文字が存在しない場合は分割できません。こうしたケースでは、フラッシュフィルが威力を発揮します。
以下のデータセット(B4:C9)では、1つの列(B列)にテキスト(B5:B9)が入力されています。目標は、各セルから数値部分を取り出し、別の列(C列)に抽出することです。区切り位置ウィザードでは、スペースの数が行ごとに異なる(1行目は3つのスペースの後に20、2行目は2つのスペースの後に6…)ため、正しく分割できません。そこでフラッシュフィルを使って分割します。

手順:
- まず、セルC5をクリックして選択します。
- 次に、最初の数値20を入力します。

- 続けて下のセルに2番目の数値6を入力します。
- そして、「データ」タブ > 「データツール」グループ > 「フラッシュフィル」をクリックします(または Ctrl + E を押します)。

- すると、残りのセル(C6:C9)がExcelによって自動的に入力されます。
- 最終的に、新しい列は次の画像のようになります。

- スクリーンショットの通り、Excelはほとんどの数値を正確に認識しています。
- しかし、一部に誤った推測もあります。
- たとえばセルC7とC8では、小数点以下の部分だけが抽出されてしまいました。

- この問題を解決するには、セルC7の候補値(5)を削除し、正しい値(9.5)を入力します。

- その後、Enterキーを押すと、セルC8も自動的に正しい数値(3.14159)に修正されます。
- このように、Excelは修正内容からパターンを学習し、正しい数値を再提案してくれるのです。
- 結果は以下のスクリーンショットをご確認ください。

3. フラッシュフィルで複数の列を結合する
次に、果物名・国名・注文IDが入力されたデータセット(B4:E9)を例にします。ここでは、B列〜D列のデータを結合してE列にまとめます。フラッシュフィルなら、スペースやカンマ、セミコロンなどを挟んだ結合にも対応できます。手順は以下の通りです。

手順:
- まず、セルE5に移動します。
- 次に、セルB5・C5・D5の値をカンマとスペースでつなげて入力します(スクリーンショット参照)。
- Enterキーを押すと、自動的に次のセル(E6)に移動します。

- ここで、次の果物名(Banana)を入力し始めると、範囲(E6:E9)に候補が表示されます。
- 候補はセルE5の結合データと同じパターンになっています。

- 最後に、キーボードのEnterキーを押せば完了です。
- この方法で、3つの列のデータをすべて結合できます(スクリーンショット参照)。

4. フラッシュフィルでデータをクリーンアップする
ここでは、セル範囲B5:B9に国名が入力されたデータセットを例にします。B7とB9のセルには、先頭に余分なスペースが含まれています。フラッシュフィルを使えば、これらのスペースを簡単に削除できます。手順は以下の通りです。

手順:
- まず、セルC5を選択します。
- 次に、先頭にスペースを入れずに「USA」と入力します。

- Enterキーを押して次のセル(C6)に移動します。
- ここで次の国名(Russia)を入力し始めると、下のすべての国名(C6:C9)の候補が表示されます。

- Enterキーを押せば、先頭にスペースのない状態ですべての国名が入力されます。
- これで、データの先頭のスペースをきれいに除去できました。
- 結果は以下の画像の通りです。

5. フラッシュフィルでデータの書式を揃える
この例では、フラッシュフィルを使ってワークシート上のデータを書式設定(フォーマット)します。使用するデータセットには、小文字で始まる氏名が入力されています。これらの名前(名・姓ともに)を大文字で始まる形式に整え、さらに名と姓の間にカンマとスペースを挿入してみましょう。手順は以下の通りです。

手順:
- まず、セルC5をクリックして選択します。
- 次に、セルB5の名前を、画像のように希望の形式で入力します。
- Enterキーを押します。

- 続いて、次の名前(john christopher)の頭文字(大文字のJ)をセルC6に入力します。
- すると、すべての名前が同じ形式で候補表示されます(スクリーンショット参照)。

- Enterキーを押せば、残りの名前(C6:C9)もセルC5で指定した形式に自動的に変換されます。

6. メールアドレスを作成する
次のデータセット(B4:E9)には、氏名(B5:B9)、ID(C5:C9)、ドメイン(D5:D9)が入力されています。これらのデータを組み合わせて、メールアドレスを作成しましょう。ここでもフラッシュフィルを使い、範囲E5:E9にメールアドレスを一括生成します。手順は以下の通りです。

手順:
- まず、セルE5を選択します。
- 次に、範囲B5:D5のデータを使ってメールアドレスを入力します。
- メールアドレスの書式例は、下のスクリーンショットのセルE5をご覧ください。
- 入力後、Enterキーを押します。

- 続いて、次の名前の頭文字(j)だけを入力します。
- すると、下のセル(E6:E9)にメールアドレスの候補が表示されます。
- 様子は以下の画像をご確認ください。

- あとはEnterキーを押して候補を受け入れればOKです。
- このように、すべてのメールアドレスを一度に作成できます。

7. データの一部を置換する
最後に、範囲B5:B9に氏名が入力されたデータセットを例にします。ここでは、姓の部分(例:Niro)を「###」に置き換えてみましょう。これもフラッシュフィルを使えば簡単です。手順は以下の通りです。

手順:
- まず、セルC5を選択します。
- 次に、「Robert ###」と入力します。
- その後、Enterキーを押します。

- 続けて、次の名前の頭文字(J)をセルC6に入力します。
- すると、セルC5と同じパターンですべての名前の候補が表示されます。

- Enterキーを押して候補を受け入れましょう。
- 最終的な出力結果は、下のスクリーンショットの通りです。

フラッシュフィルのオプションを確認する方法
フラッシュフィルのオプションを確認するには、まずデータセットが必要です。ここでは、下のデータセット(B4:C9)を使用します。手順は以下の通りです。

手順:
- まず、範囲C5:C9に対してフラッシュフィルを実行します。
- すると、フラッシュフィルを適用した列(C列)の横にドロップダウンメニューが表示されます。
- このドロップダウンメニューをクリックします。
- これで、フラッシュフィルの各種オプションにアクセスできます。
- 詳しくは以下の画像をご覧ください。

Excelでフラッシュフィルを無効化する方法
場合によっては、フラッシュフィルの自動候補表示が邪魔になることもあります。そんなときは、フラッシュフィル機能を無効化しましょう。手順は以下の通りです。
手順:
- まず、「ファイル」タブを開きます。

- 次に、「オプション」ボタンをクリックします。

- 「Excelのオプション」ダイアログボックスが表示されます。
- 続けて、「詳細設定」>「編集オプション」>「オートコンプリートのオプション」内の「フラッシュフィルを自動的に実行する」のチェックを外す>「OK」の順に操作します。
- より理解しやすいよう、以下の画像で手順を確認できます。
- これで、Excelのフラッシュフィルを簡単に無効化できました。

フラッシュフィルの制限事項
フラッシュフィルには多くのメリットがある一方で、いくつかの制限もあります。主な制限事項は以下の通りです。
- 最大の弱点は、動的(ダイナミック)ではないことです。元のデータを変更しても、フラッシュフィルで作成した列は自動更新されません(自動更新したい場合は、数式を使う必要があります)。
- 印刷できない文字を含むセルは無視されます。
- 場合によっては、数値が文字列に変換されることがあります。
フラッシュフィルを使う際の注意点
フラッシュフィルを活用する際は、以下のポイントを常に意識しておきましょう。
- フラッシュフィルの実行後は、必ずデータを慎重に確認してください。「最初の数行が正しいから全体も大丈夫だろう」と決めつけると、重大なミスにつながる恐れがあります。
- フラッシュフィルが正常に機能するのは、データが一貫している(パターンが統一されている)場合のみです。
- サンプル例を多く入力するほど、認識の精度が向上します。
まとめ
このチュートリアルが、Excelでフラッシュフィルを使いこなすためのお役に立てば幸いです。練習用ワークブックをダウンロードして、ぜひ実際に試してみてください。ご意見・ご感想があれば、コメント欄でお聞かせください。今後もこのような記事をお届けしますので、当サイトをフォローしてお見逃しなく。
-
ExcelでSmartArt階層図を作成・活用する方法【初心者向け簡単ステップ解説】
Microsoft Excelは非常に強力なソフトウェアです。Excelに搭載されたさまざまなツールや機能を使えば、データに対して多様な操作を行うことができます。数式を作成できるExcel関数も豊富に用意されており、教育機関や企業では貴重なデータの管理にExcelファイルが広く活用されています。 データを効果的に伝えたいとき、グラフやチャートはとても役立ちます。特にSmartArt階層図は、組織構造や報告関係など、あらゆる組織に存在するヒエラルキー(階層)を視覚的に表現するのに最適なツールです。この記事では、ExcelでSmartArt階層図を作成し、活用するための手順をステップバイステップで
-
Excelのデータモデル活用術:3つのステップで複数テーブルを統合する方法
Excelは膨大なデータを処理できる強力なツールですが、データモデル機能を活用していなければ、その真価を発揮できていないかもしれません。データモデルを使えば、共通の列を基準にテーブル間のリレーションシップ(関連付け)を作成し、複数のテーブルからデータを結合できます。この記事では、Excelのデータモデルの基本的な使い方を、わかりやすい手順とともに解説します。 理解を深めながら実際に練習したい方は、サンプルのExcelワークブックをダウンロードして、ご自身でも操作してみてください。 データモデルを使うメリット データモデルはバックグラウンドで動作し、ピボットテーブルなどのレポート機能を効率