KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel チュートリアル – 特定の位置からテキストの抽出または数値を抽出する

著者Siluvia変更日

多くの場合、セル内の文章やテキスト文字列から、住所中の都道府県やメールアドレス、会話に含まれる宅配便の伝票番号など、必要な情報だけを抽出する必要があります。このチュートリアルでは、セル内の特定の位置に焦点を当て、Excel でその位置からテキストや数値を抽出するためのさまざまな方法をご紹介します。

 目次:[ 非表示 ]

(以下の目次または右側の見出しをクリックすると、対応する章に移動します。)

位置に基づくテキストの抽出

このセクションでは、セルからテキストを抽出できる代表的な位置をまとめ、それぞれについてステップバイステップの操作手順をご紹介します。詳しくは以下をご覧ください。

1。左端または右端から数値を抽出する文字を指定する

文字列の左端または右端から数値を抽出するには、以下のいずれかの方法をお試しください。

1.1 数式で先頭または末尾の N 文字を抽出する

下図のスクリーンショットのように、B 列にテキスト文字列のリストがある場合、各文字列から先頭2 文字と末尾2 文字を抽出するには、次の数式をご利用いただけます。

テキスト文字列から最初の N 文字を抽出する

LEFT 関数を使えば、Excel でテキスト文字列の先頭から簡単に N 文字を抽出できます。

汎用的な数式

=LEFT(text_string,[num_chars])

引数

「Text_string」:抽出したい文字を含むテキスト文字列です。セル参照または二重引用符で囲んだ実際のテキスト文字列を指定できます。
「Num_chars」:抽出したい文字数を指定します。
Num_chars は次以上ゼロでなければなりません。
指定された Num_chars がテキスト文字列の長さを超える場合、テキスト全体が返されます。
Num_chars が省略された場合、1 とみなされます。

これで、B 列のセルから先頭2 文字を抽出する数式を適用できます。

1。空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、最初の結果が表示されます。結果が表示されたセルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも同じ数式を適用してください。

=LEFT(B5,2)

これで、指定範囲の各セルから先頭2 文字が抽出されました。

テキスト文字列から最後の N 文字を抽出する

ここでは、Excel の RIGHT 関数を使ってテキスト文字列の末尾から N 文字を抽出します。

汎用的な数式

=RIGHT(text_string,[num_chars])

引数

「Text_string」:抽出したい文字を含むテキスト文字列です。セル参照または二重引用符で囲んだ実際のテキスト文字列を指定できます。
「Num_chars」:抽出したい文字数を指定します。
「Num_chars」は次以上ゼロでなければなりません。
指定された「Num_chars」がテキスト文字列の長さを超える場合、テキスト全体が返されます。
「Num_chars」が省略された場合、1 とみなされます。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。その後、その結果セルを選択してオートフィルハンドルを下にドラッグすれば、他の結果も簡単に取得できます。

=RIGHT(B5,2)

1.2 驚異的なツールで先頭または末尾の N 文字を抽出する

上記の数式はシンプルですが、長いテキスト文字列リストから先頭または末尾の N 文字を抽出するには、依然としてオートフィルハンドルを上から下へドラッグする必要があり、少々手間がかかります。そこでおすすめなのが、「Kutools for Excel」のテキストの抽出ユーティリティ。これを使えば、テキスト文字列リストから先頭または末尾の N 文字を一括で簡単に抽出できます!

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。あらかじめテキストの抽出元となる文字列リストを選択し、「Kutools」>「テキスト」>「テキストの抽出」をクリックしてください。

2。「テキストの抽出」ダイアログボックスが表示されたら、次のように設定してください。

2.1)「位置による抽出」タブにいることを確認してください。
2.2)「範囲」ボックスには範囲を選択してくださいが表示されています。必要に応じて別の範囲に変更できます。
2.3)「オプション」セクションでは:
先頭から文字を抽出したい場合は、「先頭の N 文字」ラジオボタンを選択し、テキストボックスに抽出する文字数を指定します。ここでは、数値2 を入力しています。
末尾から文字を抽出したい場合は、「末尾の N 文字」ラジオボタンを選択し、テキストボックスに抽出する文字数を指定します。ここでは、テキスト文字列の末尾から2 文字を抽出したいので、テキストボックスに数値2 を入力しています。
2.4)「OK」をクリックします。スクリーンショットを参照してください:

注:テキスト文字列を変更した際に結果が自動的に更新されるようにするには、「数式として挿入」チェックボックスをオンにしてください。

3。次に表示される「テキストの抽出」ダイアログボックスで、抽出した文字を出力するセルを指定し、「OK」をクリックします。

すると、選択したセルから先頭または末尾の N 文字を一括で抽出できます。

この機能の詳細については、こちらをクリックしてください。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


2。特定の文字や単語の前後からテキストを抽出

特定の文字や単語の前後からテキストを抽出する際には、このセクションで紹介するさまざまなシナリオが役立ちます。

2.1 最初の区切り文字(1 文字)の前または後にテキストの抽出

下図のスクリーンショットのように、B4:B10 範囲の各セルから最初の区切り文字の前または後にテキストを抽出するには、以下のいずれかの方法をご利用いただけます。

2.1.1 数式で最初の区切り文字の前にテキストの抽出

LEFT 関数と FIND 関数を組み合わせた数式を使えば、セル内の最初の区切り文字より前のテキストを簡単に抽出できます。以下の手順に従って操作してください。

汎用的な数式

=LEFT(text_string,FIND(「delimiter」,text_string,1)-1)

引数

「Text_string」:部分文字列を抽出したいテキスト文字列です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。
「Delimiter」:セルからどのテキストを抽出するかを定義する最初の区切り文字です。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、最初の結果が表示されます。その結果セルを選択してオートフィルハンドルを下にドラッグすれば、他のセルにおいても最初の区切り文字より前のテキストを取得できます。

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

2.1.2 数式で最初の区切り文字の後にテキストの抽出

次の数式を使えば、Excel でセル内の最初の区切り文字以降のテキストを抽出できます。

汎用的な数式

=MID(text_string,FIND(「delimiter」,text_string)+1,LEN(text_string))

引数

