関数 EXCEL&VBA

Excelで左から特定の文字まで抽出する方法

セルに入力された文字列から、任意の文字列を抽出するケース は時々ありますよね。

例えば、文字列の 先頭から(=左から目印となる 特定の文字まで抽出する ケース。
つまり、抽出するべき文字列の文字数が定まっておらず、終点となる文字列だけがはっきりしているパターンです。

今回は『Excel左から特定の文字まで抽出する方法』です。



左から文字列を抽出する関数

文字列を抽出する関数はいろいろありますが、そのひとつが LEFT関数 です。

LEFT関数

LEFT関数とは、文字列の先頭(左)から指定された数の文字を返す関数で、「左から〇文字を抜き出す」というときに便利です。
書式は;

LEFT( 文字列, [文字数] )

のように表されます。
[文字数] の部分は省略が可能で、省略した場合は左から1文字だけを抽出します。

文字数が不確定「特定の文字まで抽出」

下のサンプルは、セルA2にアンケートデータの全データがひとつのセルに入っているものとします。
その中から「ご要望:」の手前までの部分(赤字部分)のみを抽出します。


▲コメント文(赤字部分)だけをきれいに抜き出せ!

条件「ご要望:」は、データの中に必ず登場します。
赤字コメントの「文字数」は回答者によってさまざまで、文字数を特定することはできません。

文字列の位置を検索する関数

上のサンプルでは流動的な「文字数」をしっかり捉える必要があります。

そのためには、特定の文字「ご要望:」が 左から何文字目に存在するか がわかれば解決します。
こんな時に便利なのが FIND関数 です。

FIND関数とは

FIND関数とは、任意の文字列が他の文字列の中で最初に現れる位置を検索する関数です。
書式は;

FIND( 検索文字列, 対象, [開始位置] )

のように表されます。
これで「ご要望:」の開始位置がわかるので、左から「ご要望:」の手前までの文字数を抽出することが可能になります。

コメントの文字数=「ご要望:」の開始位置 - 1文字

数式の最後を「-1文字」としているのは、「ご要望:」の開始位置の「ひとつ手前」までを抽出したいからです。

これで、LEFT関数と FIND関数を組み合わせてみると以下のようになります;

LEFT(A2, FIND("ご要望:", A2)-1)

これをセルA5に入力すると;


▲コメントの抽出に成功

うまくコメント文だけを抽出することができました。
コメントの内容が変わっても、文字数を正確にとらえて左から特定の文字まで抽出してくれます。


▲コメントの文字数が変わっても大丈夫!

以上で『Excel左から特定の文字まで抽出する方法』は終了。
その他の関連記事と合わせて仕事や趣味に役立ててください。

関連記事・広告






-関数, EXCEL&VBA
-, ,