2016年5月7日土曜日

【Googleスプレッドシートで姓と名を分割】

Excelでは、姓と名の間に区切りとなる文字(普通はスペース)が入力されていれば、FIND関数LEFT関数RIGHT関数LEN関数 などを使うことで姓と名に分割することができます。例えば、姓名の前後に余分なスペースがなく、かつ、姓と名の間のスペースが半角に統一されていれば、以下の式で分割できます。

姓 ⇒ =LEFT(A1, FIND(" ", A1)-1)
名 ⇒ =RIGHT(A1, LEN(A1)-FIND(" ", A1))

しかしながら、実際のデータでは、余分なスペースはバリバリ入っているし、スペースも半角と全角が入り乱れていることが多々あります。そういう場合は、SUBSTITUTE関数 で全角スペースを半角スペースに変換し、更に、TRIM関数 で前後のスペースを取っておくとよいでしょう。

=TRIM(SUBSTITUTE(A1," "," "))

これらを組み合わせると、「姓」を取り出す式は以下のようになります。

=LEFT(TRIM(SUBSTITUTE(A1," "," ")), FIND(" ", TRIM(SUBSTITUTE(A1," "," ")))-1)


「武田 信玄」から「武田」だけが取り出されます。


B1セルを他のセルにコピペします。


一方、「名」を取り出す式は以下のようになります。

=RIGHT(TRIM(SUBSTITUTE(A1," "," ")), LEN(TRIM(SUBSTITUTE(A1," "," ")))-FIND(" ", TRIM(SUBSTITUTE(A1," "," "))))


「武田 信玄」から「信玄」だけが取り出されます。


C1セルを他のセルにコピペします。




Googleスプレッドシートでも同じ方法が使えます。「姓」を取り出す式は以下のようになります。

=LEFT(TRIM(SUBSTITUTE(A1," "," ")), FIND(" ", TRIM(SUBSTITUTE(A1," "," ")))-1)


「武田 信玄」から「武田」だけが取り出されます。


B1セルを他のセルにコピペします。


一方、「名」を取り出す式は以下のようになります。

=RIGHT(TRIM(SUBSTITUTE(A1," "," ")), LEN(TRIM(SUBSTITUTE(A1," "," ")))-FIND(" ", TRIM(SUBSTITUTE(A1," "," "))))


「武田 信玄」から「信玄」だけが取り出されます。


C1セルを他のセルにコピペします。


ではでは。



0 件のコメント:

コメントを投稿