Top > おぼえたこと > バリアブル印刷編

文字を分割する(Excel編2)

数字など決まった数での分割なら良いですが、例えば氏名などを姓と名に分ける場合はどうすれば良いでしょうか。
当然パソコンに、文字列の何処から何処迄が姓で何処からが名なのかを判断させる事は難しい事です。
人が見ても判断に苦しむ場合もあるのですから。

よって、何らかの規律がなければ分割する事はできません。
ここでは、姓と名の間には半角スペースが必ず1つだけ入っているという事とします。
もし、実際のお仕事ではスペースが半角や全角が混ざっているとか、スペースの数が氏名の文字数によってまちまちだという場合には、事前に置換などの機能を利用して、前述のような形に整えてから作業を行って下さい。

●Excelで文字数が不特定なものを分割する場合

Excelタレント名鑑サンプル

上図のような名簿があり、これを姓と名に分割するには、基本は、数字を分割した物と同じだ。
LEFT関数を使い、姓だけを取り出すのだが、要はどこまでが姓であるのかが判れば良いという事です。
ここでは、半角スペースのある直前迄が姓となりますから、半角スペースの位置をFIND関数で探し、先頭から半角スペースのある位置から一つ手前迄を抜き出すようにします。

FIND関数

FIND関数は、指定した文字列から検索したい文字列が、検索開始位置から何文字目にあるかを結果として出します。

姓を取り出す式

LEFT関数とFIND関数を組み合わせ、姓を抜き出した。

名を抜き出す

名の場合には、氏名の右から半角スペースのある手前迄が名となります。
RIGHT関数を使い、文字列(氏名)より名前の文字数だけを右から抜き出します。
セルC2をクリックし、関数ペーストでRIGHT関数を選択し、文字列には氏名のセルA2を指定します。
文字数はここではダミーの数字を入れておき、OKボタンを押します。

LEN関数

数式バーのRIGHT関数のダミーで入れた文字数を選択し、関数ペーストを開き、LEN関数を選択します。
LEN関数は文字の数を数える関数で、氏名の文字数を求め、そこからFIND関数で半角スペースの位置を引けば、名だけの文字数を得る事が出来ます。

タレント名鑑分割結果

出来上がった計算式のセルを選択し、ドラッグで計算式をコピーすれば図のように姓と、名を分ける事が出来ます。
このように関数は一つだけではなく、複数の物を組み合わせる事で様々な結果を得られる事が出来るようになります。
今回紹介した関数だけではなく、非常に沢山の関数がEXcelのは用意されております。
特に文字列操作は頻繁に使う事がありますので、色々と試してみて下さい。

ページのTopに戻る