エクセルで文字を分割・結合する方法!関数を使いこなして事務作業を効率化しよう

AI・ワークハック

エクセルで名簿や商品リストを作成しているとき、「苗字と名前を分けたい」「住所から市区町村だけを抽出したい」といった場面に遭遇することはありませんか?一つひとつ手入力で修正するのは時間がかかりますし、ミスも起きやすくなります。

この記事では、エクセルの関数を使ってセル内の文字を自由自在に分割・結合するテクニックを解説します。基本のLEFT関数やRIGHT関数から、少し応用が必要な「区切り文字が2文字以上の場合」の対処法まで、実務でそのまま使える知識を網羅しました。この記事を読み終える頃には、大量のデータ加工も一瞬で終わらせることができるようになっているはずです。

セル内の文字を分割する!基本の関数と応用テクニック

特定の文字(区切り文字)を境にして、セルの内容を前後で分けたい場合には、複数の関数を組み合わせて使用します。一見複雑に見えますが、それぞれの関数の役割を理解すれば、誰でも簡単に使いこなすことが可能です。

LEFT関数とSEARCH関数で前半部分を抽出する

例えば、セルA1に「東京都■新宿区」と入力されており、この「■」より前の部分だけを取り出したい場合を考えます。このとき、以下の数式を使用します。

=LEFT(A1,SEARCH(“■”,A1,1)-1)

この数式の仕組みを分解してみましょう。まず、SEARCH関数がセル内にある「■」が何文字目にあるかを探し出します。今回の場合、■は4文字目にあるので、結果は「4」となります。そこから「-1」をすることで、■の直前までの文字数(3文字)を指定しています。最後にLEFT関数が、左端からその文字数分だけを切り出すという流れです。

RIGHT関数とLEN関数で後半部分を抽出する

次に、区切り文字「■」より後ろの部分(今回の例では「新宿区」)を抽出する方法です。後半の抽出には、RIGHT関数、LEN関数、SEARCH関数の3つを組み合わせます。

=RIGHT(A1,LEN(A1)-SEARCH(“■”,A1,1))

ここでポイントになるのがLEN関数です。LEN関数は「セル内の全文字数」をカウントします。全体の文字数からSEARCH関数で求めた「■」の位置(文字数)を引くことで、残りの文字数、つまり後半部分の長さを算出しています。エクセルは右側から指定した文字数分を抜き出すため、これで「新宿区」という結果が得られます。

区切り文字が2文字以上の場合の調整方法

実務では、区切り文字が「ーー」や「 // 」のように、2文字以上になることもあります。この場合、先ほどの数式を少し調整する必要があります。SEARCH関数は「検索文字列の開始位置」を返すため、後半部分を抽出する際に、文字数のズレが生じるからです。

例えば、区切り文字が2文字の場合は、以下のように数式の末尾を調整します。

=RIGHT(A1,LEN(A1)-SEARCH(“■■”,A1,1)-1)

2文字以上の場合は、SEARCH関数で見つけた位置から、区切り文字自体の長さ分をさらに差し引く必要があります。もし3文字の区切り文字なら「-2」という具合に、文字数に合わせて数値を調整してください。ここを忘れると、抽出した文字の先頭に区切り文字の一部が残ってしまうので注意しましょう。

離れたデータを一つに!文字を結合する2つの方法

分割とは逆に、バラバラのセルに入力された「姓」と「名」を結合してフルネームにしたい場合や、コードと名称を繋げたい場合もあります。結合には、大きく分けて2つのやり方があります。

最もシンプルな「&(アンパサンド)」での結合

もっとも手軽で、直感的に使えるのが「&」記号を使った方法です。関数を呼び出す必要がなく、数式バーに直接入力するだけで完了します。

=A1&B1

例えば、A1に「株式会社」、B1に「〇〇商事」と入っていれば、この数式で「株式会社〇〇商事」となります。もし間にスペースを入れたい場合は、=A1&” “&B1のように、ダブルクォーテーションで囲った空白を挟むことで自由にカスタマイズ可能です。手軽さゆえに、数箇所をサッと繋げたいときに最適な手法です。

大量のデータを繋ぐCONCATENATE関数と最新のCONCAT

結合するセルが多い場合や、関数の形式で管理したい場合にはCONCATENATE(コンカティネート)関数が使われます。古いバージョンのエクセルから存在する定番の関数です。

=CONCATENATE(A1,B1)

ただし、最新のエクセル(Office 2019以降やMicrosoft 365)を使用しているなら、さらに進化したCONCAT(コンカット)関数TEXTJOIN(テキストジョイン)関数がおすすめです。CONCAT関数は範囲指定(A1:C1など)ができるため、一つずつカンマで区切る手間が省けます。また、TEXTJOIN関数を使えば、文字の間に自動でカンマや改行を挟むことができ、結合作業の効率が劇的に向上します。

作業をさらに加速させる!知っておくと便利な豆知識

関数を使わなくても、エクセルの標準機能で文字の分割や結合ができるケースがあります。状況に応じてこれらを使い分けるのが「エクセルマスター」への近道です。

  • 区切り位置指定ウィザード: 決まったルールで大量のデータを一括分割したい場合に便利です。「データ」タブから簡単に実行できます。
  • フラッシュフィル(Ctrl + E): エクセルに「お手本」を示すだけで、残りのセルを自動で埋めてくれるAIのような機能です。複雑な関数を組む前に一度試す価値があります。
  • 表示形式の変更: 実際の内容は変えずに、見た目だけ文字を繋げたい(単位の「円」を付けるなど)場合は、セルの書式設定を活用しましょう。

データの形式や量に合わせて、関数と標準機能を賢く使い分けてください。特に、今回紹介したLEFT、RIGHT、SEARCHの組み合わせは、データのクリーニング作業において最強の武器になります。

エクセルの基本操作をマスターして、面倒なコピペ作業から卒業しましょう!

タイトルとURLをコピーしました