店名と支店名、または銀行名と支店名などが1つのセルに入力されている場合、規則性があれば簡単に文字を分割できます。
ここでの規則性とは、店名と支店名の間が一定のルールに基づいて区切られている場合を指します。このような文字の分割は、実務で頻繁に遭遇するシチュエーションです。
文字分割前と分割後の例
A列の2行目から店名と支店名が、「・」で区切られている例です。
分割後は、B列に店名、C列に支店名を表示します。
このような分割作業は、データ整理の際に意外と多く遭遇します。
ただし、すべてのケースでこの方法が使えるわけではありません。分割文字と文字の間にある記号が不規則な場合には、この方法が使えないこともあります。そのため、ファイル名やデータの命名は規則性をもって行っておいた方がよいです。
エクセル関数で簡単に文字を分割する方法
使う関数は3種類です。
- FIND関数
- LEFT関数
- RIGHT関数
関数の説明の前に回答から
店名の取り出し
まずは、店名の取り出しの関数です。
セルB2に次の式を入力します。
=LEFT(A2,FIND("・",A2)-1)
セルの右下隅にある小さな四角(フィルハンドル)にマウスカーソルを合わせます。カーソルが十字(黒い十字)に変わるのでダブルクリックします
支店名の取り出し
次は支店名です。
セルC2に次に関数を入力します。
=RIGHT(A2,LEN(A2)-FIND("・",A2))
セルの右下隅にある小さな四角(フィルハンドル)にマウスカーソルを合わせます。カーソルが十字(黒い十字)に変わるのでダブルクリックします
それぞれの関数の説明
複雑そうに見えるが、非常に簡単な式の組み合わせです。
FIND関数
=FIND(検索文字列, 対象文字列, [開始位置])
説明
- 検索文字列: 探したい文字列を指定します。
- 対象文字列: 検索する対象の文字列を指定します。
- 開始位置(省略可能): 検索を開始する位置を指定します。省略すると、対象文字列の最初から検索を開始します。
例
=FIND("・", A2)
セルA2の中で「・」が最初に現れる位置を返します。この例では、開始位置を省略しています。省略した場合は、最初に一致する検索文字列の位置を返します。
LEFT関数
=LEFT(文字列, 文字数)
説明
- 文字列: 左側から抽出したい対象の文字列を指定します。
- 文字数: 抽出する文字数を指定します。
例
左から4文字目を取り出したい場合の例です。
=LEFT(A2,4)
セルA2の文字列の左側から、「・」が現れる前までの文字を抽出します。
=LEFT(A2, FIND("・", A2)-1)
RIGHT関数
=RIGHT(文字列, 文字数)
説明
- 文字列: 右側から抽出したい対象の文字列を指定します。
- 文字数: 抽出する文字数を指定します。
例
右から4文字目を取り出したい場合の例です。
=RIGHT(A2, 4))
セルA2の文字列の右側から、「・」の後の文字を抽出します。 LEN(A2)は文字列の長さを返し、 FIND("・", A2)は「・」の位置を返します。これを引き算することで「・」の後の文字数を求めています。
=RIGHT(A2, LEN(A2)-FIND("・", A2))
これらの関数を組み合わせることで、セル内の文字列を簡単に分割することができます。例えば、「スーパー・池袋支店」から「スーパー」と「池袋支店」を取り出す場合に使用します。
複数の関数を組み合わせた式は、最初は難しそうに見えるかもしれません。でも、一つずつ見ていくと簡単です。もし、一気に一つの式を組み立てられないときは、次のように一つずつ作成していくことで、理解できるようになります。
まとめ
今回の例のような店名と支店名を取り出したい場合は、3つの関数で簡単に解決します。
- FIND関数
- LEFT関数
- RIGHT関数
大量のデータのある場合は、このような方法で分割すると、作業が早く終わります。
この例でも分かるように、ファイル名は規則性をもってつけることをおすすめします。