「Text_string」:部分文字列を抽出したいテキスト文字列です。セル参照、または二重引用符で囲んだ実際のテキスト文字列を指定できます。
「区切り文字(Delimiter)」:セルから抽出するテキストの範囲を定義する、最初の区切り文字です。
空白のセルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、最初の結果が得られます。最初の結果セルを選択し、そのオートフィルハンドルを下にドラッグすると、他の結果が得られます。
=MID(B5,FIND("-",B5)+1,LEN(B5))

2.1.3 驚異的なツールで最初の区切り文字の前または後にテキストの抽出

ここでは、「Kutools for Excel」の「テキストの抽出」ユーティリティを強くおすすめします。この機能を使えば、セル範囲から一括で最初の区切り文字の前または後のテキストを抽出できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。テキストを抽出したいセル範囲を選択し、「Kutools」>「テキスト」>「テキストの抽出」をクリックしてください。

2. 「テキストの抽出」ダイアログボックスで、以下のとおり設定してください。

2.1)「位置による抽出」タブにいることを確認してください。
2.2)「範囲」ボックスには範囲を選択してくださいが表示されています。必要に応じて変更できます。
2.3)「オプション」セクションにて:
最初の区切り文字より前にテキストの抽出するには、「テキストより前」ラジオボタンを選択し、テキストボックスに最初の区切り文字を入力します。
最初の区切り文字より後にテキストの抽出するには、「テキストより後」ラジオボタンを選択し、テキストボックスに最初の区切り文字を入力します。
2.4)「OK」をクリックします。

注:テキスト文字列を変更した際に結果が自動的に更新されるようにするには、「数式として挿入」チェックボックスをオンにしてください。

3。次に「テキストの抽出」ダイアログボックスが表示されるので、結果を出力するセルを選択して「OK」をクリックしてください。

すると、選択したセルから最初の区切り文字の前または後のテキストが一括で抽出されます。

この機能の詳細については、こちらをご覧ください:Excel でセルから特定のテキストを素早く抽出する

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手

2.2 最後の区切り文字(1 文字)の前または後にテキストの抽出

前述の手順では、セルから最初の区切り文字の前または後にテキストを抽出する方法を学びました。このセクションでは、下図のスクリーンショットのように、セルから最後の区切り文字の前または後にテキストを抽出するための2 つの数式をご紹介します。以下の手順に従って操作してください。

2.2.1 数式で最後の区切り文字の前にテキストの抽出

セルから最後の区切り文字より前のテキストを抽出するには、LEFT 関数に SEARCH 関数、LEN 関数、および SUBSTITUTE 関数を組み合わせて使用できます。

汎用的な数式

