いまさら聞けないExcelの使い方講座

【Excel】名簿作成の手間が半分以下に!エクセルで姓と名の分割や結合を効率化するテク

姓と名の結合や分割をもっと簡単にできる!

 社員名簿や顧客名簿をExcelで管理しているという人は多いのではないでしょうか。こういった名簿の編集で特に面倒な作業の1つに、別々のセルに入力されている姓と名を同じセルにまとめたり、逆に同じセルに入力されている姓と名を別々のセルに分割したりするというものがあります。

 この連載でもこれまでに、それらを簡単に行う方法として、区切り位置指定ウィザードによる文字列の分割や、「&」を使った数式による文字列の結合を紹介してきました。けれども、ウィザードは手間がかかるし、数式はややこしいし……と感じる人もいるのではないでしょうか。

 そこで今回は、文字列の分割や結合をもっと簡単にできる「フラッシュフィル」という機能を紹介します。フラッシュフィルは、最初のいくつかのデータを手入力すると、入力済みのデータから規則性を読み取って自動的に残りのデータを埋めてくれる機能です。入力の手間が最初のいくつかだけになるので、とても楽をできますね。

 フラッシュフィルを使うには2つの方法があります。1つはオートフィルを利用する方法、もう1つはリボンを利用する方法です。会員名簿の名前を編集する例で、その2つを見てみましょう。

オートフィルを利用してフラッシュフィルを使う方法

 まずは、オートフィルを利用する方法を紹介します。オートフィルは、連番など規則性のあるデータを入力する際に、最初のいくつかを入力すると、その規則性に従って残りのデータを自動入力してくれる機能です。フラッシュフィルは、オートフィルに含まれる1つの機能です。

 会員名簿に入力されている名前(①)を姓と名に分割する例で、フラッシュフィルの使い方を説明します。この例では、「名前」に入力されている姓と名が全角のスペースで区切られています。

 最初に、分割したあとのデータ(姓と名)を入力する列を、「名前」の列(B列)の右側に2列分新しく挿入します(②)。挿入した列の見出し行のセル(セルC3とセルD3)にそれぞれ「姓」、「名」と入力します(③)。列の幅も、姓と名の文字数を考慮して調節しておきます。

 次に「姓」の1つ目のデータをセルC3に手入力します。ここでは、セルB3に入力されている「大田原 陽子」の姓である「大田原」(④)を入力しています。

 1つ目のデータを入力したセルC3の右下にマウスポインターを近づけると、マウスポインターの形が変わります(⑤)。そのままの状態で、データを入力したいセル範囲の一番下(セルC14)までドラッグします(⑥)。

 選択されたセル範囲C3:C14のすべてのセルにオートフィルによって「大田原」と入力されました(⑦)。ここで、セルC14の右下の[オートフィルオプション](⑧)をクリックし、[フラッシュフィル](⑨)をクリックします。

 すると、セル範囲C3:C14に入力されている文字列が変化し、B列に入力されている名前の姓のみが入力された状態になりました(⑩)。

 ここで思ったとおりの文字列が入力されなかった場合は、フラッシュフィルが規則性をきちんと判別できなかった可能性があるので、もう1つ2つデータを手入力してから再度フラッシュフィルを行ってみてください。

 D列の「名」も、C列の「姓」と同様に、1つ目を手入力したあとフラッシュフィルを使うと自動的に入力できます(⑪)。

 最後に、名前が入力されているB列を削除すると、姓と名が別々のセルに入力されている会員名簿が完成します(⑫)。

 フラッシュフィルでは、2列まとめて操作することができないため、今回のように複数列を入力する場合でも1列ずつ行います。また、隣接するセルで操作するのもフラッシュフィルを上手に使うポイントです。

