氏名の入力されているセルから姓だけ抜き出すとか、住所の入力されているセルから都道府県だけを抜き出すなど、セル内の一部の文字列だけを抜き出したい場面は多々あります。
こんなときには、LEFT 関数や RIGHT 関数、MID 関数などが手軽に使えます。
今回はセルの先頭 (左) から指定した数の文字を取り出す LEFT 関数をご紹介します。
前回の FIND 関数 (ここにリンク) と組み合わせた方法もご紹介しますね。


step101-EX12.jpg

氏名のセルに入力されている文字列から姓を抜き出します。
操作に慣れていない方は、日本語入力をオフにして操作してください。
数式は、「=LEFT(取り出す文字が含まれている文字列,先頭からの文字数)」とします。
ここでは、取り出す文字がふくまれている文字列はセル A2、先頭からの文字数は「2」とします。
 

1.結果を表示したいセルを選択し、「=LEFT(」と入力します。
関数名は小文字でもよいです。

101-EX12.jpg


2.探す場所となるセル (A2) をクリックします。201-EX12.jpg


3.「,2)」を入力して、[Enter] キーを押します
301-EX12.jpg

 

4.セル A2 の先頭から 2 文字が表示されます。01-EX124.jpg


step201-EX12.jpg

Step 1 の手順で数式を作成すると、他のセルに数式をコピーしたときに、適切な結果が得られないことがあります。姓として入力されているデータは 2 文字とは限らないからです。そうなると、数式内の文字数指定をすべて修正しなければなりません。これは手間ですよね。
こういったときに使えるのが FIND 関数です。
姓と名の区切りであるスペースの位置を見つけ出すことができれば、その位置情報を使用して LEFT 関数を使った数式を作成することができ、姓の文字数が異なるデータがあっても修正をする必要がありません。
FIND 関数で見つけ出したスペースの位置を使用して、LEFT 関数と組み合わせた数式に編集してみましょう。

FIND 関数については前回の投稿  をご覧くださいね。
ここでは、取り出す文字がふくまれている文字列はセル A2、先頭からの文字数はセル B2から 1 マイナスした数字 とします。セル B2 には、セル A2 のスペースの位置が表示されています。この値をそのまま文字数として使用してしまうと、スペースも含んだ文字数分のデータが表示されてしまうため、マイナス 1 を加えています。


1.数式を編集するセルをダブル クリックするか、[F2] キーを押して編集状態にし、「=LEFT(A2,B2-1)」となるように修正し、[Enter] キーを押します。


501-EX12.jpg

 

2.セル A2 の先頭から、セル B2 の数値から 1 マイナスした分の文字が表示されます。

601-EX12.jpg


3.数式をコピーすると、それぞれの氏名のスペースより前の文字列が表示されます。
結果的としてそれぞれの姓が抜き出せた、ということになります。
701-EX12.jpg

 

おまけ
今回は「スペースの位置を探し出す」という手順と「セルの先頭から指定した数の文字を抜き出す」という 2 つの目的を別々に数式として作成し、組み合わせました。
操作に慣れてきたら、1 つの数式の中で 2 つの関数を使用してしまいましょう。
たとえば、今回の例はスペースの位置をあらかじめセル B2 に表示しておきましたが、
姓のセルに「=LEFT(A2,FIND(" ",A2)-1)」という数式を 1 つだけ作成してもよいのです。
このように関数の中に関数を入れ込むことを「ネスト」といいます。

 

補足
LEFT 関数は、対象となる文字列の先頭から指定された数の文字を返す関数です。対象となる文字列は、半角も全角も 1 文字と判断されます。

数式は、下記のように引数を指定します。

LEFT(文字列,先頭からの文字数)

文字列 には、取り出す文字が含まれている文字列またはその文字列が入力されているセル番地を指定します。文字列を指定する場合はダブル クォーテーションで括ります。
“神奈川県” や “港区” というように文字列を指定したり、A1 や D4 のようにセル番地を指定したりします。

先頭からの文字数 には、取り出したい文字数を指定します。数値で指定するだけでなく、A1 や D4 のようにセル番地を指定することもできます。



「この文字を抜き出したい」という目的が 1 回だけで終わるのであれば、数式を作らなくてもコピーや切り取りのほうが早いです。しかし、たくさんのデータがあり、そのすべてで文字を取り出したいのであれば、数式で作成したほうが効率的ですね。
そのときに、対照の文字列にスペースやハイフンなどが含まれているのであれば、FIND 関数と組み合わせてこれを目印にすることで、抜き出したいデータの文字数を動的に変えることができますね。

複数の関数が組み合わせられていて難しそうに見える数式も、1 つずつ段階を踏んで作っていけば実はとてもシンプルだったりします。複雑そうだな、とあきらめずに 1 つずつクリアしていけば、きっと思い通りの結果を得られるようになりますよ。

では、氏名の「名」を抜き出すためにはどうしましょう?
長くなったので、また別の投稿で書きます。

石田 かのこ