Note: The other languages of the website are Google-translated. Back to English

Excelのテキスト文字列からn番目の単語を抽出します

テキスト文字列または文のリストがある場合は、次に示すスクリーンショットのように、リストから特定のn番目の単語を抽出します。 この記事では、Excelでこのジョブを解決するためのいくつかの方法を紹介します。


式を使用してテキスト文字列からn番目の単語を抽出して取得します

このタスクを処理するには、TRIM、MID、SUBSTITUTE、REPT、およびLEN関数を組み合わせた数式を使用できます。 一般的な構文は次のとおりです。

=TRIM(MID(SUBSTITUTE(string," ",REPT(" ",LEN(string))), (N-1)*LEN(string)+1, LEN(string)))
  • string:単語を抽出するテキスト文字列またはセル値。
  • N:抽出したい単語の番号。

1。 次の数式を空白のセルに入力またはコピーしてください。

=TRIM(MID(SUBSTITUTE(A2," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)))

注意:上記の式では、 A2 セルには、使用するテキスト文字列が含まれています。 B2 抽出したい単語の番号ですが、番号として入力することもできます。

2。 次に、塗りつぶしハンドルをセルまでドラッグしてこの数式を適用すると、次のスクリーンショットのように特定のn番目の単語がすべて抽出されます。


式の説明:
  • 1. SUBSTITUTE(A2、 ""、REPT( ""、LEN(A2))):
  • REPT( ""、LEN(A2):このREPT関数は、セルA2のテキスト長である特定の回数だけスペース文字を繰り返すために使用されます。これにより、スペース文字の数が取得されます。
  • SUBSTITUTE(A2、 ""、REPT( ""、LEN(A2))):SUBSTITUTE関数は、セルA2の各スペース文字を、REPT関数によって返される多数のスペース文字に置き換えます。これにより、各単語の間に複数のスペースがあるテキスト文字列が取得されます。
  • この部分は、MID関数のテキスト引数として再編成されます。
  • 2. (B2-1)*LEN(A2)+1: この数式は、セルA2のテキスト文字列からn番目の単語の開始位置を返します。 これは、MID関数のstart_num引数です。
  • 3. MID(SUBSTITUTE(A2、 ""、REPT( ""、LEN(A2)))、(B2-1)* LEN(A2)+ 1、LEN(A2)): このMID関数は、上記の数式で返される引数に基づいて、セルA2のテキスト文字列からn番目の単語を抽出します。
  • 4. TRIM(): このTRIM関数は、単語間の余分なスペース文字をすべて削除します。

ヒント:単語間に複数のスペース文字がある場合、上記の式は正しく機能しません。この場合、SUBSTITUTE関数内に別のTRIM関数をネストする必要があります。以下の式を適用してください。

=TRIM(MID(SUBSTITUTE(TRIM(A2)," ",REPT(" ",LEN(A2))), (B2-1)*LEN(A2)+1, LEN(A2)))


ユーザー定義関数を使用して、テキスト文字列からn番目の単語を抽出して取得します

上記の式が少しわかりにくい場合は、ここでユーザー定義関数を紹介します。以下のコードを使用して、テキスト文字列からn番目の単語を抽出することもできます。 次のようにしてください。

1。 プレス Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、モジュールウィンドウに次のコードをコピーして貼り付けます。

Function FindWord(Source As String, Position As Integer)
'Update by Extendoffice
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

3。 次に、コードモジュールを保存して閉じ、次の式を入力します。 = findword(A2、B2) 結果を出力する空白のセルに:

注意:この式では、 A2 セルには、使用するテキスト文字列が含まれています。 B2 抽出したい単語の番号ですが、番号として入力することもできます。

4。 次に、数式を他のセルにドラッグして、必要に応じて結果を取得します。スクリーンショットを参照してください。


強力な機能を備えたテキスト文字列からn番目の単語を抽出して取得します

あなたが持っている場合 Kutools for Excel、ほとんどのExcelユーザーに一般的に使用される複数の数式をサポートしています。 セル内のn番目の単語を抽出します ユーティリティを使用すると、指定したn番目の単語をできるだけ早く抽出できます。 クリックしてKutoolsfor Excelを無料トライアルでダウンロードしてください!


使用される相対関数:

  • REPT:
  • REPT関数は、指定された回数だけ文字を繰り返すために使用されます。
  • SUBSTITUTE:
  • SUBSTITUTE関数は、テキスト文字列内のテキストまたは文字を別のテキストまたは文字に置き換えます。
  • TRIM:
  • TRIM関数は、テキスト文字列から余分なスペースをすべて削除し、単語間のスペースをXNUMXつだけ保持します。
  • MID:
  • MID関数は、テキスト文字列の途中から特定の文字を返します。
  • LEN:
  • LEN関数は、テキスト文字列の文字数を返します。

その他の記事:

  • 複数行のセルからテキストの最後の行を抽出する
  • 改行で区切られたテキスト文字列からテキストの最後の行を抽出するには、通常、これを解決する直接的な方法はありません。 この記事では、Excelでこのタスクを処理するための式を紹介します。

最高のオフィス生産性ツール

Kutools forExcel-群衆から目立つのに役立ちます

毎日の仕事を迅速かつ完璧に完了させたいですか? Kutools for Excel は、300 の強力な高度な機能 (ワークブックの結合、色による合計、セルの内容の分割、日付の変換など) を提供し、80% の時間を節約します。

  • 1500 の作業シナリオ用に設計されており、80% の Excel の問題を解決するのに役立ちます。
  • 毎日何千ものキーボードとマウスのクリックを減らし、疲れた目と手を和らげます。
  • 3分でExcelのエキスパートになります。 面倒な数式やVBAコードを覚えておく必要はもうありません。
  • 30日間無制限の無料トライアル。 60日間の返金保証。 2年間の無料アップグレードとサポート。
Excelのリボン(Kutools for Excelがインストールされている)

Officeタブ-MicrosoftOffice(Excelを含む)でタブ付きの読み取りと編集を有効にする

  • 数十の開いているドキュメントを切り替えるのにXNUMX秒!
  • マウスの手に別れを告げて、毎日何百ものマウスクリックを減らしてください。
  • 複数のドキュメントを表示および編集する際の生産性が 50% 向上します。
  • Chrome、Firefox、新しいInternet Explorerと同じように、効率的なタブをOffice(Excelを含む)にもたらします。
Excelのスクリーンショット(Officeタブがインストールされている場合)
コメントを並べ替える
コメント (0)
まだ評価はありません。 最初に評価してください!
ここにはまだコメントが投稿されていません
あなたのコメントを残す
ゲストとして投稿
×
この投稿を評価:
0   文字
推奨される場所

フォローする

著作権©の2009 - WWW。extendoffice.com。 | | 全著作権所有。 搭載 ExtendOffice。 | サイトマップ
MicrosoftおよびOfficeのロゴは、米国MicrosoftCorporationの米国およびその他の国における商標または登録商標です。
SectigoSSLで保護