「住所録の氏名欄から姓と名を分けて表示させたい。」
「住所から都道府県の部分だけを取り出したい。」
そんな時、データを複数のセルに分割して表示させる方法は大きく分けて2つあります。
- フラッシュフィルの機能を使う
- 関数を使う
今回はフラッシュフィルの機能をメインに説明していきます。
フラッシュフィルの機能
フラッシュフィルの機能とはExcel2013以降のバージョンに搭載されている便利機能です。
- 一つのセルに入っているデータを複数のセルに分割する
- 複数のセルに分かれているデータを結合する
上記のような処理が必要な場合に、難しい関数を使わなくても簡単にデータの分割や結合が出来てしまう機能のことです。
ユーザーがセルにデータを入力すると、同じリスト内のデータからルールを見つけ出し、同じルールに従って自動的にデータが作成されるというもの。
簡単に言うと、「オートフィル機能」がグレードアップした機能と考えてよいでしょう。
上の図のようにオートフィルのオプションボタンの中にも「フラッシュフィル」という項目が追加されており、
ラジオボタンを選択すると同じルールに従って苗字が反映されました。
住所から都道府県を取り出す
では、フラッシュフィルの機能を使って住所から都道府県名だけを取り出してみましょう。
以下のデータを見てください。よく見かける住所の一覧ですね。
今回はB列の住所からC列に都道府県名だけを取り出したいので、まずはセルC3にセルB3の都道府県を入力します。
準備ができたら、以下の手順でフラッシュフィル機能を実行しましょう。
手順は以下の通りです。
[データ]タブをクリック
[データツール]グループのフラッシュフィルボタンをクリック
結果は以下のとおり!
「これで完璧♪」と思ったら・・・
よく見てみると、神奈川県だけ「神奈川」までしか取り出せていませんね。
その理由はフラッシュフィルの性質によるものです。
今回はフラッシュフィル機能を使う前の準備としてセルC4に「兵庫県」と入力しましたね。
すると、Excelが同じリスト内から「兵庫県」という文字が入っているセルを探します。
セルB4の住所のデータの先頭に「兵庫県」という文字が入っているのが見つかりました。
このときのルールは「住所のフィールド(B列)のデータから最初の3文字分を取り出す」というもの。
その結果、「県」まで含めて4文字の神奈川県は、
残念ながら途中までしかデータが取り出せなかったというわけです。
文字数に関係なく都道府県名を取り出すには
今回の場合、「兵庫県」「奈良県」「熊本県」など3文字の都道府県のみであればうまくいくのですが、
そう都合よくいかないですよね。
もし、フラッシュフィルの機能を使って都道府県のみを取り出したければ方法はあります。
それは・・・
都道府県名の後ろにスペースを入れること。(この時のスペースは半角、全角問いません。)
スペースを入れることによって、「頭から3文字分」のルールではなく
「スペースの手前までの文字と取り出す」というルールに変わります。
こんな感じで、今回は成功!
以上のようにフラッシュフィルの機能は便利な機能ですが、
何でも人間の思い通りの処理をしてくれるわけではありません。
ちょっと融通が利かない部分もあるので、理屈をしっかりと理解して使えると良いですね。
ただ、スペースを加えるのもデータ量が多いと大変・・・!
文字の間にスペースを加えるのに「REPLACE関数」という関数もありますが、
これもまた良し悪し・・・・
そんなときは、「LEFT関数」「MID関数」など、文字列関数を使ってデータを分割する方法もありますが・・・
少し複雑なので、またの機会にご紹介しますね。