-
よねさんのWordとExcelの小部屋 »
-
エクセル関数の技 »
-
文字列を分割/結合する技
- セル内の文字列を分割する方法をまとめて説明しています
文字の位置を捜す
FIND関数:=FIND(検索文字列,対象,開始位置)
文字列の左端から指定した文字数だけ取り出す
=LEFT(文字列,[文字数])
文字列の指定した位置から指定した文字数だけ取り出す
=MID (文字列,開始位置,文字数)
文字列の文字数を返します。半角文字と全角文字との区別はされません
=LEN(文字列)
文字列中から検索文字列を探し、置換文字列に置き換えます
=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)
- 名前などを分割するとき、ふりがな情報が必要なケースでは 区切り位置を利用します。
関数で取り出したものにはふりがな情報が欠落します。
- 名前の例で姓と名がスペースで区切られているケース
- 半角のスペースで区切られている場合
- B1セル:=LEFT(A1,FIND(" ",A1)-1)
- FIND(" ",A1) と検索文字列に半角スペースを入力します。
半角スペースの位置は3となるので、左から半角スペースの前までの文字を取出せばよいので、FIND(" ",A1)-1と1を引きます。
- C1セル:=MID(A1,FIND(" ",A1)+1,LEN(A1))
- 半角スペースの次の位置から取出せばよいので、FIND(" ",A1)+1と1を加えます。
取出す文字数はLEN(A1)-FIND(" ",A1)と計算しても良いのですが、後ろの制限はないのでLEN(A1)とA1の文字数を使っています。
- 全角のスペースで区切られている場合
- 半角スペースのケースと同様です。FIND(" ",A1)と検索する文字列に全角スペースを入れます。
- B1セル:=LEFT(A1,FIND(" ",A1)-1)
- C1セル:=MID(A1,FIND(" ",A1)+1,LEN(A1))
- 半角スペースと全角スペースが混在して区切られている場合
- 半角スペースか全角スペースに統一すればよい。
SUBSTITUTE(A1," "," ")で半角スペースに統一します。
- B1セル:=LEFT(A1,FIND(" ",SUBSTITUTE(A1," "," "))-1)
- C1セル:=MID(A1,FIND(" ",SUBSTITUTE(A1," "," "))+1,LEN(A1))
- 別解1:氏名が漢字とひらがなおよびカタカナの全角文字列であるのなら、ASC関数を使うことも出来ます。
- B1セル:=LEFT(A1,FIND(" ",ASC(A1))-1)
- C1セル:=MID(A1,FIND(" ",ASC(A1))+1,LEN(A1))
- 区切り位置を利用する例
- A1:A4セルを選択して、データ→区切り位置を選択します。
- ウィザードの2/3で「スペース」にチェックを入れて[完了]をクリックします。
- A,B列に分割されました。
区切り位置では半角スペースと全角スペースは区別されないことが分かります。
- 関係ないことですがFIND関数で検索する文字列がない場合はエラーとなります。
エラーを返したくない時は被検索文字列に検索文字列を付加してやればよいでしょう。
- B2セルには=FIND(" ",$A2)としてエラーが返っている例です。
- C2セルでは=FIND(" ",$A2&" ") とすることによってエラーを回避しています。
- &演算子を使ってスペースを挟んで結合する例です。
- C1セル:=A1&" "&B1
- CONCATENATE関数を使う例です。
- C1セル:=CONCATENATE(A1," ",B1)
スポンサードリンク
よねさんのWordとExcelの小部屋 »
エクセル関数の技 »
文字列を分割/結合する技
PageViewCounter

Since2006/2/27