ビジネスパーソンに欠かせない「エクセル」。誰もが使うソフトですが、操作方法は無手勝流という人が意外に多いようです。しかし、それでは仕事の時短は進められません。この連載では10分、20分かけている作業を、一瞬で終わらせる技を紹介します。今回は、氏名や住所、電話番号、メールアドレスなど名簿作成に欠かせない文字列を、一瞬で分割・結合する方法です。

 エクセルで名簿を作って管理することは多い。しかし、前任者から受け継いだファイルを開いてみると、氏名は姓と名に分けたいのに同じセルに入力されていたり、住所が都道府県名で分けられていなかったり、思うような形で作成されていないことがよくあります。そこで今回は、文字列を一瞬で分割、結合できる「フラッシュフィル」の便利な使い方を説明しましょう。

文字列の分類や結合を手間をかけずスマートに

入力済みの「氏名」を姓と名に分ける

 1つのセルに入力されている氏名を姓と名に分けたい場合、どうすればいいでしょうか。エクセルを使い慣れた人なら、関数を利用する方法を思いつくかもしれません。下の例のように氏名の間に半角スペースが入っている場合、半角スペースが何文字目かをFIND関数で見つけ、その結果から1文字引いた左側の文字数分をLEFT関数で抜き出すという方法があります。

 例えば「安藤 茂行」なら、半角スペースは3文字目にありますね。そこから1文字引いた2文字分を取り出すことで姓「安藤」を分割できました。でも、これを実現するには、関数が入れ子になった複雑な式を入力しなければなりません。

B2セルに「=LEFT(A2,FIND(" ",A2)-1)」と関数式を入力すると、姓だけを取り出せる。長年エクセルを使っている人にはなじみの方法だが、2つの関数の組み合わせがやや複雑だ
B2セルに「=LEFT(A2,FIND(" ",A2)-1)」と関数式を入力すると、姓だけを取り出せる。長年エクセルを使っている人にはなじみの方法だが、2つの関数の組み合わせがやや複雑だ

 ですが、エクセル2013以降なら、はるかに簡単な方法があります。まず、B2セルに「安藤」と姓を手入力します。直接入力しても、A1セルの文字列からコピーして貼り付けてもOKです。次に、B列のいずれかのセルを選択した状態で、「データ」タブにある「フラッシュフィル」ボタンをクリックしてください。すると、B列に一瞬で姓が入力されます。B2セルに表示されるボタンから「候補の反映」を選ぶか、キーボードの「Esc」キーを押して、自動入力の結果を確定します。もちろん、姓だけではなく、名を取り出す場合も方法は同じ。C2セルに名を手入力してからフラッシュフィルボタンを押せばいいのです。

 フラッシュフィルは、入力されたデータからエクセルが自動で規則性を認識し、データを入力する機能です。特に、文字列を一定の規則で分割する場合などに大活躍するので、名簿作成時はぜひとも活用したいテクニック。今まで使っていた、複雑な関数式は何だったのかと思うでしょう。

B2セルに「安藤」と姓を入力(1)。B列のいずれかのセルを選択した状態で「データ」タブを開き、「フラッシュフィル」ボタンを押す(2)。すると、B列の他の行にも姓が一瞬で入力される(3)
B2セルに「安藤」と姓を入力(1)。B列のいずれかのセルを選択した状態で「データ」タブを開き、「フラッシュフィル」ボタンを押す(2)。すると、B列の他の行にも姓が一瞬で入力される(3)
B2セルには図のようなボタンが表示されているのでクリック(1)。開くメニューで「候補の反映」を選ぶと、フラッシュフィルで自動入力された結果を確定できる(2)。またはキーボードの「Esc」キーを押しても確定可能
B2セルには図のようなボタンが表示されているのでクリック(1)。開くメニューで「候補の反映」を選ぶと、フラッシュフィルで自動入力された結果を確定できる(2)。またはキーボードの「Esc」キーを押しても確定可能