Excelで部分文字列を抽出する方法(テキスト式を使用)

Excelには、驚異を行うことができる一連のテキスト関数があります。 いすべての種類のテキストのスライスやダイス業務に使用されます。

テキストデータを扱う人々にとって一般的なタスクの一つは、Excelで部分文字列を抽出することです(つまり、セルからテキストのpsrtを取得する)。

残念ながら、Excelにはこれを簡単に行うことができる部分文字列関数はありません。 しかし、これはまだテキスト式だけでなく、いくつかの他の組み込みのExcel機能を使用して行うことができ,

このチュートリアルでは、

まず、このチュートリアルで使用するテキスト関数のいくつかを見てみましょう。

Excelテキスト関数

Excelには、Excelの元のテキストから部分文字列を抽出するのが本当に簡単になるテキスト関数の範囲があります。 このチュートリアルで使用するExcelテキスト関数は次のとおりです。

  • RIGHT function:テキスト文字列の右側から指定された数の文字を抽出します。
  • LEFT関数:テキスト文字列の左側から指定された数の文字を抽出します。,
  • MID関数:テキスト文字列内の指定された開始位置から指定された数の文字を抽出します。
  • 検索関数:テキスト文字列内の指定されたテキストの開始位置を検索します。
  • len関数:テキスト文字列内の文字数を返します。,

関数を使用してExcelで部分文字列を抽出する

以下に示すようなデータセットがあるとします。

これらはランダムな(ただしスーパーヒーローっぽい)電子メールid(私のものを除く)であり、以下の例では、Excelのテキスト関数を使用してユーザー名とドメイン名を抽出する方法を示します。

例1-電子メールIdからのユーザー名の抽出

テキスト関数を使用する際には、パターン(存在する場合)を識別することが重要です。 これにより、数式を作成するのが本当に簡単になります。, 上記の場合、パターンはユーザー名とドメイン名の間の@記号であり、ユーザー名を取得するための参照として使用します。

ユーザー名を取得する式は次のとおりです。

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

上記の式は、LEFT関数を使用して、idの@記号の位置を識別することによってユーザー名を抽出します。 これは、@の位置を返すFIND関数を使用して行われます。

たとえば、次の場合には、

[email protected],FIND(“@”,A2)は、テキスト文字列内の位置である11を返します。,

ここで、LEFT関数を使用して、文字列の左側から10文字(LEFT関数によって返される値よりも小さいもの)を抽出します。

例2-電子メールIdからのドメイン名の抽出

上記の例で使用したのと同じロジックを使用してドメイン名を取得できます。 ここでの小さな違いは、テキスト文字列の右側から文字を抽出する必要があることです。,

これを行う式は次のとおりです。

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

上記の式では、同じロジックを使用しますが、正しい文字列が得られるように調整します。

もう一度例を見てみましょう[email protected] FIND関数は、@記号の位置を返します(この場合は11です)。 ここで、@の後のすべての文字を抽出する必要があります。 したがって、文字列の合計長を特定し、@までの文字数を引きます。 それは私達に右のドメイン-ネームをカバーする特性の数を与える。,

これで、正しい関数を使用してドメイン名を取得することができます。

例3-電子メールIdからのドメイン名の抽出(.comなし)

テキスト文字列の中央から部分文字列を抽出するには、部分文字列の直前と後ろのマーカーの位置を特定する必要があります。

たとえば、以下の例では、.com部分のないドメイン名を取得するには、マーカーは@(ドメイン名の直前)となります。 (これはその直後です)。,

ドメイン名のみを抽出する式は次のとおりです。

=MID(A2,FIND("@",A2)+1,FIND(".",A2)-FIND("@",A2)-1) 

Excel MID関数は、指定された開始位置から指定された数の文字を抽出します。 上記の例では、FIND(”@”、A2)+1は開始位置(@の直後)を指定し、FIND(”。”,A2)-FIND(“@”,A2)-1’@’と’の間の文字数を識別します。’

更新:読者William19の一人は、ドットがある場合には上記の式が機能しないと述べました(。 メールアドレス(例えば、bruce.ウェイン@バットマン,com)。 したがって、このようなケースに対処する式は次のとおりです。

=MID(A1,FIND("@",A1)+1,FIND(".",A1,FIND("@",A1))-FIND("@",A1)-1)

テキストを列に使用してExcelで部分文字列を抽出する

関数を使用してExcelで部分文字列を抽出すると、動的であるという利点があります。 元のテキストを変更すると、数式によって結果が自動的に更新されます。

これが必要ない場合は、Text to Columns機能を使用すると、指定されたマーカーに基づいてテキストを部分文字列に迅速かつ簡単に分割できます。/p>

これを行う方法は次のとおりです。

  • テキストがあるセルを選択します。,
  • データに移動します–>データツール–>列へのテキスト。
  • 列へのテキストウィザードステップ1で、区切りを選択し、次へを押します。
  • ステップ2で、Otherオプションをチェックし、その右側のボックスに@と入力します。 これは、Excelがテキストを部分文字列に分割するために使用する区切り文字になります。 以下のデータプレビューを参照できます。 次へをクリックします。
  • ステップ3では、この場合、一般的な設定は正常に機能します。, ただし、数値/日付を分割する場合は、別の形式を選択できます。 デフォルトでは、宛先セルは元のデータがある場所です。 元のデータをそのまま保持したい場合は、これを他のセルに変更します。
  • 終了をクリックします。

これは即座にあなたにこの例で使用される各電子メールidのための部分文字列の二つのセットを与えます。

テキストをさらに分割したい場合(たとえば、split batman.com com)と同じ処理を繰り返します。,

検索と置換を使用してExcelのセルからテキストを抽出する

検索と置換は、Excelでテキストを操作しているときに強力な手法になります。 以下の例では、Excelで素晴らしいことを行うために、ワイルドカード文字で検索および置換を使用する方法を学びます。

See Also: Learn All about Wildcard Characters in Excel.

同じメールidの例を見てみましょう。

例1-電子メールIdからのユーザー名の抽出

検索と置換機能を使用して電子メールIdからユーザー名を抽出する手順は次のとおりです。

  • 元のデータをコピーして貼り付けます。, 検索と置換は、それが適用されているデータを動作し、変更するので、元のデータのバックアップを持っていることが最善です。
  • データを選択してホームに移動します–>編集–>検索&選択–>置き換える(またはキーボードショートカットCtrl+Hを使用)。,
  • 検索と置換ダイアログボックスに、次のように入力します。
    • 検索:@*
    • 置換:(この空白のまま)
  • すべて置換をクリックします。

これにより、メールidの@の前のすべてのテキストが即座に削除されます。 以下に示すように結果が得られます。

例2–電子メールIdからドメイン名を抽出する

同じロジックを使用して、ドメイン名を取得する,

これにより、電子メールidの@の前のすべてのテキストが即座に削除されます。

以下に示すように結果が得られます。

次のExcelチュートリアルも好きかもしれません。

  • テキスト文字列を含むセルを数える方法。
  • Excelで電子メールIdからユーザー名を抽出します。
  • Excel関数(例+ビデオ)。
  • 検索からより多くを取得し、Excelで置き換えます。
  • Excelでテキスト文字列の最初の文字を大文字にする方法
  • Excelでテキスト文字列から最初の単語を抽出する方法

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です