たまに使える!エクセルで1つのセルを2つに分ける方法。

たまに使える!エクセルで1つのセルを2つに分ける方法。

こんにちは!清水です。本年もよろしくお願いします。

さて、私は今、事業部のアシスタントを担当しているのですが、上司から、「○○の推移を出して」「あれ集計しといてグラフにしておいて」「これ見やすくしておいて」等といった指示を受けることがあります。作業に取りかかりデータをエクセルに出してみると、すぐに使えない、ちょっと加工が必要なデータであることもしばしば。

そのような時に使えるエクセル対処法のうち、1つをご紹介します。

1つのセルに入っている文字列を2つのセルに分ける

これは、住所の区分を分けたり、商品と金額を分ける際に使用します。今回住所を例にしようと思います。
下図のように、”区” までをB列に、”それ以降” をC列に入れるのがゴールです。

1、B列には、「東京都●●区」までを抜き取った文字列を入れる

B列には 「文字列(A2セル)を左から検索して”区”までの文字列」 を抜き出すという関数を入力します。
使用する関数はLEFTFIND

LEFT:左から指定の文字を抜き出すという関数。
FIND:検索文字列が文字列の何番目に出てくるかわかる関数。最初に現れた位置を示します。(数字を返す)

では実際に入れてみましょう。
図に記載の通り、LEFTの引数は、(①文字,②文字

今回元となる文字列はA列ですから、[文字列]にはA2を選択。

[文字数]部分には、数字を入れれば、数字の分だけ文字列が抜き出されます。(”東京都港区”は5文字ですから、5を入れればよい)

しかし今回やりたいことは、左から検索して”区”を探し、”東京~区”までの文字数を自動的に出すこと。
そこで使用するのがFINDです。

LEFTの②文字数にFINDを入れます。
FINDの引数は、(①検索文字列,②対象,③開始位置

[検索文字列]に”区”、[対象]はA2を入力(選択)します。[開始位置]は今回1番目なので省略。
(FINDだけの結果は、左端の文字から区までをカウントした「5」となります。)

このFINDによって、LEFTに入る②文字数は、5とみなされ、B2は”東京都港区”の5文字が返されます。
A3以降はオートフィルで下にコピペするだけ。

2、C列に●●区以降を入れる

C2には、「A2からB2を抜き取った残りを返す」(A2-B2=C2)という入れ方をしてみます。
使用するのはRIGHTLEN

RIGHT:文字列A2の末尾から指定された文字列を返す関数で、引数は(①文字,②文字)。
LEN:文字数を返す関数で、引数は(①文字

まずRIGHT関数で、①文字列を指定します。(この場合は”A2″)

次に、RIGHTの②文字数でLENを使用します。
A2からB2を引くと”区”以下の文字数となるので、LEN(A2)-LEN(B2)とします。

LEN(A2)は12文字、LEN(B2)は5文字ですから、RIGHTの②文字数は、12-5=7文字となります。
よって、C2には、末尾からの7文字である、「赤坂1-2-3」がC2に入力されます。

これからインターン生も来ますし、いつか役立ちますように・・・

 

コメント