テキストの分割は、Excelの基本的なタスクの1つです。連結されたテキストから名前、ID、アドレスなどを分割する必要があることがよくあります。これを行うには、文字列内の区切りテキストをターゲットにして、文字列の各セグメントを分割するために使用します。この記事では、文字列内の1つ以上の文字に基づいてテキストを分割する方法を学習します。

数式を使用して特定の文字でテキスト文字列を分割する

関数LEFT、RIGHT、LEN、およびFINDを使用して、特定の文字でテキストを分割できます。もちろん、テキストの分割には少なくとも2つの部分があります。

まず、特定のテキストの前のテキスト(文字の左側のテキスト)と、次に特定のテキストの後のテキスト(文字の右側のテキスト)です。

文字列の左側でテキストを分割する

文字の左側でテキストを分割する方法を見てみましょう。

一般式

=LEFT(string,FIND("specific character", string)-1)

文字列:テキストを分割する文字列。これは、ハードコードされた値、セル参照、または数式にすることができます。

特定の文字:テキストを分割する文字。

これは、ハードコードされた値、セル参照、または数式にすることができます。

物事を明確にするための例を見てみましょう。

例:文字に基づいて文字列の左側でテキストを分割する

ここに、この単純なデータセットがあります。範囲A2:A1では、コンマ( “、”)で連結された名前とコードを指定します。名前はカンマの左側にあり、各テキストから分割したいと思います。

image

上記の一般式をここに適用して、文字列のコンマの左側にテキストを取得します。 B2にコピーして、下にドラッグします。

=LEFT(A2,FIND(",",A2)-1)

image

それぞれの名前が文字列から正確に抽出されていることがわかります。

どのように機能しますか?

私たちが知っているように、 `link:/ working-with-formulas-left-function-in-microsoft-excel [LEFT function]`は、指定された文字列から指定された数の文字を抽出します。それでは、式を裏返しに分解してみましょう。

link:/ lookup-formulas-excel-find-function [FIND]( “、”、A2):

ここで、FIND関数は、セルA2(Georgina Schalk、30)内の検索文字列コンマ( “、”)の位置を検索します。 16を返します。これで、式は= LEFT(A2,16-1)になります。

抽出された文字列の一部にコンマ( “、”)を含めたくないので、16から1を減算します(ターゲット文字が2の場合、2を減算します。つまり、の長さを減算します。検索文字列の位置から検索文字列を検索して、結果に含めないようにします)。最後に、LEFT(A2,15)を作成し、名前を抽出します(左から15文字)。

文字列の右側でテキストを分割する

特定の文字の左側にテキストを表示する方法を学びました。それでは、特定の文字の右側でテキストを分割する方法を見てみましょう。

一般式

=RIGHT(string,LEN(string)-FIND("specific character/s", string))

文字列:テキストを分割する文字列。これは、ハードコードされた値、セル参照、または数式にすることができます。

特定の文字:テキストを分割する文字。

これは、ハードコードされた値、セル参照、または数式にすることができます。

物事を明確にするための例を見てみましょう。

例:文字に基づいて文字列の右側でテキストを分割する

上記の例で使用したものと同じデータを使用します。今回は、文字列からコードを抽出する必要があります。コードはコンマ( “、”)の右側にあります。上記の一般式を使用して、テキストを右から分割してみましょう。

セルC2に、この数式を記述し、下にドラッグして各値を取得します。

=RIGHT(A2,LEN(A2)-FIND(",",A2))

image

仕組み:

内側から分解してみましょう。 `link:/ excel-text-formulas-len-function-in-excel [LEN function]`は、文字列の文字数を返します。

LEN(A2)は18を返します。FIND関数は以前と同様に16を返します。

ここで、式はRIGHT(A2,18-16)に解決され、これもRIGHT(A2,2)に解決されます。

さて、 link:/ text-excel-right-function [RIGHT function]

指定された文字列の右から指定された文字数を返すため、30(右から2文字)を取得します。

そのため、テキストExcel関数を使用して、文字列内の特定のテキストでテキストを分割しました。ダイナミックです。列に新しいデータを入力するたびに、隣接する列に抽出されたテキストが表示されます(隣接するセルに数式をコピーした場合)。この方法を使用すると、元のテキストはそのままになります。必要に応じて、出力の貼り付けを評価し、ソースデータを削除できます。

テキストから列への機能を使用して特定の文字でテキストを分割する

上記の式を使用すると、文字列内の特定のテキストが最初に表示されたときにのみテキストを分離できます。テキストのランダムな場所に複数のコンマがある場合、上記の式は役に立ちません。より多くの数式を使用する必要があり、それは面倒です。特定のキャラクターの出現ごとにテキストを分割するにはどうすればよいですか?

image

テキストを列に分割する組み込み機能があります。これは、テキストから列への機能と呼ばれます。この機能を使用すると、セパレーターが表示されるたびに、元のテキストを複数の列に分割できます。

特定の文字に基づいてテキストを分割して使用する方法を見てみましょう。

まず、ソーステキストの右側に十分な空の列を用意します。

ソーステキストの右側の列にデータがある場合、それらは置き換えられる可能性があります。ソースデータを新しいシートにコピーすることをお勧めします。このようにして、ソースデータはそのままになり、他のデータは影響を受けません。

image

※分割したいデータを選択してください。

  • ALT> A> Eを押します。これにより、[テキストを列に変換ウィザード]ボックスが開きます。リボンタブで、[データ]> [テキストから列]に移動することもできます。

  • [区切り]を選択して、[次へ]をクリックします。

タブ、セミコロン、カンマ、スペース、その他など、選択できる一般的なセパレータオプションはほとんどありません。 1つ以上のセパレータを選択できます。

  • ここでは、カンマ区切り文字を使用してテキストを分割します。カンマチェックボックスを選択できますが、ここでは[その他]オプションを使用します。他のオプションでは、テキストを分割するために任意のテキストを書くことができます。カンマを書きます。

image

テキストボックスにカンマを入力すると、終了する前にExcelが出力をプレビューします。

image

終了ボタンを押します。完了しました。データは指定された文字で分割されます。

image

スペースとコンマの両方のように複数の区切り文字を使用した場合は、姓名も分割します。

image

つまり、Excelの文字列内の文字またはテキストに基づいてテキストを分割する方法です。どちらの方法にも、それぞれ長所と短所があります。最初の方法では、データを変更するだけで複数回使用できる動的セパレーターを作成します。ただし、テキストを非常に多くの部分に分割する必要がある場合、Excelの数式メソッドは複雑で面倒な場合があります。一方、Text to Columnメソッドはこの部分には適していますが、動的ではありません。

以下のコメントセクションに疑問や特別な要件がある場合はお知らせください。

関連記事:

link:/ excel-text-extract-text-from-a-string-in-excel-using-excels-left-and-right-function [ExcelのLEFTおよびRIGHT関数を使用してExcelの文字列からテキストを抽出する]

Excelで電子メールからドメイン名を抽出する方法

Excelの文字列から数値とテキストを分割

人気の記事:

link:/ keyboard-formula-shortcuts-50-excel-shortcuts-to-increase-your-productivity [生産性を高めるための50のExcelショートカット]

link:/ forms-and-functions-introduction-of-vlookup-function [ExcelのVLOOKUP関数]

link:/ Tips-countif-in-microsoft-excel [COUNTIF in Excel 2016]

link:/ excel-formula-and-function-excel-sumif-function [ExcelでSUMIF関数を使用する方法]