Excelについて詳しく解説します
Excelで、文字列を分けて表示させたい!
……という方向けに、この記事を書きました。
たとえば、名前を性と名に分けて表示させたいときってありますよね。
この記事では、Excelで文字列を分割する方法について解説しています。
あわせて読みたい
目次
【手順①】区切り位置を使って分割する方法
下記の表を例に解説します。
まずは、文字列を分けたいセルを全て選択しましょう(今回はB2からB6)。
次に、「データ」→「区切り位置」の順にクリックします。
下記画像が表示されるので、「コンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」→「次へ」の順にクリックします。
すると、次の画面に切り替わるので、「スペース」にチェックを入れ「次へ」をクリックしてください。
データのプレビュー内で、性と名の間に縦線が入ればOKです。
画面が変わったら、表示先のセルを選択します。
表示先は、開始位置のセルを選択してください(今回はC3)。
そして「完了」を押せばOKです。
アラートが表示されますが、そのままOKボタンを押します。
これで、文字列を分割できました!
【手順②】関数を使って、文字列を分割する方法
次は、関数を使って文字列を分割してみます。
別の表でやってみましょう。
使う関数は、
- Find関数
- Left関数
- Right関数
- Len関数
です。
各関数の書き方について、それぞれ解説します。
Find関数
Find関数は、検索したい文字が、その文字列の何番目にあるのか表す関数です。
Find関数の書き方は、下記のとおりです。
=Find(検索したい文字列のあるセル、その文字列が含まれている文字列)
Left関数、Right関数
次に、Left関数とRight関数です。
それぞれ、文字列の左右から指定した文字数分を取り出せます。
書き方は、以下のとおりです。
=Left or Right(該当の文字列の入ったセル、抜き出したい文字列)
Len関数
Len関数は、該当セルの文字列の数を表示させる関数です。
書き方は、以下のとおりです。
=Len(文字列の入ったセル)
Len関数については、下記の記事でも解説しています。
Left関数とFind関数を使って性を取り出す
まずは、Left関数を使って性を取り出してみます。
今回の表にある田中さん(B3)なら以下のように書きます。
=Left(B3,2)
ただし、性は2文字だけとは限りません(B6)。
そこで「スペースよりも前の文字列を抜き出す」と、考えてみましょう。
該当のセルから特定の文字を探すには、Find関数を使うので、以下のように書きます。
=Find(" ",B3)
そして、さっきのLeft関数と組み合わせると……。
=Left(B3,Find(" ",3))
となり、さらにスペースよりも前の文字列を抜き出すのでスペースよりも1つ前なら、
=Left(B3,Find(" ",3)-1)
となります。
これで、性を正確に抜き出せました!
Right関数,Find関数,Len関数を使って名を抜き出す
次は、名を抜き出します。
まずは、Right関数ですね。田中さんの場合(B3)なら
=Right(B3,2)
となります。
しかし、名前も2文字とは限りません。
さらに名の場合は、性と同じように書くとスペースも含まれてしまいます。
そこで、「全体の文字数から、スペースのある位置分を引いた数だけ右から抜き出す」と考えてみましょう。
したがって、
=Right(B3,Len(B3)-Find(" ",B3))
となります。
これで、名も抜き出せました!
まとめ
以上、文字列を抜き出す方法について解説しました。
ぜひ試してみてください。