今回は、Excelのフラッシュフィルで入力を補助する使い方を紹介します。
フラッシュフィルは入力パターンを見つける機能
Excelで名簿や一覧表を整えるとき、氏名を姓と名に分ける、メールアドレスから名前部分を取り出す、コードの一部だけを抜き出すといった作業があります。関数でも対応できますが、簡単な規則であればフラッシュフィルを使うと入力を補助できます。
フラッシュフィルは、ユーザーが入力した例からExcelがパターンを推測し、同じ形式で残りのセルを埋める機能です。複雑な数式を作らなくても、文字列の分割や結合、表記の整形に使えます。
たとえば、A列に「山田 太郎」のような氏名があり、B列に「山田」と入力すると、Excelが姓だけを取り出す規則を推測して候補を表示することがあります。候補が合っていれば、そのまま確定できます。
基本的な使い方
フラッシュフィルを使うには、まず変換後の例を自分で入力します。Excelはその例をもとに、隣接するデータの変換パターンを判断します。
操作の流れは次の通りです。
- 元データの隣に新しい列を用意する
- 最初の行に変換後の例を入力する
- 次の行で入力を始めるか、データタブからフラッシュフィルを実行する
- 表示された候補が合っているか確認する
- 必要に応じて例を追加して再実行する
自動で候補が表示されない場合でも、データタブのフラッシュフィルを選べば実行できます。ショートカットを使う場合は、環境に応じたキー操作で実行できます。
氏名やコードの分割に使う
フラッシュフィルが使いやすい場面の一つが、文字列の分割です。氏名を姓と名に分ける、商品コードから分類記号を取り出す、住所から都道府県だけを抜き出すなど、一定の規則があるデータに向いています。
例として、A列に「A-001-東京」のようなコードが並んでいる場合、B列に「A」と入力すると、先頭の分類を取り出す候補が作られることがあります。C列に「東京」と入力すれば、末尾の地域名を取り出せる場合があります。
使いやすい例は次の通りです。
- 氏名から姓だけを取り出す
- メールアドレスからユーザー名を取り出す
- 電話番号の区切りを整える
- 商品コードの一部を別列に分ける
ただし、元データの形式がばらばらだと、正しく推測できないことがあります。全角スペースと半角スペースが混在している場合や、区切り記号が行によって違う場合は、先にデータをそろえると結果を確認しやすくなります。
文字列の結合にも使える
フラッシュフィルは、分割だけでなく結合にも使えます。姓と名が別々の列にある場合に、1つの列へまとめるといった作業です。
たとえば、A列に姓、B列に名がある場合、C列に「山田 太郎」のように入力します。Excelが同じ形式を推測すれば、他の行も姓と名を組み合わせて入力できます。
結合の例には次のようなものがあります。
- 姓と名をスペース付きで結合する
- 郵便番号にハイフンを加える
- 部署名と氏名を組み合わせる
- コードと名称を決まった形式で並べる
関数を使えば同じことはできますが、単発の整形作業ではフラッシュフィルのほうが手早いことがあります。継続して更新する表では関数、今回だけ整える表ではフラッシュフィルというように使い分けると便利です。
結果は値として入力される
フラッシュフィルの結果は、関数ではなく値としてセルに入力されます。そのため、元データを後から変更しても、フラッシュフィルで作成した結果は自動で更新されません。
この点は重要です。名簿を受け取って整形するだけなら問題になりにくいですが、元データが継続的に更新される表では、結果が古いまま残る可能性があります。
使い分けの目安は次の通りです。
- 一度だけ整える作業にはフラッシュフィルが向いている
- 元データが更新される表では関数を検討する
- 変換の規則を残したい場合は数式を使う
- 納品前の整形や一時作業には使いやすい
フラッシュフィルは入力補助の機能として考えると扱いやすくなります。自動更新が必要な仕組み作りには、関数やPower Queryなど別の方法を検討します。
誤変換を見つける確認方法
フラッシュフィルは便利ですが、推測に基づいて結果を作るため、必ず確認が必要です。特に、途中の行だけ形式が違うデータでは、思わぬ変換になることがあります。
確認するときは、先頭だけでなく中間や末尾の行も見ます。元データの形式が変わるところ、空白が含まれるところ、記号が多いところを重点的に確認します。
確認のポイントは次の通りです。
- 空白セルが意図せず作られていないか
- 必要な文字が抜けていないか
- 区切り記号の位置がずれていないか
- 例外的なデータで結果が崩れていないか
誤変換がある場合は、追加の例を入力してから再度フラッシュフィルを実行します。例が増えることで、Excelが判断しやすくなる場合があります。
作業用の列を残す
フラッシュフィルを使うときは、元データを直接上書きせず、作業用の列を作るのがおすすめです。元データを残しておけば、結果に誤りがあったときに戻しやすくなります。
作業用の列には、何を取り出したのか分かる見出しを付けます。たとえば「姓」「地域コード」「整形後メール」などです。後から見た人が、どの列が元データで、どの列が加工結果なのかを理解しやすくなります。
作業が終わったら、必要に応じて結果列だけを値として使います。元データと加工結果を並べて確認してから不要な列を整理すると、ミスを減らしやすくなります。
関数に置き換える判断も持つ
フラッシュフィルで作った結果を見て、同じ処理を今後も繰り返すと分かった場合は、関数に置き換えることも考えます。毎月同じ形式のデータを整えるなら、手作業でフラッシュフィルを実行するより、数式を用意しておくほうが管理しやすい場合があります。
たとえば、左から決まった文字数を取り出す、特定の記号より前を取り出す、複数列を結合する、といった処理は関数でも作れます。フラッシュフィルで完成形を確認し、その後に関数化する流れにすると、処理のイメージをつかみやすくなります。
単発作業ではフラッシュフィル、繰り返し作業では関数という基準を持っておくと、Excelファイルを後から直すときにも迷いにくくなります。
まとめ
Excelのフラッシュフィルは、入力した例からパターンを推測し、文字列の分割や結合を補助する機能です。氏名の分割、コードの一部抽出、表記の整形など、一定の規則がある作業に向いています。
結果は値として入力されるため、元データを後から変更しても自動更新されません。継続的に使う表では関数との使い分けが必要です。作業用の列を作り、結果を確認しながら使うことで、Excelの入力作業を進めやすくできます。