リボンを利用してフラッシュフィルを使う方法

 次に、リボンを利用する方法を紹介します。この方法では、見出し行のセルにフラッシュフィルが適用されないように、色をつけるなどの書式を設定して区別しておきましょう。

 先ほど作成した会員名簿の例で、今度は逆に姓と名を結合し、同じセルに入力するという作業をフラッシュフィルで行います。

 オートフィルを利用する方法と同様に、結合したあとのデータを入力するための列を最初に用意します(①)。今回新しく作る列は「名前」の1列分です。見出し行のセルD2に「名前」(②)と入力し、名前の文字数を考慮して列の幅を調節しておきます。

 次に、「名前」の1つ目のデータをセルD3に手入力します。ここでは、B3に入力されている姓「大田原」とC3に入力されている名「陽子」を全角スペースで区切って、「大田原 陽子」(③)と入力しています。姓と名を結合する場合には、あとから分割もできるように姓と名を全角スペースなどで区切っておくことをおすすめします。

 フラッシュフィルを適用したいセル範囲(D3:D14)のいずれかのセル(ここではセルD3)を選択します(④)。そして、[データ]タブ(⑤)→[フラッシュフィル](⑥)をクリックします。

 フラッシュフィルによって、全角スペースをはさんで姓と名を結合した文字列が入力候補としてセル範囲D4:D14に表示されました(⑦)。しかしよく見ると、きちんと姓と名が結合されていないセル(⑧)があります。このような場合には、規則性がうまく判別されなかった可能性があるので、フラッシュフィルをやり直します。

 選択セル(ここではセルD3)の右下に表示されている[フラッシュフィルオプション](⑨)をクリックし、[フラッシュフィルを元に戻す](⑩)をクリックします。

 フラッシュフィルを実行する前の状態に戻りました(⑪)。

 規則性をきちんと判別できるようにするため、「名前」のデータをさらに2つ手入力してみます。ここでは、セルD4とセルD5にそれぞれ「市原 君江」、「大河内 武久」と入力しています(⑫)。セルD3と同様に、姓と名を全角のスペースで区切っています。フラッシュフィルを使う場合には、列内のデータを同じ規則(全角と半角を統一するなど)で入力するようにしましょう。

 そして再度、セル範囲D3:D14のいずれかのセル(ここではセルD5)を選択し(⑬)、[データ]タブ(⑭)→[フラッシュフィル](⑮)をクリックします。

 今度は問題なく入力候補が表示されました(⑯)。選択セル(ここではセルD5)の右下の[フラッシュフィルオプション](⑰)をクリックし、[候補の反映](⑱)をクリックして入力を確定します。

 最後に、姓と名が入力されているB列とC列を削除すれば、姓と名が同じセルに入力されている会員名簿の完成です(⑲)。

フラッシュフィルが使えない場合もある

 フラッシュフィルは、入力した文字列の規則性を判別して自動的にデータを補完してくれる便利な機能ですが、規則性の判別が難しい場合などにはやり直しをしても思ったとおりに入力できないことがあります。その際には、冒頭で紹介した区切り位置指定ウィザードや関数などを利用した方法を検討してみてください。

 名前を分割するときに姓と名の間に区切り文字が入っていないのも、フラッシュフィルが使えない場合の一例です。姓と名の区切り位置は自動で判別することが難しいため、区切り文字が入っていないと間違った位置で分割されてしまいます(①)。この場合には、区切り位置指定ウィザードなどを使うこともできません。こういった状況を回避するため、名前を入力する際には、区切り文字を入れる癖をつけておくとよいでしょう。

フラッシュフィルを積極的に活用しよう

 今回は、フラッシュフィルを使って名前を姓と名に分割したり結合したりする方法を紹介しました。

 フラッシュフィルは入力文字の規則性さえ判別できれば、番地や建物名が分割して入力されている住所を1つのセルに結合するなど、名前以外にもさまざまな場面で活用できます。自動で入力できそうだな、と思ったらフラッシュフィルを試してみてください。面倒な作業をあっという間に終えられて、楽をできるかもしれませんよ。