【Excel】フラッシュフィルで規則性のあるデータを一括入力する方法

【Excel】フラッシュフィルで規則性のあるデータを一括入力する方法
🛡️ 超解決

【要点】Excelフラッシュフィルによる規則的データの一括入力

  • フラッシュフィル機能: Excelがデータの規則性を自動で認識し、一括入力を支援します。
  • 開始方法: 最初の列に手動で入力した例をExcelが認識することで機能が有効になります。
  • 活用場面: 文字列の分割、結合、書式変更など、様々なデータ整形作業に利用できます。

ADVERTISEMENT

フラッシュフィルの仕組みと基本動作

フラッシュフィルは、Excel 2013から搭載された機能です。隣接する列に入力されたデータのパターンをExcelが自動的に学習します。

学習したパターンに基づいて、残りのセルに規則性のあるデータを自動で入力してくれる便利な機能です。

例えば、氏名が「姓 名」の形式で入力されている列から、姓だけを抽出したい場合を考えます。

最初のセルに手動で姓を入力すると、Excelはその規則性を推測し、残りの姓を自動で入力する候補を表示します。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

フラッシュフィルを使ったデータ入力手順

フラッシュフィルは、非常に直感的な操作で利用できます。

ここでは、氏名から姓と名をそれぞれ抽出する具体的な手順を解説します。

  1. 姓の抽出開始
    氏名がA列に「山田 太郎」のように入力されているとします。B列に姓を抽出したい場合、B2セルに最初の氏名(例:「山田」)を手動で入力します。
  2. フラッシュフィルの実行
    B2セルに姓を入力した後、Enterキーを押します。Excelがパターンを認識すると、B3セル以下に自動入力候補が表示されることがあります。この場合、そのままEnterキーを押せば一括入力が完了します。
  3. 手動実行の場合
    候補が表示されない、または確定しない場合は、B2セルを選択した状態で、「データ」タブの「データツール」グループにある「フラッシュフィル」ボタンをクリックします。または、ショートカットキーCtrl+E(Windows)またはCommand+E(Mac)を押します。
  4. 結果の確認
    フラッシュフィルが実行されると、B列に氏名から抽出された姓が自動で入力されます。
  5. 名の抽出
    同様の手順で、C列に名(例:「太郎」)を抽出します。C2セルに最初の名を手動で入力し、Enterキーを押すか、フラッシュフィルを実行します。

フラッシュフィルでできるその他のデータ整形例

フラッシュフィルは、姓や名の抽出だけでなく、様々なデータ整形作業に応用できます。

以下に、代表的な活用例をいくつか紹介します。

文字列の結合

姓と名が別々の列にある場合に、氏名として結合する場合です。

  1. 氏名の結合開始
    例として、B列に姓、C列に名がある場合、D2セルに最初の氏名(例:「山田 太郎」)を手動で入力します。
  2. フラッシュフィルの実行
    D2セルに氏名を入力後、Enterキーを押して候補が表示されれば確定、表示されなければ「データ」タブからフラッシュフィルを実行します。

メールアドレスからのドメイン抽出

メールアドレスから、@以降のドメイン部分だけを抽出する場合です。

  1. ドメイン抽出開始
    A列にメールアドレス(例:「taro.yamada@example.com」)がある場合、B2セルに最初のドメイン(例:「example.com」)を手動で入力します。
  2. フラッシュフィルの実行
    B2セルに入力後、Enterキーを押すか、フラッシュフィルを実行します。

日付の書式変更

日付の表示形式を、例えば「YYYY/MM/DD」から「MM-DD-YYYY」に変更する場合などにも使えます。

  1. 書式変更開始
    A列に日付(例:「2023/10/27」)がある場合、B2セルに希望する書式(例:「10-27-2023」)を手動で入力します。
  2. フラッシュフィルの実行
    B2セルに入力後、Enterキーを押すか、フラッシュフィルを実行します。

文字列の一部置換

文字列の一部を別の文字列に置き換える場合にも有効です。

  1. 置換開始
    A列に「株式会社ABC」という文字列がある場合、B2セルに「ABC」と手動で入力します。
  2. フラッシュフィルの実行
    B2セルに入力後、Enterキーを押すか、フラッシュフィルを実行します。これにより、「株式会社」の部分が削除され、「ABC」のみが抽出されます。

ADVERTISEMENT

フラッシュフィルがうまく機能しない場合の対処法

フラッシュフィルは非常に便利ですが、常に完璧に動作するとは限りません。

意図した通りに動作しない場合、いくつかの原因が考えられます。

原因1: パターンが複雑すぎる、または一貫性がない