=LEFT(text_string,SEARCH(「#」,SUBSTITUTE(text_string,「delimiter」,「#」,LEN(text_string)-LEN(SUBSTITUTE(text_string,「delimiter」,「」))))-1)

引数

「Text_string」:部分文字列を抽出したいテキスト文字列です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。
「Delimiter」:セルからどのテキストを抽出するかを定義する最後の区切り文字です。

セルを選択して以下の数式を入力し、「Enter」キーを押すと結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、同じ列の他のテキスト文字列からも簡単にテキストを抽出できます。

=LEFT(B5,SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-",""))))-1)

2.2.2 数式で最後の区切り文字の後にテキストの抽出

セルから最後の区切り文字より前のテキストを抽出した後、以下の数式を適用すれば、必要に応じて最後の区切り文字以降のテキストを抽出できます。

汎用的な数式

=RIGHT(text_string,LEN(text_string)-SEARCH(「#」,SUBSTITUTE(text_string,「delimiter」,「#」,LEN(text_string)-LEN(SUBSTITUTE(text_string,「delimiter」,「」)))))

引数

「Text_string」:部分文字列を抽出したいテキスト文字列です。セル参照、または二重引用符で囲んだ実際のテキスト文字列を指定できます。
「区切り文字(Delimiter)」:セルからテキストを抽出する際の、対象範囲を定義する最後の区切り文字です。

セルを選択して以下の数式を入力し、「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、同じ列の他のテキスト文字列からも簡単にテキストを抽出できます。

=RIGHT(B5,LEN(B5)-SEARCH("#",SUBSTITUTE(B5,"-","#",LEN(B5)-LEN(SUBSTITUTE(B5,"-","")))))

2.3 第 N 文字以降のテキストを抽出する

以下の例では、B4:B10 の範囲にテキスト文字列のリストがあります。各セルから3 文字目以降のテキストを抽出するには、MID 関数と LEN 関数を組み合わせた数式をご利用いただけます。

Excelでn文字目以降のテキストを抽出する例を示すスクリーンショット

汎用的な数式

=MID(text_string,nth_char+1,LEN(text_string))

引数

「Text_string」:部分文字列を抽出したいテキスト文字列です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。
「nth_char」:n 番目の文字を表す数値で、その文字以降のテキストを抽出します。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他の結果も簡単に得られます。

=MID(B5,3+1,LEN(B5))

Excelでn文字目以降のテキストを抽出する数式を示すスクリーンショット

2.4 テキスト文字列から第 N 単語を抽出する

以下のスクリーンショットのようにテキスト文字列のリストがあり、その各文字列から n 番目の単語だけを抽出したい場合、このセクションではそのための3 つの方法をご紹介します。

2.4.1 数式で n 番目の単語を抽出する

セル内のテキスト文字列から n 番目の単語を抽出するには、TRIM 関数、MID 関数、SUBSTITUTE 関数、REPT 関数、および LEN 関数を組み合わせるのが効果的です。

汎用的な数式

=TRIM(MID(SUBSTITUTE(text_string,「 」,REPT(「 」,LEN((text_string))), (N-1)*LEN((text_string)+1, LEN((text_string)))

引数

「Text_string」:n 番目の単語を抽出したいテキスト文字列です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。
「N」:テキスト文字列から抽出する n 番目の単語を表す数値です。

ここでは、範囲 B5:B10 にテキスト文字列が、D5:D10 に n 番目の単語を示す数値がそれぞれ含まれているものとします。この数式を使って、テキスト文字列から n 番目の単語をスマートに抽出しましょう。

Excelでテキスト文字列からn番目の単語を抽出する数式を示すスクリーンショット

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、最初の結果が表示されます。この結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他のセルからも n 番目の単語を簡単に取得できます。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (D5-1)*LEN(B5)+1, LEN(B5)))

Excelでオートフィルを使用してテキスト文字列からn番目の単語を抽出する数式を示すスクリーンショット

注:数式内に直接 n 番目の数値を入力することもできます(下記のとおり)。

=TRIM(MID(SUBSTITUTE(B5," ",REPT(" ",LEN(B5))), (2-1)*LEN(B5)+1, LEN(B5)))

2.4.2 ユーザー定義関数で n 番目の単語を抽出する

上記の数式に加え、Excel のセルから n 番目の単語を抽出するには、ユーザー定義関数も活用できます。

1。「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きましょう。

2。「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」>「標準モジュール」をクリックし、表示されたコードウィンドウに次の VBA コードをコピーしてください。

VBA コード: セル内のテキスト文字列から n 番目の単語を抽出する

Function ExtractTheNthWord(Source As String, Position As Integer)
'Update by Extendoffice 20211202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

テキスト文字列からn番目の単語を抽出するVBAコードを含むMicrosoft Visual Basic for Applicationsウィンドウのスクリーンショット

3。「Alt」+「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを閉じましょう。

4。n 番目の単語を抽出したいテキスト文字列が含まれるワークシートに戻り、空白セルを選択して以下の数式をコピーまたは入力し、「Enter」キーを押すと、n 番目の単語を取得できます。

=FindWord(B5,D5)

または

=FindWord(B5,2)

注: 数式中の D5 は、n 番目の単語を表す数値が入力されているセルです。必要に応じて、セル参照を直接その数値に置き換えることもできます。

5。結果を表示したいセルを選択し、オートフィルハンドルを下にドラッグして、他のセルのテキスト文字列から n 番目の単語を抽出しましょう。

ユーザー定義関数を使用してテキスト文字列からn番目の単語を抽出した後のExcelでの結果を示すスクリーンショット

2.4.3 驚異的なツールで n 番目の単語を抽出する

上記の数式やユーザー定義関数を手動で適用したくない場合は、Kutools for Excel の「セルから N 番目の単語を抽出する」ユーティリティをご利用ください。わずか数回のクリックで、セル内のテキスト文字列から簡単に n 番目の単語を抽出できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。結果を表示したいセルを選択し、「Kutools」>「関数ヘルパー」>「テキスト」>「セルから N 番目の単語を抽出する」をクリックしてください。下のスクリーンショットをご参照ください。

Kutools for Excelインターフェースのスクリーンショット。「数式ヘルパー」の下にある「セル内のn番目の単語を抽出」オプションを表示

2。「関数ヘルパー」ダイアログボックスで、以下のとおり設定してください。

2.1)「関数を選択リスト」ボックスで、「セルから N 番目の単語を抽出する」オプションがハイライトされています。
2.2)「セル」ボックスで、n 番目の単語を抽出したいテキスト文字列を含むセルを選択します。
2.3)「N 番目」ボックスで、n 番目の数値を含むセルを選択するか、必要に応じて直接数値を入力します。
2.4)「OK」をクリックします。

テキスト文字列からn番目の単語を抽出するように設定された「数式ヘルパー」ダイアログボックスのスクリーンショット

3。すると、セル B5 のテキスト文字列から n 番目(2 番目)の単語が抽出され、同時に数式も作成されます。この結果が表示されたセルを選択し、オートフィルハンドルを下にドラッグすれば、他のテキスト文字列からも n 番目の単語を簡単に取得できます。

Kutoolsを使用してテキスト文字列からn番目の単語を抽出した結果を示すスクリーンショット

この機能の詳細については、こちらをクリックしてください。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手

2.5 区切り文字の出現回数前または後にあるテキストの抽出を抽出する

下のスクリーンショットのようにテキスト文字列のリストがある場合、スペースが2 回目に出現する位置より前または後のテキストを抽出するには、このセクションで紹介する2 つの数式が役立ちます。

Excelで抽出対象となるスペースの2回目の出現位置を含むテキスト文字列のリストを示すスクリーンショット

2.5.1 区切り文字の出現回数前にあるテキストの抽出を抽出する

Excel のセルから区切り文字の出現回数より前にあるテキストを抽出するには、LEFT 関数を SUBSTITUTE 関数と FIND 関数と組み合わせて使用できます。

汎用的な数式

=LEFT(SUBSTITUTE(text_string,「delimiter」,CHAR(9),n),FIND(CHAR(9),SUBSTITUTE(text_string,「delimiter」,CHAR(9),n),1)-1)

引数

「Text_string」:テキストを抽出したいテキスト文字列です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。
「N」:出現回数を表す数値で、その区切り文字のテキストの抽出を抽出します。

セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、リスト内の他の結果も簡単に取得できます。

=LEFT(SUBSTITUTE(B5," ",CHAR(9),2),FIND(CHAR(9),SUBSTITUTE(B5," ",CHAR(9),2),1)-1)

スペースのn回目の出現位置より前のテキストを抽出するために使用されるExcel数式のスクリーンショット

注: 数式中の B5 は、テキストを抽出したい文字列が含まれるセルです。「」はスペースを表し、数値 2 はスペースが 2 回目に出現する位置を示します。これらの設定は、必要に応じて変更可能です。

2.5.2 区切り文字の出現回数後にあるテキストの抽出を抽出する

区切り文字の出現回数以降のテキストを抽出するには、RIGHT 関数を SUBSTITUTE 関数、LEN 関数、および FIND 関数と組み合わせて使用できます。

汎用的な数式

=RIGHT(SUBSTITUTE(text_string, 「delimiter」, CHAR(9), n), LEN(text_string)- FIND(CHAR(9), SUBSTITUTE(text_string, 「delimiter」, CHAR(9), n), 1) + 1)

引数

「Text_string」:抽出したいテキストを指定します。セル参照、または二重引用符で囲んだ実際のテキスト文字列を使用できます。
「N」:出現回数を示す数値で、その区切り文字に基づいてテキストを抽出します。

次のようにこの数式を適用すれば、範囲 B5:B10 の各セルからスペースの2 回目の出現以降のテキストを抽出できます。

セルを選択して以下の数式を入力し、「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他の結果も簡単に取得できます。

=RIGHT(SUBSTITUTE(B5, " ", CHAR(9), 2), LEN(B5)- FIND(CHAR(9), SUBSTITUTE(B5, " ", CHAR(9), 2), 1) + 1)

スペースのn回目の出現位置より後のテキストを抽出するために使用されるExcel数式のスクリーンショット

2.6 改行の前または後にあるテキストの抽出を抽出する

列 B に注文リストがあり、各セルから日付部分と製品番号部分のみを抽出したい場合、以下のExcel 数式で実現できます。

Excelで改行の前または後にテキストを抽出する注文リストを示すスクリーンショット

2.6.1 数式で最初の改行前のテキストの抽出を抽出する

上記のスクリーンショットのように、日付部分はセル内の最初の改行より前にあります。このセクションでは、LEFT 関数と SEARCH 関数を組み合わせて、セル内の最初の改行より前のテキストを抽出する方法をご紹介します。

汎用的な数式

=LEFT(cell, SEARCH(CHAR(10), cell)-1)

引数

「Cell」:最初の改行より前のテキストを抽出したいセルです。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。この結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他のセルにも同じ数式を簡単に適用できます。

=LEFT(B5, SEARCH(CHAR(10), B5)-1)

すると、範囲 B5:B8 の各セルにおいて、最初の改行より前のテキストが、以下のスクリーンショットのように抽出されます。

Excelセル内で最初の改行より前のテキストを抽出した結果を示すスクリーンショット

注: 数式中の CHAR(10) は、Windows 上での改行を表します。

2.6.2 数式で最後の改行後のテキストの抽出を抽出する

前項では、セル内の最初の改行より前のテキストを抽出する方法を説明しました。ここでは、別の数式を使ってセル内の最後の改行より後のテキストを抽出する方法をご紹介します。

汎用的な数式

=TRIM(RIGHT(SUBSTITUTE(cell,CHAR(10),REPT(「 」,200)),200))

引数

「Cell」:最初の改行より前のテキストを抽出したいセルを指定してください。

空白セルを選択し、以下の数式を入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他のセルにも同じ数式を簡単に適用できます。

=TRIM(RIGHT(SUBSTITUTE(B5,CHAR(10),REPT(" ",200)),200))

Excelセル内で最後の改行より後のテキストを抽出した結果を示すスクリーンショット

すると、リスト内の各セルから製品番号の部分が、上記のスクリーンショットのように抽出されます。

注: この数式では、CHAR(10) が Windows 上の改行を表します。

2.7 特定の単語の前または後にあるテキストの抽出を抽出する

これまでのセクションでは、文字や区切り文字の前後にあるテキストを抽出する方法を学びました。では、特定の単語全体の前後にあるテキストを抽出するにはどうすればよいでしょうか?このセクションでは、このタスクを達成するための3 つの方法をご紹介します。

Excelセル内で「Excel」という単語の前後からテキストを抽出している様子を示すスクリーンショット

2.7.1 数式で特定の単語より前のテキストの抽出を抽出する

次の数式を使えば、Excel のセル内で特定の単語より前のテキストを抽出できます。

汎用的な数式

=IFERROR(LEFT(cell,FIND(word,cell)-1),cell)

引数

「Cell」:特定の単語より前のテキストを抽出したいセルです。
「Word」:その単語より前のすべてのテキストを抽出したい単語です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。

空白セルを選択し、以下の数式を入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他のセルにも同じ数式を簡単に適用できます。

この例では、「Excel」という単語より前のすべてのテキストを抽出するため、数式内に直接「Excel」と入力し、ダブルクォーテーションで囲んでいます。あるいは、「Excel」という単語を含むセルを参照することも可能です。

=IFERROR(LEFT(B5,FIND("Excel",B5)-1),B5)

Excelセル内で「Excel」という単語より前のテキストを抽出した結果を示すスクリーンショット

注:

1)この数式は大文字と小文字を区別します。
2)入力した単語が同じセル内に複数回出現する場合、この数式は最初に出現した箇所の後のテキストのみを抽出します。

