【Excel】フラッシュフィルで文字列を整える手順

この記事は約5分で読めます。

今回は、Excelのフラッシュフィルを使い、文字列の分割や結合などを整える方法を紹介します。
操作はWindows版のExcel for Microsoft 365を前提にしています。Excel 2024やExcel 2021などのデスクトップ版にもフラッシュフィルがありますが、画面の表示は版によって異なります。ここでは、元データを残したまま隣の列に結果を作る方法を扱います。

フラッシュフィルでできること

フラッシュフィルは、入力した例から文字列の並び方を読み取り、同じような形で残りのセルを埋める機能です。例えば「姓」と「名」が別の列にある表から表示用の氏名を作ったり、一つの列にある文字列から必要な部分を取り出したりできます。区切り記号を加える、不要な部分を取り除くといった整理にも使えます。
ただし、フラッシュフィルは数式ではありません。入力された結果は値として残り、元のセルを書き換えても自動では更新されません。一度だけ整形して確認する作業に向いています。元データの変更に追従させたい表では、数式など別の方法を検討します。

最初の例を入力してパターンを伝える

例として、A列に「商品コードと名称を一緒に書いた文字列」があり、B列に名称だけを並べたいとします。B列の最初のデータ行に、望む形の名称を手入力します。次の行も入力し始めると、Excelが残りの候補を薄い表示で示すことがあります。候補が意図どおりなら Enter キーで確定します。

  1. 元データの隣に、結果を入れる空の列を用意します。
  2. 先頭行に、完成形の文字列を正しく入力します。
  3. 次の行へ進み、候補が表示されたら内容を確認します。
  4. 候補が合っていれば Enter キーで受け入れます。

候補が表示されない場合は、例を入力した列のセルを選び、[データ] タブの [フラッシュフィル] を実行します。Windows版では Ctrl+E でも実行できます。最初の例だけではパターンが曖昧な場合は、異なる形のデータを含む行にも完成形を入力してから実行すると、意図が伝わりやすくなります。

分割と結合で使い分ける

一つの列から一部を取り出す場合は、結果列に取り出したい部分だけを入力します。例えば、A列に「営業部-東地区」のような文字列が続くなら、B列の例として「東地区」を入力します。元データの区切り方が一定であるほど、候補を確認しやすくなります。区切り記号が行ごとに違う場合や、名称の中にも同じ記号が含まれる場合は、結果を慎重に見直します。
二つの列を結合する場合は、隣の結果列に、スペースや記号を含めた完成形を入力します。「東京」と「第1営業所」を「東京・第1営業所」と表示したいなら、その形を例にします。スペースの有無や全角・半角は結果に影響するため、入力例を最終的な表記に合わせることが大切です。

例を作るときの小さな工夫

例には、似た文字列が続く行だけでなく、桁数や区切り位置が少し異なる行も選ぶと確認に役立ちます。先頭の数行だけが正しく見えても、後半に別の書式が混ざっていることがあります。表全体を軽く見て、違う形式の行を先に把握しておきましょう。空白行や見出し行を結果列へ混ぜないことも、作業を分かりやすくします。

結果を確認してから使う

フラッシュフィルが埋めた値は、必ずしもすべて期待どおりとは限りません。特に、元の文字列に例外があるときは注意が必要です。例えば、途中だけ区切り記号が違う、名称の文字数が変わる、数字を含む行が混ざるといった場合です。実行後は先頭だけでなく、中ほどと末尾、形式の違う行を確認します。

  • 先頭や末尾の文字が欠けていないか。
  • スペースや記号の種類が統一されているか。
  • 数字を含む行が、意図した文字列として残っているか。
  • 空欄や例外行に、不自然な結果が入っていないか。

誤りが少数なら、そのセルを直してから再実行を検討できます。例外が多い場合は、元データの規則を整理してからやり直すか、別の方法で処理するほうが確実です。フラッシュフィルを実行した後に元データを編集した場合は、結果列も確認して更新します。値が連動して変わる仕組みではないためです。

元データを残して作業を進める

整形結果を元の列へ直接上書きする前に、元データと結果を並べて見比べるとミスを発見しやすくなります。先に空の列を追加し、完成形を確認してから必要な場所へコピーします。後で見直す可能性がある表では、元データの列を残しておくと、変換前の値を確認できます。
フラッシュフィルは見えている表の形に合わせて使う機能なので、データの意味を理解して判断する作業は人が担います。例えば住所や部署名に似た文字列が含まれていても、その部分が常に同じ意味とは限りません。形式のそろった文字列の整形に使い、例外があるデータは個別に確認すると扱いやすくなります。

数式との違いを踏まえて選ぶ

同じ操作を繰り返すときの確認

毎月届く一覧に同じ整形を行う場合は、前回と列の位置や元データの書式が同じかを確かめます。列が追加されているのに前回と同じ位置で実行すると、違う情報を例として読み取るおそれがあります。先頭の数件に加え、文字の長さが異なる行や空欄がある行を見つけておくと、実行後の確認箇所を決めやすくなります。
フラッシュフィルで作った結果を別の表に貼り付ける場合も、列の見出しを付けて意味を明らかにします。元の列と結果の列が隣り合っている間は違いが分かっても、列だけを渡すと何を取り出した値か分からなくなることがあります。作業後に使う人がいるなら、結果の用途を表内で示しておくと扱いやすくなります。
定期的に更新する一覧では、元の値が変わったときに結果も更新したいことがあります。その場合は、フラッシュフィルの結果を作り直す手間が生じます。列を追加した後も同じ処理を繰り返すなら、文字列関数などで変換規則を表したほうが管理しやすいことがあります。一方、今回だけ受け取った一覧の表記を整えるなら、フラッシュフィルの入力例から始める方法は手軽です。
機能を選ぶ目安は、結果を固定したいか、元データに追従させたいかです。更新の必要性を先に決めると、作業後の修正漏れを避けやすくなります。どの方法でも、元データに例外が含まれているかは確認しましょう。

まとめ

結果が想定と違うときは、最初の例を増やす前に、元の列に混在する書式を探します。原因が例外行だと分かれば、その行を個別に直すか、表を形式ごとに分けて処理するか判断できます。正しい例をいくつも入力しても、規則が一つに定まらない表では無理に続けないことが大切です。
Excelのフラッシュフィルは、入力した完成形を手掛かりに文字列の分割や結合を行います。結果用の列に例を入力し、候補または [データ] タブから実行します。結果は元データと連動しない値なので、例外行を確認し、更新が必要な表では数式などの方法と使い分けましょう。