エクセルでの文字列の分割
エクセルのセルの値(文字列)を2つのセルに分割する方法です。
文字列の計算式を使います。
■下のような表があります。
・氏名欄には苗字と名前が空白を挟んで入力されています。
・これを空白で区切って姓と名に分けます。
■苗字を取得する式の入力
・C3のセルを選択し、式を入力します。
「=LEFT(B3,FIND(“ ”,B3,1)-1)」
—————-
<式の説明>
・LEFT関数:書式 LEFT(‘対象文字列’,文字数)
※対象の文字列の左から指定した文字数分を取り出します。(全角も半角も同じ1文字と数えます)
例:LEFT(“ABCDE”,3) → ABC
・FIND関数:書式 FIND(‘検索対象文字列’,’検索する文字列’,検索を開始する文字位置)
※検索対象の文字列から検索する文字列を探し、見つかった最初の文字列の位置を返します。検索開始文字位置を1にすると文字列の最初から検索を開始します。
例:FIND(”C”,“ABCDE”,1) → 3
<式全体の意味>
・「B3のセルの1文字目から空白文字の1つ前までを取得する」
ということになります。
—————-
・入力するとC3のセルに苗字が表示されます。
■名前を取得する式の入力
・D3のセルを選択し、式を入力します。
「=MID(B3,FIND(“ ”,B3,1)+1,LEN(B3))」
—————-
<式の説明>
・MID関数:書式 MID(‘対象文字列’,開始位置,文字数)
※対象の文字列の開始位置(1文字目からの数えた文字位置)から文字数分の文字列を取り出します。
例:MID(“ABCDE”,2,3) → BCD
・FIND関数は前の項目の説明と同じ
(今回は空白文字の次という意味で+1にしてあります)
・LEN関数:書式 LEN(‘文字列’)
※文字列の長さ(全角、半角共に1文字)を取得します。
例:LEN(“ABCDE”) → 5
※MID関数の3番目の文字数は、開始位置から文字列の最後までの長さより長い場合は文字列の最後まで取得します。
今回は文字列全体の長さをLEN関数を使って代入していますが、十分長い数字(例えば100とか)を指定すれば文字列のx番目の文字から最後までを取得できます。
<式全体の意味>
・「B3のセルの文字列から、空白文字の次の文字から最後まで取得する」
ということになります。
—————-
・入力するとD3のセルに名前が表示されます。
■式のコピー
※3行目に設定した式を4行目から9行目までにコピーします。
・C3からD3セルを範囲選択します。
・[ctrl]+[c]のキーを押してコピーします。
・C4からC9セルを選択します。
・[ctrl]+[v]キーを押して貼り付けます。
氏名(苗字と名前が空白を挟んで入力されている)を、空白の位置を特定することで苗字と名前に分割することが出来ました。
苗字と名前の間に空白などの区切り文字が無い場合はこの方法は使えません。
東大二郎さんは「東大 二郎」?「東 大二郎」?ということになります。
データとして管理する場合は苗字と名前を区切って管理したほうが便利です。
以上、文字列の計算式(文字列の分割)でした。