2.7.2 数式で特定の単語より後のテキストの抽出を抽出する

特定の単語より後のテキストを抽出するには、次の数式を適用できます。

汎用的な数式

=TRIM(MID(cell,SEARCH(word,cell)+LEN(word),255))

引数

「Cell」:特定の単語より後のテキストを抽出したいセルです。
「Word」:その単語より後のすべてのテキストを抽出したい単語です。セル参照または二重引用符で囲まれた実際のテキスト文字列を指定できます。

セルを選択して以下の数式を入力し、「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグすれば、他のセルにも同じ数式を簡単に適用できます。

=TRIM(MID(B5,SEARCH("Excel",B5)+LEN("Excel"),255))

すると、「Excel」という単語以降のテキストが各セルから抽出され、下のスクリーンショットのように表示されます。

Excelセル内で「Excel」という単語より後のテキストを抽出した結果を示すスクリーンショット

注:

1)この数式は大文字と小文字を区別しません。
2)入力した単語が同じセル内に複数回出現する場合、この数式は最初に出現した箇所の後のテキストのみを抽出します。

2.7.3 驚異的なツールで特定の単語の前または後にあるテキストの抽出を抽出する

数式の操作が煩雑に感じられる場合は、「Kutools for Excel」の「テキストの抽出」機能をぜひご活用ください。わずか数回のクリックで、Excel での抽出作業を自動化できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。「Kutools」>「テキスト」>「テキストの抽出」をクリックして、この機能をすぐに有効化しましょう。

ExcelリボンのKutoolsタブ内にある「テキスト抽出」オプションのスクリーンショット

2。「テキストの抽出」ダイアログボックスで、以下の設定を行ってください。