フラッシュフィルは、明確で一貫した規則性がある場合に最も効果を発揮します。

データに例外が多かったり、規則性が複雑でExcelがパターンを正しく認識できなかったりすると、期待通りの結果が得られないことがあります。

対処法:

  1. 最初の入力例の見直し
    フラッシュフィルを開始するために手動で入力した最初の例が、他のデータと異なる規則性を持っていないか確認します。
  2. 手動での補正
    フラッシュフィルで一部のみ入力された場合、残りを手動で修正するか、関数(MID、LEFT、RIGHT、CONCATENATE、TEXTJOINなど)の使用を検討します。
  3. より単純なステップに分割
    複雑な処理は、複数のフラッシュフィル操作に分割できないか検討します。例えば、氏名から姓を抽出し、次に名から姓を引いたものを抽出するなどです。

原因2: 隣接する列にデータが存在する

フラッシュフィルは、通常、入力している列のすぐ隣(左または右)にある列のデータを参照してパターンを学習します。

もし、その隣接する列に意図しないデータや、パターン学習を妨げるようなデータが存在すると、フラッシュフィルが正しく動作しないことがあります。

対処法:

  1. 隣接列のデータ確認
    フラッシュフィルを実行する列の左右に、不要なデータや、パターン学習に影響を与えそうなデータがないか確認します。
  2. 一時的なデータ削除
    もし隣接列に不要なデータがあれば、一時的に削除してからフラッシュフィルを実行し、完了後にデータを戻すことを検討します。
  3. 別列での開始
    どうしても隣接列の問題が解決しない場合は、一度別の空白列でフラッシュフィルを実行し、その後目的の列にコピー&ペーストすることを試みます。

原因3: フラッシュフィル機能が無効になっている、または認識されない

Excelの設定によっては、フラッシュフィル機能が意図せず無効になっている場合があります。

また、Excelがデータパターンを認識するのに十分な情報がない場合も、候補が表示されません。

対処法:

  1. フラッシュフィルオプションの確認
    「ファイル」タブ > 「オプション」 > 「詳細設定」に進み、「編集設定」セクションにある「フラッシュフィル」にチェックが入っているか確認します。
  2. 十分なデータ量の入力
    少なくとも最初の1〜2行で、Excelがパターンを推測できるだけの明確な入力を行います。
  3. 「データ」タブからの手動実行
    候補が表示されなくても、最初のセルに意図したデータを入力した後、「データ」タブの「フラッシュフィル」ボタンをクリックするか、ショートカットキーCtrl+E(MacならCommand+E)を試します。

フラッシュフィルと他の機能との比較

Excelには、フラッシュフィル以外にもデータを整形・加工する機能があります。

それぞれの機能には得意なこと・不得意なことがあります。

機能 得意なこと 不得意なこと 使い分けのポイント
フラッシュフィル 簡単な文字列操作(分割、結合、置換)、規則性の高いデータの一括入力 複雑な条件分岐、大量のデータに対する網羅的な処理、数式による動的な処理 手作業の補助、一時的なデータ整形、簡単なパターン認識
TEXTJOIN関数(Microsoft 365, Excel 2019以降) 複数のセルや文字列を指定した区切り文字で結合する 文字列の分割、複雑な条件での結合、パターン認識による自動入力 複数のデータを決まった形式で効率的に結合したい場合
MID関数・LEFT関数・RIGHT関数 文字列の特定の位置から指定した文字数を抽出する 自動的なパターン認識、複数の抽出条件、結合 文字列の開始位置や終了位置が固定されている場合
Power Query 大量データの取り込み、複雑なデータ変換・整形、複数ソースからのデータ統合、繰り返し処理の自動化 単一セルへの簡単な手作業の補助、リアルタイムでの数式のような動的な処理 定期的・反復的なデータ加工、外部データソースとの連携、複雑なデータクリーニング

フラッシュフィルは、手軽に使える反面、処理の複雑さや自動化の範囲には限界があります。

より高度なデータ整形や、定型的な繰り返し作業を自動化したい場合は、TEXTJOIN関数、MID関数などの関数や、Power Queryの利用を検討すると良いでしょう。

まとめ

この記事では、Excelのフラッシュフィル機能を使った規則性のあるデータの一括入力方法を解説しました。

フラッシュフィルを活用することで、氏名の分割・結合、メールアドレスからのドメイン抽出など、様々なデータ整形作業を効率化できます。

うまく機能しない場合は、入力例の見直しや、隣接列のデータ確認、手動実行などを試してみてください。

簡単なデータ整形にはフラッシュフィルを、より複雑な処理には関数やPower Queryを使い分けることで、Excelでのデータ処理能力をさらに向上させることができます。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】