前回に引き続き、名簿を題材に、Excelの便利な機能を使ってセルを結合する技を紹介しよう。名簿で姓と名が別になっているセルを名前として1つのセルにしたい、市区町村から始まっている東京都の住所の先頭に「東京都」という文字列を付加したいなどといったとき、大量のデータでも即座に実行できる時短ワザだ。
※当記事では練習用のサンプルファイルがダウンロードできます(ページ下部)
別セルになっている姓と名を合体して1つのセルにする
まずは、別セルになっている姓と名を1つのセルに合体する技だ。10人程度なら手入力してもそれほど時間はかからないが、何百人何千人のデータがあるなら、そんなわけにはいかない。
そこで、文字を結合する「&」という記号を利用する。まずは、合体した名前を記入するためのセルを用意する。
姓、名の列の後ろに、名前の欄を用意する
そしてその名前の欄に「=B3&C3」と入力する。セル番号は入力するほか、そのセルをクリックして自動入力する方法もある。最初の行がうまくいけば、それを最後の行までコピーすればよい。
名前の欄に「=B3&C3」と入力。B3やC3は直接セルをクリックすると自動的に入力される
これで姓と名が合体された
D3セルの右下のフィルハンドルを下方向にドラッグしてコピーすればよい。フィルハンドルをダブルクリックしてもOKだ
数式で表示している名前を値に変換する
ただし、このままだと不要になった「姓」と「名」の列を削除してしまうと名前の欄がエラーになってしまう。参照元のセルがなくなってしまうので当然だ。そういう場合は、この文字列を、「値」に変更してしまおう。
「姓」と「名」の列を削除すると、このようにエラーとなる
姓と名の列を削除する前に、まずは名前の欄をすべて選択して「Ctrl」+「C」でコピーする。次に、選択した状態のまま、「貼り付け-値」を選択する。
名前全体をコピーし、そのまま「貼り付け」メニューの中にある「値」を選択する
すると、数式で表示されていた名前は値となり、姓名の列を削除しても問題なく文字列が表示される。
姓と名の列を削除しても名前はきちんと表示される
半角スペースを入れたり値を結合したりすることも可能…
&という記号は、セルを合体させるだけでなく、文字列やスペースを直接指定して合体することもできる。
例えば、姓と名の間に半角スペースを入れたい場合は、「=B3&" "&C3」と入力する。
[caption id="attachment_22908" align="aligncenter" width="620"]
「=B3&" "&C3」と入力すれば姓と名の間に半角スペースを入れることができる[/caption]
文字列やスペースを結合する場合は、必ず半角の「"」(ダブルクォーテーション)で囲むことに注意しよう。ここでは、「B3セル」と「半角スペース」と「C3セル」の3つを、2つの&を使って結合しているというわけだ。こちらも、姓と名の列を削除するなら、先ほどと同様の手順で値に変換しておこう。
別の応用として、市区町村から記載されている東京都の住所に、「東京都」という文字を付加する例を紹介しよう。先ほど、半角スペースを合体したのと同様に「="東京都"&D3」と入力すると、先頭に「東京都」が付加された住所になる。
こちらも、付加する文字列は「"」(ダブルクォーテーション)で囲み、合体するセルとの間は&でつなぐ。
[caption id="attachment_22909" align="aligncenter" width="620"]
任意の文字列と合体させるときも「"」(ダブルクォーテーション)で囲む[/caption]
フラッシュフィル機能を使う
Excel 2013から搭載された「フラッシュフィル」という機能を使えば、上記のように&を使わなくても一瞬で合体できる。
名前の欄を用意し、まず1行目の姓と名を手入力する。その後、「データ」タブの「フラッシュフィル」を実行すると、姓と名が合体された状態ですべての名前が一瞬で自動入力される。
[caption id="attachment_22910" align="aligncenter" width="620"]
先頭の行は手入力で姓名を入力する[/caption]
[caption id="attachment_22911" align="aligncenter" width="620"]
フラッシュフィルを実行すると、Excelが法則を解釈し、一瞬ですべての名前が自動入力される[/caption]
ただし、フラッシュフィルは万能ではない。ここでは、「B3セルとC4セルを結合する」という法則をExcelが正しく理解して実行してくれているので成功している。
しかし例えば、「新井俊和」と「武翔太郎」という名前があり、「俊和」と「翔太郎」を取り出したいといった場合、「俊和」と入力してフラッシュフィルを実行すると「太郎」しか取り出せなかったりする。これは、Excelが「名前の3文字目以降を取り出す」というルールと勘違いしているためだ。
フラッシュフィルには、こういった「ルールの勘違い」もあることを念頭に置いて便利に活用しよう。
次回は、1つのセルに名前として入力している場合にそれを姓と名に分けるなど、セルを分割する方法を紹介しよう。
※第9回は9月3日(月)公開
【ダウンロード】
「時短エクセル」別々のセルの文字列をまとめる瞬間ワザのお試しファイルのダウンロードはこちらから(Excelファイル)