2.1)「位置による抽出」タブが選択されていることを確認します。
2.2)「範囲」ボックスで、範囲選択ボタンテキストの抽出したいセル範囲を選択するためのボタンをクリックします。
2.3)「オプション」セクションでは:
単語より前のすべてのテキストを抽出するには、「テキストの前」ラジオボタンを選択し、テキストボックスに単語を入力します。
単語より後のすべてのテキストを抽出するには、「テキストの後」ラジオボタンを選択し、テキストボックスに単語を入力します。
2.4)「OK」ボタンをクリックします。スクリーンショットを参照してください:

「テキスト抽出」ダイアログボックスのスクリーンショット

注: 動的な結果を作成したい場合は、「数式として挿入」チェックボックスをオンにしてください。これにより、範囲内のデータが変更されると、結果が自動的に更新されます。

3。すると、「テキストの抽出」ダイアログボックスが表示されるので、結果を出力するセルを選択し、「OK」ボタンをクリックしてください。

出力セルの選択を示す「テキスト抽出」ダイアログボックスのスクリーンショット

すると、「範囲を選択してください」内の各セルで、特定の単語の前または後のテキストが即座に抽出されます。

注: この機能は大文字と小文字を区別します。

この機能の詳細については、こちらをクリックしてください。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


3。文字または単語の間にあるものを抽出する

特定の文字または単語の間にあるテキストを抽出したい場合は、次の方法をお試しください。

3.1 2 つの文字の間にあるテキストの抽出を抽出する

2 つの文字(同じでも異なっていても構いません)の間に挟まれた文字列を抽出する方法をご紹介します。このセクションでは複数の手法を解説しており、ご自身のニーズに最適な方法をお選びいただけます。

3.1.1 数式を使用して同じ文字2 つに挟まれた部分をテキストの抽出する

下記のスクリーンショットのように、列 B にテキスト文字列のリストがあり、各セル内で「/」に挟まれた部分から数値を抽出したい場合、以下の数式が役立ちます。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。結果が表示されたセルを選択し、オートフィルハンドルを下にドラッグして、リスト内の他のセルにも適用してください。

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

すると、範囲内の各セルから「/」で挟まれたテキストが抽出されます。スクリーンショットをご参照ください。

注:

1)「B5」は、2 つの同じ文字の間からテキストの抽出したいセルです。
2)「/」は、テキストの抽出したい2 つの同じ文字です。
これらの変数は、自分のデータに基づいて変更する必要があります。

 3.1.2 数式を使用して異なる2 つの文字に挟まれた部分をテキストの抽出する

セル内で同じ文字2 つに挟まれた部分を抽出する方法を学んだ後は、ここでは異なる2 つの文字に挟まれた部分を抽出するための数式をご紹介します。下記のスクリーンショットのように、列 B の各セルから「」で囲まれた部分のみをメールアドレスとして抽出したい場合は、次のように操作してください。

汎用的な数式

=MID(LEFT(cel,FIND(「end_char」,cell)-1),FIND(「start_char」,cell)+1,LEN(cell))

引数

「Cell」:2 つの異なる文字の間にあるテキストを抽出したいセルです。
「End_char」:2 つの異なる文字のうちの終了文字です。
「Start_char」:2 つの異なる文字のうちの開始文字です。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも同じ数式を適用してください。

=MID(LEFT(B5,FIND(">",B5)-1),FIND("<",B5)+1,LEN(B5))

上記のスクリーンショットのように、指定した文字に挟まれたテキストのみが抽出されていることが確認できます。

3.1.3 強力なツールを使用して2 つの文字に挟まれた部分をテキストの抽出する

ここでは、「Kutools for Excel」の「指定された文字の間の文字列を抽出します」機能を強くおすすめします。この機能を使えば、Excel のセル内で同じ文字または異なる文字に挟まれた部分を簡単に抽出できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。結果を表示する空白セルを選択し、「Kutools」>「関数ヘルパー」>「関数ヘルパー」を順にクリックしてください。

2。「関数ヘルパー」ダイアログボックスで、次の設定を行ってください。

2.1)「フィルター」ボックスをオンにしてから、テキストボックスに「“Extract”」と入力します。
2.2)「関数を選択リスト」ボックスで、「指定された文字の間の文字列を抽出します」オプションをクリックします。
2.3)「引数の入力」セクションでは:
「セル」ボックスで、テキストを抽出したいセルを選択します(ここではセル B5 を選択しています)。
「開始文字」ボックスに、2 つの異なる文字のうちの開始文字を入力します。
「End」char(s)ボックスに、2 つの異なる文字のうちの終了文字を入力します。
2.4)「OK」をクリックします。スクリーンショットを参照してください:

3。すると、セル B5 内の「」に囲まれたテキストのみが抽出されます。同時に数式も作成されるので、この結果セルを選択してオートフィルハンドルを下にドラッグすれば、同じリスト内の他のセルからもテキストを抽出できます。

この機能の詳細については、こちらをクリックしてください。

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手

3.1.4 文字2 つ(その文字を含む)の間の部分をルールに基づいてテキストの抽出する

抽出後に2 文字だけ残したい場合は、Kutools for Excel の「テキストの抽出」機能でルールを適用してみてください。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。「Kutools」>「テキスト」>「テキストの抽出」をクリックしてください。

2。「テキストの抽出」ダイアログボックスで、次の設定を行ってください。

2.1)「ルールによる抽出」タブをクリックします。
2.2)「範囲」セクションで、文字の間にあるテキストを抽出したいセル範囲を選択するためのボタンをクリックします。
2.3)「テキスト」ボックスに「""」を入力します。
ヒント:「""」は抽出したい文字の間を表し、*は任意の文字数を表すワイルドカードです。必要に応じて条件を入力できます。
2.4)「追加」ボタンをクリックして、条件を「ルールの内容」リストボックスに追加します。
2.5)「OK」ボタンをクリックします。スクリーンショットを参照してください:
範囲選択とテキスト入力を含む「テキスト抽出」ダイアログボックスの設定を示すスクリーンショット

3。別の「テキストの抽出」ダイアログボックスが表示されます。結果を出力するセルを選択し、「OK」ボタンをクリックしてください。

選択された出力セルを表示する2つ目の「テキスト抽出」ダイアログボックスのスクリーンショット

すると、指定した文字(その文字を含む)に挟まれたテキストが、範囲内の各セルから一括で抽出されます。

