1. Home »
  2. エクセル関数の技 »
  3. 文字列を分割する/文字を結合する技

文字列を分割する/文字を結合する技:Excel関数の技

スポンサードリンク
(追記) (追記ここまで) (追記) (追記ここまで)


更新:2025年4月7日;作成:2007年8月28日

関数を使って文字列を分割する 関数を使って文字列を結合する
区切り位置を利用する フラッシュフィル利用する

関数を使って文字列を分割する topへ

文字の位置を捜す
FIND関数:=FIND(検索文字列,対象,開始位置)

文字列の左端から指定した文字数だけ取り出す
=LEFT(文字列,[文字数])

文字列の指定した位置から指定した文字数だけ取り出す
=MID (文字列,開始位置,文字数)

文字列の文字数を返します。半角文字と全角文字との区別はされません
=LEN(文字列)

文字列中から検索文字列を探し、置換文字列に置き換えます
=SUBSTITUTE(文字列,検索文字列,置換文字列,置換対象)

半角のスペースで区切られている場合

TEXTSPLIT関数を使う(Excel for Microsoft365,Excel2024)

TEXTBEFOR関数とTEXTAFTER関数を使う(Excel for Microsoft365,Excel2024)

LEFT関数,MID関数とFIND関数を使う

全角のスペースで区切られている場合

半角スペースと全角スペースが混在して区切られている場合

TEXTSPLIT関数を使う(Excel for Microsoft365,Excel2024)

TEXTBEFOR関数とTEXTAFTER関数を使う(Excel for Microsoft365,Excel2024)

LEFT関数,MID関数とFIND関数を使う

  1. 半角スペースか全角スペースに統一してから、FIND関数で位置を調べて取り出します。
    SUBSTITUTE(A1," "," ") として半角スペースに統一します。
    • C1セル:=LEFT(A1,FIND(" ",SUBSTITUTE(A1," "," "))-1)
      E1セル:=MID(A1,FIND(" ",SUBSTITUTE(A1," "," "))+1,LEN(A1))
    • スピルが利用できる場合
      C1セル:=LEFT(A1:A4,FIND(" ",SUBSTITUTE(A1:A4," "," "))-1)
      E1セル:=MID(A1:A4,FIND(" ",SUBSTITUTE(A1:A4," "," "))+1,LEN(A1:A4))
  2. 氏名が漢字とひらがなおよびカタカナの全角文字列であるのなら、ASC関数を使うことも出来ます。
    • C1セル:=LEFT(A1,FIND(" ",ASC(A1))-1)
      E1セル:=MID(A1,FIND(" ",ASC(A1))+1,LEN(A1))
    • スピルが利用できる場合
      B1セル:=LEFT(A1:A4,FIND(" ",ASC(A1:A4))-1)
      C1セル:=MID(A1:A4,FIND(" ",ASC(A1:A4))+1,LEN(A1:A4))
(追記) (追記ここまで)

区切り位置を利用する topへ

  1. A1:A4セルを選択します。
    姓と名の間のスペースは全角と半角が使われています。
  2. [データ]タブのデータツール グループにある[区切り位置]を選択します。
  3. 区切り位置指定ウィザードの1/3で「コンマやタブなどの区切り文字によってフィールドごとに聞ぎられたデータ」にチェックが入っているのを確認して、[次へ]ボタンをクリックします。
  4. ウィザードの2/3で「スペース」にチェックを入れて[次へ]をクリックします。
    データのプレビューに文字列が分割される状態が表示されます。
  5. ウィザードの3/3で表示先に C1 と入力して[完了]をクリックします。
  6. C,D列に文字列が分割されました。
    区切り位置では半角スペースと全角スペースは区別されないことが分かります。

フラッシュフィルを利用する topへ

  1. 分割したい文字(苗字)をO1セルに入力して、[データ]タブの[フラッシュフィル]をクリックします。
    ショートカットキーは [Ctrl]+[E]です。
    下図はExcelの表示幅を広くしていますので、フラッシュフィルのボタンが大きく表示されています。
  2. O2セル以降にスペース文字の前の文字列(姓)が表示されました。
  3. P1セルには名前を入力して、[データ]タブの[フラッシュフィル]をクリックします。
  4. P2セル以降にスペース文字の後ろの文字列(名)が表示されました。

関数を使って文字列を結合する topへ

  1. &演算子を使ってスペースを挟んで結合する例です。
    • C1セル:=A1&" "&B1 と入力して、下方向へ数式をコピーします。
      Microsoft365などSpill(スピル)が利用できる場合は、C1セルに =A1:A4&" "&B1:B4 と入力します。
  2. CONCATENATE関数を使う例です。
    • C1セル:=CONCATENATE(A1," ",B1) と入力して、数式を下方向へコピーします。
      Excel for Microsoft365,Excel2021以降でSpill(スピル)が利用できる場合は、
      C1セルに =CONCATENATE(A1:A4," ",B1:B4) と入力します。
  3. CONCAT関数を使うこともできます。
    このCONCAT関数はExcel for Microsoft365,Excel2019以降で使用することができます。
    空白を間に挟むケースでは =CONCAT(A1," ",B1) と入力します。
  4. TEXTJOIN関数を使うこともできます。
    このTEXTJOIN関数はExcel for Microsoft365,Excel2019以降で使用することができます。

スポンサードリンク
(追記) (追記ここまで)


(追記) (追記ここまで)


よねさんのWordとExcelの小部屋 » エクセル関数の技 » 文字列を分割する/文字を結合する技

PageViewCounter
Counter
Since2006/2/27

AltStyle によって変換されたページ (->オリジナル) /