【エクセル時短】は「少しでも早く仕事を終わらせたい!」というビジネスパーソンのみなさんに、Excelの作業効率をアップするワザをお届けする連載です。

単純作業の圧倒的な時短が可能

Excelを使った業務では、大量のデータに対して同じような処理を行うことがよくあります。例えば、名簿に入力済みの氏名を「姓」と「名」で分割するようなケースです。

これを関数で処理しようとすると、LEFT関数とFIND関数の組み合わせが考えられます。「姓と名の間には必ず全角スペースが挿入されている」という法則性があれば、以下のような関数式で意図した処理を実現可能です。

  =LEFT(A2,FIND(" ",A2,1)-1)
  

しかし、「姓」と「名」の間に全角スペースだけでなく半角スペースが混在していたり、そもそもスペースが挿入されていないデータがあったりした場合は、条件分岐まで想定する必要があり、関数で処理するのは無理があります。かといって、データをひとつずつ修正していくのも、大変な手間がかかってしまいます。

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

氏名を「姓」と「名」で分割するような単純作業は、手入力を避けて自動処理したいものですが......

このような状況で重宝するのが、「フラッシュフィル」という機能です。入力済みのデータから法則性を見つけ出し、Excelが自動的に処理してくれます。

フラッシュフィルは常に万能というわけではありませんが、複数の関数を組み合わせて記述するよりも圧倒的に速く、意図した処理を実現できる可能性があります。Excelの[データ]タブから[フラッシュフィル]をクリックするだけで実行できますが、もっと手軽なショートカットキーの[Ctrl]+[E]の利用がオススメです。

フラッシュフィルの動作を確認したいときは、以下の動画をご覧ください。操作上の注意点などは本記事で解説しています。

フラッシュフィルで氏名の「姓」と「名」を分ける

まずは冒頭でも紹介した、入力済みの氏名を「姓」と「名」に分割する処理をフラッシュフィルで行ってみましょう。

以下の例では、あえて「姓」と「名」の間に全角・半角スペースが混在しているほか、スペースがないデータも含まれる状態にしてあります。フラッシュフィルが正しく処理できないケースの参考にしてください。

1最初のデータを入力する

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

ひとつめの「姓」を入力します。1行目は「飯塚 徹」なので、セルB2に「飯塚」と入力します。

2フラッシュフィルを利用する

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

セルB2が選択されていることを確認し、[Ctrl]+[E]キーを押してフラッシュフィルを実行します。

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

B列に「姓」が取り出されました。「姓」と「名」の間にある全角・半角スペースの混在は、フラッシュフィルの処理に影響しなかったようです。しかし、間にスペースがないデータは、正しく処理が行えませんでした。これらは手動で修正する必要がありますが、すべてのデータを修正することを考えれば、大した手間ではないでしょう。

3「名」を取り出す

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

同様に「名」もフラッシュフィルで一気に処理できます。

フラッシュフィルでメールアドレスの「@」以降を取り出す

もうひとつ、メールアドレスの「@」より後ろを取り出す処理をフラッシュフィルで行う例を紹介します。似たような例としては、商品番号から「-」より後ろの枝番を取り出すといった処理があるでしょう。

こうした処理を関数で行う場合、「@」や「-」といった分割の基準となる文字が何文字目にあるのかを判定するのが難点です。方法としては、①基準の文字列をFIND関数で探し、②全体の文字数をLEN関数で調べた後、③差し引きして基準の文字列の位置を特定し、④RIGHT関数で取り出す......となり、FIND関数、LEN関数、RIGHT関数と3つの関数をネストする必要があります。メールアドレスの「@」より後ろを取り出すなら、以下のような関数式です。

  =RIGHT(A2,LEN(A2)-FIND("@",A2))
  

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

メールアドレスの「@」より後ろを、3つの関数を組み合わせて取り出しています。

とはいえ、このような関数式をノーヒントで記述できる人は少数でしょう。フラッシュフィルを使えば、以下のようにもっと簡単に解決できます。

1フラッシュフィルを利用する

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

「@」より後ろの文字列を入力しておき、[Ctrl]+[E]キーを押してフラッシュフィルを実行します。

2「@」より後ろを取り出せた

【エクセル時短】関数より速い!「フラッシュフィル」の使い方。データの法則性を見つけて自動入力を実現

「@」より後ろの文字列を、一気に取り出すことができました。

フラッシュフィルを使うことで、かなりの時短効果が期待できることがご理解いただけたでしょうか。

データに法則性があるから、いけそうかな?」と思ったら、ひとつめのデータを入力し、とりあえず[Ctrl]+[E]キーを押してみてください。うまく動作しないときは、2つめ、3つめのデータを入力してからフラッシュフィルを実行すると、解決できることがあります。

関連記事