Kutoolsを使用してExcelで指定された文字の間のテキストを抽出した結果を示すスクリーンショット

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手

3.2 2 つの単語に挟まれた部分をテキストの抽出する

2 つの文字に挟まれた部分を抽出するだけでなく、場合によっては2 つの単語に挟まれたテキストを抽出する必要も出てきます。たとえば、下のスクリーンショットのように、列 B の各セルから「KTE」と「feature」に挟まれたすべてのテキストを抽出したい場合は、以下のいずれかの方法をお試しください。

抽出対象としてB列に「KTE」と「feature」の間にあるテキスト文字列のリストを示すスクリーンショット

3.2.1 数式を使用して2 つの単語に挟まれた部分をテキストの抽出する

セル内の2 つの単語に挟まれたすべてのテキストを抽出するには、MID 関数と SEARCH 関数を組み合わせた数式をご活用ください。

汎用的な数式

=MID(cell,SEARCH(「start_word」,cell)+3,SEARCH(「end_word」,cell)-SEARCH(「start_word」,cell)-4)

引数

「Cell」:2 つの単語の間にあるすべてのテキスト文字列を抽出したいセルです。
「Start_word」:抽出したいすべてのテキスト文字列の後に来る2 つの単語のうちの開始単語です。
「Length1」:開始単語の文字長です。
「End_word」:抽出したいすべてのテキスト文字列の前に来る2 つの単語のうちの終了単語です。
「Length2」:開始単語の文字長に1 を加えた値です。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも同じ数式を適用してください。

=MID(B5,SEARCH("KTE",B5)+3,SEARCH("feature",B5)-SEARCH("KTE",B5)-4)

MID関数およびSEARCH関数を使用してExcelで2つの単語の間のテキストを抽出する数式を示すスクリーンショット

注:数式中の数字「3」は単語「KTE」の文字数を、数字「4」はその文字数に1 を加えた値を表します。

列 B の各セルから、指定した2 つの単語に挟まれたテキスト文字列がすべて抽出されていることを確認できます。

3.2.2 強力なツールを使用して2 つの単語に挟まれた部分をテキストの抽出する

多くのExcel ユーザーにとって、数式は覚えにくく扱いにくいものですが、「Kutools for Excel」の「指定された文字の間の文字列を抽出します」機能を使えば、わずか数回のクリックで、2 つの単語に挟まれた部分を簡単に抽出できます。

Kutools for Excelは300 以上の高度な機能を提供し、複雑な作業を効率化して、創造性と生産性を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。

1。結果を出力するセルを選択し、「Kutools」>「関数ヘルパー」>「関数ヘルパー」を順にクリックしてください。

ExcelリボンのKutoolsタブ内にある「数式ヘルパー」オプションのスクリーンショット

2. 「関数ヘルパー」ダイアログボックスで、次のように設定してください。

2.1)「フィルター」ボックスをオンにしてから、テキストボックスに「“Extract”」と入力します。
2.2)「関数を選択リスト」ボックスで、「指定された文字の間の文字列を抽出します」オプションをクリックします。
2.3)「引数の入力」セクションでは:
「セル」ボックスで、テキストを抽出したいセルを選択します(ここではセル B5 を選択しています)。
「開始文字」ボックスに、抽出したいすべてのテキスト文字列の後に来る2 つの単語のうちの開始単語を入力します。
「終了文字」ボックスに、抽出したいすべてのテキスト文字列の前に来る2 つの単語のうちの終了単語を入力します。
2.4)「OK」をクリックします。スクリーンショットを参照してください:

「指定されたテキストの間の文字列を抽出」オプションが選択された「数式ヘルパー」ダイアログボックスのスクリーンショット

3。すると、セル B5 内の「KTE」と「feature」に挟まれたすべてのテキストが抽出されます。同時に数式も作成されるため、この結果セルを選択してオートフィルハンドルを下にドラッグすれば、同じリスト内の他のセルからも同様にテキストを抽出できます。

数式が適用され、Excelセル内で2つの単語の間のテキストが抽出された結果を示すスクリーンショット

Kutools for Excel— 300 以上の必須ツールでExcel を強化し、作業をより迅速・簡単に。AI 機能を活用して、スマートなデータ処理と生産性の飛躍的な向上を実現します。今すぐ入手


位置に基づいて数値を抽出する

英数字の文字列リストには、以下の3 つのケースが考えられます:

  1. 数値がテキストの先頭にあります。
  2. 数値はテキストの末尾にあります。
  3. 数値はテキストのどこにでも含まれています。

このセクションでは、上記の各ケースにおいて数値を抽出するさまざまな方法をご紹介します。

1 文字列の左端から数値を抽出する

このパートでは、セル内のテキストの前にある数値だけを抽出するための数式をご紹介します。

汎用的な数式

=LEFT(cell, MATCH(FALSE, ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell)+1)), 1) *1), 0) -1)

引数

「Cell」:テキスト文字列の左側にある数値を抽出したいセルです。

注:

1)Excel 2019 以前のバージョンを使用している場合は、「Ctrl」+「Shift」+「Enter」キーを押して、この配列数式を確定する必要があります。
2)Excel 365 またはExcel 2021 を使用している場合は、「Enter」キーを押すだけでこの数式を確定できます。

空白セルを選択し、以下の数式を入力して「Ctrl」+「Shift」+「Enter」キーまたは「Enter」キーを押すと、結果が表示されます。その結果セルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも数値を取得してください。

=LEFT(B5, MATCH(FALSE, ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5)+1)), 1) *1), 0) -1)

注:

1) セルに数値のみが含まれている場合、その数値全体が抽出されます。
2) この数式はテキスト文字列の左端からのみ数値の抽出します。テキスト文字列の途中または末尾に数値がある場合は、無視されます。

2 文字列の右端から数値を抽出する

下記のスクリーンショットのように、セル内のテキストの後に続く数値のみを抽出したい場合は、以下の数式をお試しください。

汎用的な数式

