Excel小技(姓名をスペースで分割)

仕事してたら仲良しの助手さんから内線が入り、こんな質問を受けました。

「スペースで区切られた姓と名を別々のセルに分けたいんやけど、やり方知らない?」

↓こういうことですな。
Ex)    A       B     C
1|小泉 純一郎| 小泉 | 純一郎 |

正直、今の職場ではExcelって文書作成以外に使うことがないんだが、たまにはためになるネタ提供ということで。
普段からExcelで作業されてる方、若しくは「Excelってなに?」までいかんくても「関数ってなに?」という方にはどうしようもないエントリなので以下続く。


考え方としては、基準になる文字(列)を決め(ここでは全角スペース)、それの前後で分割するということになりますので、姓名の間に共通の文字(列)が入っていないとこのやり方は使えません。

★姓だけ取り出す
=LEFT(A1,FIND(“ ”,A1)-1)

LEFT関数で左からいくつめまでの文字を拾うか指定します。
姓がみんな2文字の人ばっかりやったら「=LEFT(A1,2)」
でもOKやねんけど、そうはイカのふんどし、これだと
「伊集院」なんてヤツがいると「伊集」になってまう。
というわけで、登場しますのがFIND関数。指定した文字(列)
が対象文字列のいくつめにあるかを教えてくれます。
全角スペースを指定しているので、例では「3」つめですね。
「=LEFT(A1,FIND(“ ”,A1))」
これで左から「3」つめまでの文字を取り出すことになります。
がしかし、「3」つめまで取ると全角スペースが余計です。
よって、「-1」をつける。「小泉」よっしゃできた。

★名だけ取り出す
=RIGHT(A1,LEN(A1)-FIND(“ ”,A1))

RIGHT関数で右からいくつめまでの文字を拾うか指定します。
LENは指定したセルに入ってる文字数を教えてくれる関数なので、
例だと「小泉 純一郎」で「6」ですね。
引くことの全角スペースまでの文字数「3」で「3」を返します。
右から「3」つめまでの文字を取るってことで「純一郎」ですね。
はいでけました。

最後に、列Aはいらないんであれば、BとCの列を選択し、「コピー」→「形式を選択して貼り付け」→「値」で値だけを残し、列Aとの相関関係を解消してから削除して下さい。これをしないで列Aを消すとエラーになってしまうのでご注意。

サンプル:name.lzh

Excel小技(姓名をスペースで分割)」への2件のフィードバック

  1. カナコ

    すごい!ねえ、なんでそんなことがわかるの???!!!私には絶対覚えられない。!ほんと凄い!!

  2. かいね@デ七

    たんに慣れの問題ですよ。何回もやってたら嫌でも覚えますて(^^;
    こんなん、検定でも受けるつもりでなければいちいち覚えなくても大丈夫。要は「Excelで何が出来るか」さえ知っていれば、やり方はどこなりと書いてあるもんで。

    カナぴょんからコメントもらえただけでもこのエントリ価値あったかも。うひ。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください