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

【Excel】文字列の分割・結合を一瞬で処理できる必殺技! 関数いらずのショートカットキー

文字列の分割・結合を一瞬で処理できます

もう、関数を入力しなくてもいいのでは?

 エクセルを使った名簿や管理表を更新する際、フィールド(列)の追加や削除といった表の構造を変更することがあります。列の追加・削除の操作があると、ひとつのセルに入力された文字列も分割したり、結合したりする作業が必要になりますよね。

 名簿であれば、氏名を「姓」と「名」、住所を「都道府県名」と「市区町村から後ろ」に分割といった処理です。製品管理表の商品コードから一部を抜き出したり、枝番を追加したりすることもあるでしょう。

 このような処理は関数を使うのが定番ですが、一瞬で作業を完了できる「フラッシュフィル」の機能をご存じですか? 試しに氏名から「姓」を取り出してみましょう。

「姓」と「名」の列を用意しておきます。1行目に最終形のデータを入力(①)して、セルを選択しておきます。[データ]タブ(②)の[フラッシュフィル](③)をクリックします
「姓」だけを一気に取り出せました

 1行目に最終形のデータを入力する手間がありますが、ワンクリックで作業が完了するのは助かりますよね。もう、関数を入力しなくてもいいのでは? と感じる人もいるでしょう。今回は「フラッシュフィル」の動作について詳しく見ていきます。

[Ctrl]+[E]キーのショートカットキーが便利

 先ほどと同じように、氏名から「名」を取り出してみましょう。今度は[Ctrl]+[E]キーを押します。リボンのタブを切り替える手間もなく、まさに一瞬です。

1行目に目的のデータを入力(④)して、[Ctrl]+[E]キーを押します(⑤)
「名」だけを一気に取り出せました

 結合も同様です。1行目に最終形のデータを入力しておきます。ここでは、姓と名の間に全角スペースを挿入しています。

1行目に「姓」と「名」の間に全角スペースを挿入したデータを入力しておきます(⑥)。[Ctrl]+[E]キーを押します(⑦)
「姓 名」に成形されたデータが一気に生成されました

 例えば、文字列の一部を削除するような処理も可能です。

製品コードの「-」を削除したデータを入力しておきます(⑧)。[Ctrl]+[E]キーを押します(⑨)
「-」なしのデータが一気に生成されました

意図通りに動作しないこともある

 フラッシュフィルは万能ではありません。意図通りに動作しないケースもあることを覚えておきましょう。以下は、先ほどと同じ操作で、住所から「都道府県名」を取り出した結果です。

この例では、和歌山と鹿児島の「県」が取り出せていません

 問題ないように見えますが、都道府県名が3文字の場合「県」が抜けてしまっています。この例では、フラッシュフィルが「先頭から3文字を取り出す」と認識したためでしょう。フラッシュフィル後に検索・置換で対応しても構いませんが、従来通り関数式で処理するほうがよさそうです。

=IF(MID(F2,4,1)="県",LEFT(F2,4),LEFT(F2,3))

 また、エクセルが法則を見つけられない場合、以下のようなメッセージが表示されます。2,3個のデータを入力してから試すとうまくいくこともあります。

エクセルが法則を見つけられない場合にメッセージが表示されます

ひとまず試してみる価値はある

 ショートカットキーで処理できるなら、かなり効率的ですよね。意図通りに動作しないこともありますが、ひとまず[Ctrl]+[E]キーを押してみる価値はあると思いますよ。