=RIGHT(cell, LEN(cell) - MAX(IF(ISNUMBER(MID(cell, ROW(INDIRECT("1:"&LEN(cell))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(cell))), 0)))

引数

「Cell」:テキスト文字列の先頭から数値を抽出したいセルです。

注:

1) Excel 2019 以前のバージョンをご使用の場合、この配列数式を確定するには「Ctrl」+「Shift」+「Enter」キーを押してください。
2) Excel 365 またはExcel 2021 をご使用の場合は、「Enter」キーでこの数式を確定するだけでかまいません。

空白セルを選択し、以下の数式を入力して「Ctrl」+「Shift」+「Enter」キーまたは「Enter」キーを押すと、結果が表示されます。この結果セルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも数値を反映してください。

=RIGHT(B5, LEN(B5) - MAX(IF(ISNUMBER(MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(B5))), 0)))

注:

1) セルに数値のみが含まれている場合、その数値全体が抽出されます。
2) この数式はテキスト文字列の右端からのみ数値の抽出します。テキスト文字列の途中または先頭に数値がある場合は、無視されます。

3。テキスト文字列内の任意の位置にあるすべての数値を抽出する

上記の方法では、テキスト文字列の左端または右端からのみ数値を抽出できます。テキスト文字列内のどこにあってもすべての数値を抽出したい場合は、以下の3 つの方法をご用意しました。

3.1 数式を使用して文字列内の任意の位置からすべての数値を抽出する

Excel では、文字列内の任意の位置からすべての数値を抽出するのに、以下の数式がご利用いただけます。

1。空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、セル B5 以降のすべての数値が取得されます。

=SUMPRODUCT(MID(0&B5, LARGE(INDEX(ISNUMBER(--MID(B5, ROW(INDIRECT("1:"&LEN(B5))), 1)) * ROW(INDIRECT("1:"&LEN(B5))), 0), ROW(INDIRECT("1:"&LEN(B5))))+1, 1) * 10^ROW(INDIRECT("1:"&LEN(B5)))/10)

2。結果セルを選択し、オートフィルハンドルを下にドラッグして、他のセルの数値をすべて取得しましょう。

3.2 VBA を使用して文字列内の任意の位置からすべての数値を抽出する

上記の数式は長く複雑で、多くのExcel ユーザーにとって使いづらいかもしれません。実は、VBA スクリプトを実行すれば、この作業をExcel 上で自動化できます。以下の手順に従って操作してください。

1。「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きましょう。

2。「Microsoft Visual Basic for Applications」ウィンドウが開いたら、「挿入」>「モジュール」をクリックし、表示されたコードウィンドウに以下の VBA コードをコピーしてください。

VBA コード:テキスト文字列内の任意の位置からすべての数値を抽出する

Sub ExtrNumbersFromRange()
'Updated by Extendoffice 20220106
    Dim xRg As Range
    Dim xDRg As Range
    Dim xRRg As Range
    Dim nCellLength As Integer
    Dim xNumber As Integer
    Dim strNumber As String
    Dim xTitleId As String
    Dim xI As Integer
    xTitleId = "KutoolsforExcel"
    Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8)
    If TypeName(xDRg) = "Nothing" Then Exit Sub
    Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8)
    If TypeName(xRRg) = "Nothing" Then Exit Sub
    xI = 0
    strNumber = ""
  For Each xRg In xDRg
    xI = xI + 1
    nCellLength = Len(xRg)
    For xNumber = 1 To nCellLength
      If IsNumeric(Mid(xRg, xNumber, 1)) Then
        strNumber = strNumber & Mid(xRg, xNumber, 1)
      End If
    Next xNumber
    xRRg.Item(xI) = strNumber
    strNumber = ""
  Next xRg
End Sub

3。「F5」キーを押してコードを実行します。「Kutools for Excel」ダイアログボックスが表示されたら、数値を抽出したいセル範囲を選択し、「OK」ボタンをクリックしてください。

入力範囲を尋ねるKutools for Excelダイアログボックスのスクリーンショット

4。すると、別の「Kutools for Excel」ダイアログボックスが表示されます。ここで出力先のセルを選択し、「OK」をクリックしてください。

出力範囲を尋ねるKutools for Excelダイアログボックスのスクリーンショット

すると、すべての数値が「範囲を選択してください」内の各セルから一括で抽出されます。

VBAを使用してすべての数値を抽出した後の結果を示すスクリーンショット


4。特定のテキストの直後に続く数値を抽出する

下記のスクリーンショットのように、「No.」という特定のテキストの後に続く数値を抽出したい場合、このセクションではその作業を完了するための2 つの方法をご紹介します。

4.1 数式を使用して特定のテキストの後に続く数値を抽出する

Excel のセル内で特定のテキストの後に続く数値を抽出するには、次の数式を使用できます。

汎用的な数式:

=LOOKUP(10^6,1*MID(cell,MIN(FIND({0,1,2,3,4,5,6,7,8,9},cell&"0123456789",FIND(「text」,「 」&cell&「 」))),{2,3,4,5,6}))

引数

「Cell」:特定のテキストの後に続く数値を抽出したいセルです。
「Text」:そのテキストの後に続く数値を抽出したいテキストです。

空白セルを選択し、以下の数式をコピーまたは入力して「Enter」キーを押すと、結果が表示されます。この結果が表示されたセルを選択し、オートフィルハンドルを下にドラッグして、他のセルにも同じ数式を適用してください。

=LOOKUP(10^6,1*MID(B5,MIN(FIND({0,1,2,3,4,5,6,7,8,9},B5&"0123456789",FIND("No."," "&B5&" "))),{2,3,4,5,6}))

注:

1) セルに指定されたテキストが含まれていない場合、この数式は#N/A を返します。
2) この数式では大文字と小文字が区別されます。

4.2 ユーザー定義関数を使用して特定のテキストの後に続く数値を抽出する

以下のユーザー定義関数を使えば、セル内で特定のテキストの直後に続く数値を簡単に抽出できます。次の手順に従って操作してください。

1。「Alt」+「F11」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウを開きましょう。

2。「Microsoft Visual Basic for Applications」ウィンドウで、「挿入」>「モジュール」をクリックし、表示されるコードウィンドウに以下の VBA コードをコピーしてください。

VBA コード:セル内で特定のテキストの後に続く数値を抽出する

