エクセルで2文字間のテキストを抽出する方法(4つの方法)

  • これを共有
Hugh West

Excelで2文字間のテキストを抽出するための特別なトリックを探しているなら、あなたは正しい場所に来ました。 Microsoft Excelでは、2文字間のテキストを抽出する方法が多数あります。 この記事では、2文字間のテキストを抽出する4つの方法について説明します。 このすべてを学ぶために完全ガイドに従おう。

練習用ワークブックをダウンロードする

この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。

2文字間のテキストを抽出する.xlsm

Excelで2文字間のテキストを抽出する4つの方法

ここでは、ReferenceとClient Codeを含むデータセットを用意しました。 我々の主な目的は、2文字間のテキストを抽出することです。

以下では、4つの方法で2文字間のテキストを抽出する。

1.MID関数、LEFT関数、FIND関数を使ってテキストを抽出する

テキストを抽出するために、以下のような組み合わせになります。 MID機能 , LEFT機能 そして FIND機能 .ここでは ミッド 関数は、文字列の途中の文字を返します。 関数は、文字列の先頭から指定された文字数を返します。 最後に FIND 関数は、1つの文字列の開始位置を返します。 以下のデータセットで、クライアントコード列のテキストを抽出するには、次の手順を実行する必要があります。

出力セルに次のような結合式を使用することにします。 C5:

=left(mid(b5,find("/",b5)+1,len(b5)),find("/",mid(b5,find("/",b5)+1,len(b5))))-1)

その後 入力 をドラッグして フィル・ハンドル これで、次のような出力が得られます。

🔎 数式はどのように機能するのか?

  • ここでは FIND("/",B5)+1 関数は、2文字間を抽出したい1つの文字列の開始位置を返すので、以下のような出力が得られます。

{5;7;5;5;5;5}

  • があります。 LEN(B5) 関数は、次のようなテキスト文字列の文字数を返します。

{11;11;13;12;10;10}

  • ここでは mid(b5,find("/",b5)+1,len(b5))です。 は、以下の出力のように、1文字目以降のテキストを返します。

{ther/38 ;gs/31; xlmne/846; enht/846; tml/23; kgf/14}.

  • があります。 find("/",mid(b5,find("/",b5)+1,len(b5)))-1 は、抽出したいテキスト(上の関数で得られたもの)の長さを返し、次のような出力をします。

{4;2;5;4;3;3}

  • 最後に LEFT機能 の場合、2文字間の指定文字数を取得することになります。

続きを読む エクセルでセルからテキストを抽出する方法(5通り)

2.Excelで2文字間のテキストを抽出するSUBSTITUTE関数、MID関数、REPT関数

クライアントコード列のテキストを抽出するために、次のように組み合わせます。 SUBSTITUTE関数 , MID機能 , REPT関数 . ここでは サブスティテュート 関数は,テキスト文字列中の既存のテキストを新しいテキストに置き換える関数です. レプト 関数は、テキストを指定された回数だけ繰り返します。

出力セルに次のような結合式を使用することにします。 C5:

=SUBSTITUTE(MID(SUBSTITUTE("/"&B5&REPT(" ",6),"/",REPT(",",255)),2*255,255),",","")

その後、 を押します。 入力 をドラッグして フィル・ハンドル これで、次のような出力が得られます。

🔎 数式はどのように機能するのか?

  • ここでは REPT(" ",6) REPT 機能は、テキストを指定された回数だけ繰り返す機能です。
  • があります。 MID(SUBSTITUTE("/"&B5&REPT(" ",6),"/",REPT(",",255)),2*255,255) は、次のような出力をセルに返します。 C5 :

{,,,ナンシー,,,,,,,,,,,,,,}.

  • すると、SUBSTITUTE関数は次のような出力を返します。

{ナンシー;GS;XLMNE;ENHT;TML;KGF}。

続きを読む Excelで文字の前のテキストを抽出する(4つの簡単な方法)

類似の読み物

  • エクセルで2つ目のスペース以降のテキストを抽出する方法(6つの方法)
  • Excelで特定のテキストの後にあるテキストを抽出する(10の方法)
  • Excelで最後の空白の後にテキストを抽出する方法(5つの方法)

3.MIDとSEARCH機能を使ってテキストを抽出する

クライアントコード列のテキストを抽出するためには、以下の組み合わせが必要です。 MID機能 SEARCH機能 .ここでは 検索 関数は、特定の文字またはテキスト文字列が最初に見つかったときの文字数を返します。

出力セルに次のような結合式を使用することにします。 C5:

=mid(b5, search("/",b5) + 1, search("/",b5,search("/",b5)+1) - search("/",b5) - 1))

その後 入力 をドラッグして フィル・ハンドル これで、次のような出力が得られます。

🔎 数式はどのように機能するのか?

  • ここでは search("/",b5) + 1 関数は、次のように特定の文字や文字列が最初に見つかった文字数を返します。

{5;7;5;5;5;5}

で、これはスタート文字に使われます。 ミッド 機能 .

  • SEARCH("/",B5,SEARCH("/",B5)+1) - SEARCH("/",B5) - 1)となります。 関数は次のような出力を返します。

{4;2;5;4;3;3}

そして、これがMID機能のエンディングキャラクターとなる。

  • 最後に ミッド 関数は、文字列の途中の文字を返します。

続きを読む Excelで文字の後にテキストを抽出する(6つの方法)

4.VBAを使ってExcelの2文字間のテキストを抽出する

ここで、「クライアントコード」列のテキストを抽出したい場合は、以下の手順を踏む必要があります。

📌ステップス。

  • まず最初に ALT+F11 または、タブに移動する必要があります。 デベロッパー を選択します。 ビジュアルベーシック を開く Visual Basic Editorです。 をクリックします。 挿入する。 選ぶ モジュール .

  • 次に、次のコードを入力します。
 Sub Extract_text_between_two_characters() Dim first_postion As Integer Dim second_postion As Integer Dim cell, rng As Range Dim search_char As String Set rng = Range("B5:B10") For Each cell In rng search_char = "/" first_postion = InStr(1, cell, search_char) second_postion = InStr(first_postion + 1, cell, search_char) cell.Offset(0, 1) = Mid(cell, first_postion + 1, second_postion - first_postion)- 1) 次のセル End Sub 
  • を押してください。 F5 を選択するか 実行 をクリックします。 Run Sub/UserFrom .

最後に、次のような必要な出力が得られます。

💬覚えておくべきこと

✎ 結合ラージ式を使う場合は、括弧の使い方に注意が必要です。

結論

以上で本日のセッションは終了です。 これからは、Excelで2文字間のテキストを抽出することができると強く信じています。 もし、何か疑問やお勧めがあれば、以下のコメント欄で共有してください。

ホームページのチェックをお忘れなく Exceldemy.com Excelに関する様々な問題や解決策を 新しい手法を学び、成長し続けることができます。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。