Excelで特定の文字・記号より左の(頭の)文字列だけを抽出する方法/Find・Left関数の組み合わせ方

knitted IT

定番の組み合わせで、たとえば文中の空白より左の文字列だけを取り出す、といった使い方ができます。
ちなみに、都道府県だけ抜き出す場合は別のやりかたもあります。

スポンサーリンク

Find関数の使い方

Find関数は、指定した文字がセルの何文字目にあるかを教えてくれる関数です。

文字列が何文字目にあるか調べる
Find(“文字列”,対象)
findleft1
=Find(“ ”,A1)
A1の左から数えて最初の半角スペース「 」の位置を返す)と入力し、作成した式をオートフィルで下まで伸ばします。
findleft2
それぞれ左から数えてスペースが何文字目にあるかが数値で返されます。
findleft3
条件を「/」にすると、戻り値も変化します。

Left関数の使い方

Left関数は、指定したセルの左から、指定した数分だけ文字列を抜き出す関数です。

文字列を左から抜き出す
Left(対象,文字数)
findleft4
=Left(A1,3)
(A1の左から3つ分の文字列を抽出する)と入力します。
findleft5
それぞれ左から3つ分の文字列が返されました。

Find関数とLeft関数の組み合わせ

ここからが本題ですが、上の表で空白より左の文字列だけを取得するには、Find関数で抜き出した「 」の位置から1を引いた数分の文字列を、Left関数で抽出すればいいことになります。

findleft6
=Left(A1,B1-1)
A1からB1で取得した数-1分の文字列を左から抽出)と入力します。
findleft7
下までオートフィルしてみます。「 」より前の文字列だけが抜き出せました。
findleft8
せっかくなので、B1セルのFind関数をC1セルに組み込んで、ひとつのセルにまとめてしまいましょう。
B1セルを選択し、=以外のFind関数を全てコピーします。
findleft9
今度はC1セルに移動し、先ほどのFind関数が入力されている「B1」を選択します。
findleft10
コピーしたFind関数をペーストします。
findleft11
すると結果としては先ほどと同じ戻り値になりますが……。
findleft12
ひとつのセルでFind関数~Left関数までまとまっているので、表がスッキリします。

ただちょっと複雑にはなるので、可読性を優先するならあえて両方残したほうがいい場合もあります。このへんはお好みで。

Excel(エクセル):抽出、抜き出し
Excelであるデータ内から特定のデータを「抜き出す」「抽出する」操作、のまとめです。 値の抽出 Value関数を使うと、日付や金額などから書式を抜き、標準形式の値だけを抽出することができます。 文字列の抽出 ...
Excel(エクセル):住所、郵便番号
Excelをデータベースとして使う場合に使用頻度の高い、住所に関する操作、設定、便利技まとめです。 住所・郵便番号の入力 郵便番号から住所、住所から郵便番号を入力する方法です。 7桁の数字を入力すると、自動的に...
関数・演算子・メソッド・プロパティ名から探すExcel/VBA(マクロ)使い方・組み合わせ方まとめ
こちらはExcelやメソッドの諸機能を、機能の名称から探せるまとめ記事です。

コメント