Function GetNumberAfterTheChar(Rng As Range, Char As String)
'Updated by Extendoffice 20220106
Dim xValue As String
Dim xRntString As String
Dim xStart As Integer
Dim xC
    xValue = Rng.Text
    xStart = InStr(1, xValue, Char, vbTextCompare)
    If IsEmpty(xStart) Then
            GetNumberAfterTheChar = ""
            Exit Function
    End If
    If xStart < 1 Then
        GetNumberAfterTheChar = ""
        Exit Function
    End If
    xStart = xStart - 1 + Len(Char)
    If xStart < 1 Then
        GetNumberAfterTheChar = ""
        Exit Function
    End If
    xValue = Mid(xValue, xStart + 1)
    xRntString = ""
    For xI = 1 To Len(xValue)
        xC = Mid(xValue, xI, 1)
        Select Case Asc(xC)
        Case 48 To 57
            xRntString = xRntString & xC
       Case Else
            Exit For
        End Select
    Next
   GetNumberAfterTheChar = xRntString
End Function

Excelで特定のテキストの後に続く数値を抽出するためのVBAコードのスクリーンショット

3。「Alt」+「Q」キーを押して、「Microsoft Visual Basic for Applications」ウィンドウをすばやく閉じましょう。

4。セルを選択し、以下の数式を入力して「Enter」キーを押します。その後、その結果が表示されたセルを選択し、オートフィルハンドルを下にドラッグして他のセルにも同じ数式を適用します。

=GetNumberAfterTheChar(B5,"No. ")

Excelで特定のテキストの後に続く数値を抽出するVBAメソッドの結果を示すスクリーンショット

注:

1) この数式では、B5 は数値の抽出したいセルであり、「No.」はその後に数値の抽出したい特定のテキストです。必要に応じてこれらを変更できます。
2) 指定されたテキストと数値の間に区切り文字がある場合は、テキストの末尾にその区切り文字を追加してください。この例では、「No.」の後にスペースを追加し、「No.」として表示されるようにしています。
3) この方法では大文字と小文字が区別されません。
4) セルに指定されたテキストが含まれていない場合、この数式は空白の結果を返します。

関連記事:

Excel チュートリアル:テキスト・数値・日付セルを分割する(複数列に分ける)
このチュートリアルは、テキストセルの分割、数値セルの分割、日付セルの分割の3 つのパートで構成されています。各パートでは実際の例をもとに、同じ問題に直面した際にスムーズに対処できるよう丁寧に解説しています。
詳しくはこちらをクリック。。。

Excel でセルの指定位置にテキストや数字を挿入して分割する
Excel では、セルにテキストや数値を挿入するのは非常に一般的な作業です。たとえば、氏名の間にスペースを挿入したり、セルにプレフィックスやサフィックスを追加したり、社会保障番号にダッシュを入れたりすることがよくあります。このチュートリアルでは、Excel でのほぼすべての挿入・分割シナリオを網羅し、それぞれに最適な方法をわかりやすくご紹介します!
詳しくはこちらをクリック。。。

Excel でテキスト文字列から特定の文字・単語・数値を削除する
たとえば、文字、数値、または特定の記号を含む長いテキスト文字列のリストがあるとします。こうしたケースでは、文字列の左端、右端、あるいは中央など、位置に基づいて不要な文字や数値を削除する必要があります。個別に解決策を探すのは大変ですが、このチュートリアルでは、Excel で文字・単語・数値を削除するためのあらゆる方法を網羅しています!
詳しくはこちらをクリック。。。

最高の Office 業務効率化ツール

🤖KUTOOLS AI アシスタント:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気の機能検索・ハイライト、または重複をマーキング     空白行を削除する     データを失うことなく列の結合またはセルを     数式を使用しない四捨五入...
スーパー LOOKUP複数条件 VLookup    複数値 VLookup     複数シート間 VLookup      ファジーマッチ....
高度なドロップダウンリストドロップダウンリストをすばやく作成     連動型ドロップダウンリスト     複数選択可能なドロップダウンリスト....
列マネージャー指定した数の列を追加列の移動非表示列の表示状態を切り替え範囲および列の比較...
注目の機能グリッドフォーカス     デザインビュー   強化された数式バー    ワークブックとシートマネージャー     リソースライブラリ(オートテキスト)  日付ピッカー     ワークシートの統合    暗号化/セルの復号化    リストからメール送信     スーパーフィルター      特殊フィルタ(太字のフォントを持つセルをフィルタリング/斜体/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除、...)   50+チャートタイプガントチャート、...)   40+実用的関数誕生日に基づいて年齢を計算します、...)   19 挿入ツールQR コードを挿入パスから画像を挿入、...)   12 変換ツール単語に変換する為替レートの変換、...)   7 結合と分割ツール高度な行のマージセルの分割、...)さらに多数
Kutools はお好みの言語でご利用いただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+の他の言語をサポートしています!

Kutools for Excel でExcel スキルを強化し、これまでにない効率を体験しましょう。Kutools for Excel は、生産性を高め、時間を大幅に節約できる高度な機能を300 以上提供します。最も必要な機能を今すぐ入手するにはこちらをクリック。。。


Office Tab は Office にタブインターフェースをもたらし、作業を大幅に簡単にします

  • Word、Excel、PowerPoint でタブを使った編集と閲覧を有効にします。Publisher、Access、Visio、Project でもご利用いただけます。
  • 複数のドキュメントを、新しいウィンドウではなく、同じウィンドウ内の新しいタブで開いたり作成したりできます。
  • 日々の生産性を50%も向上させ、毎日数百回ものマウスクリックを削減します!

すべてのKutools アドインが、たった1 つのインストーラーで完結。

Kutools for Officeスイートには、Excel ・Word ・Outlook ・PowerPoint 用のアドインと Office Tab Pro が含まれており、複数の Office アプリを横断して作業するチームに最適です。

ExcelWordOutlookTabsPowerPoint
  • オールインワンスイート— Excel、Word、Outlook、PowerPoint 用アドイン+Office Tab Pro
  • インストーラー1 つ、ライセンス1 つ— 数分でセットアップ可能(MSI 対応)
  • 連携してさらにパワーアップ— Office アプリ全体で生産性が向上
  • 30 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得