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

テキスト文字列から先頭または末尾の2 単語、あるいは任意の n 単語を抽出するにはどうすればよいですか?

著者Xiaoyang変更日

Excel で大量のテキストデータを扱う際、セル内の特定の単語——たとえば先頭の数単語、末尾の単語、あるいは特定位置にある単語——を抽出する必要が頻繁に生じます。こうしたケースの代表例としては、スペース区切りの複数単語から構成されるテキストエントリ(例:氏名、住所、キーワード、一意の識別子など)を含むセルから、必要な部分だけを効率よく取り出すことが挙げられます。たとえば、文章や製品コードが入力されたセルから「先頭3 単語」や「末尾2 単語」のみを抽出し、後続の処理に活用したい場面が考えられます。Excel にはこうした操作を直接実行する組み込み関数はありませんが、データ量や要件に応じて、さまざまな手法で柔軟かつ効果的に単語を抽出することが可能です。本記事では、テキスト文字列から先頭、末尾、または任意の n 番目の単語を効率よく抽出するための数式、実用的なツール、および高度な自動化手法をご紹介します。

最初または最後の2語、またはn語を抽出

数式でテキスト文字列から先頭の2 単語または n 単語を抽出する

数式でテキスト文字列から末尾の2 単語または n 単語を抽出する

便利な機能でテキスト文字列から先頭または n 番目の単語を抽出する

VBA マクロで単語を抽出する(先頭、末尾、または n 番目の単語)

Power Query を使用して単語を抽出する(分割して再結合)


数式でテキスト文字列から先頭の2 単語または n 単語を抽出する

セル値から先頭のいくつかの単語を抽出するには、以下の数式をご利用いただけます。スペースなどの一定の単語区切り文字が含まれるテキストから、たとえば先頭3 単語を取得したい場合に特に便利です。これらの数式は設定が簡単で、中規模のデータセットにもぴったり。さらに、任意の数の先頭単語を抽出するよう簡単に調整できます。

下記のいずれかの数式を空白セル(例:C2)に入力し、フィルハンドルを下にドラッグして関連するすべての行に適用してください。以下のスクリーンショットのように、各テキスト文字列から指定した数の先頭単語が抽出されます。

=TRIM(LEFT(A2, FIND(「^」,SUBSTITUTE(A2, 「 」, 「^」,3)&「^」)))

数式を適用して最初の2語、またはn語を抽出

説明とヒント:

1。上記のサンプル数式では、A2は元のテキストを含むセルを参照し、3は抽出する単語数です。データに応じてこれらの参照を適宜変更してください。

2。抽出する単語数が行ごとに異なり、その数が列 B に指定されている場合は、次の柔軟な数式をご利用いただけます。

=TRIM(LEFT(SUBSTITUTE(A2,「 」,REPT(「 」,1000),B2),1000))

セル値に基づき、数式を適用して最初のn語を抽出

この数式では、セル(例:B2)を参照して動的に抽出する単語数を指定できます。B2 には有効な整数が含まれていることをご確認ください。

3。テキストがカンマやセミコロンなどの他の区切り文字で区切られている場合は、スペース文字()「 」)を目的の区切り文字に置き換えることで、数式を簡単に調整できます。

4。前後にある余分なスペースや連続する複数のスペースにご注意ください。これらは結果に影響を与える可能性があります。TRIM 関数を使えば、不要なスペースを簡単に削除できます。

5。セル内の単語数が抽出しようとしている数よりも少ない場合、数式はエラーを出さずに全文を返します。


数式でテキスト文字列から末尾の2 単語または n 単語を抽出する

テキスト文字列から末尾の単語(末尾2 単語や末尾 n 単語など)を抽出するには、以下の数式が役立ちます。この方法は、姓やファイル拡張子、テキストセル末尾の識別子など、常に末尾の単語を抽出したいデータセットに最適です。

下記の数式をコピーし、結果を表示したい空白セルに貼り付けてください。数式を入力したら、フィルハンドルを下にドラッグして他の行にも適用します。

=MID(A2,FIND(「@」,SUBSTITUTE(A2,「 」,「@」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))-(3-1)))+1,LEN(A2))

数式を適用して最後の2語、またはn語を抽出

注記と実践のヒント:
  • A2:テキストが含まれる元のセル。
  • 3:取得したい末尾の単語数です。末尾5 単語を取得するには、数式内の「3」を「5」に変更してください。
  • セル内の単語数が指定した数より少ない場合は、そのセルに含まれるすべての単語が返されます。
  • データがカンマやタブなどの他の区切り文字で区切られている場合は、数式を適宜調整してください。
  • データに複雑または不均一なスペースが含まれていると、結果が正確でなくなる可能性があります。数式を適用する前に、可能であればテキストをクリーンアップしてください。

便利な機能でテキスト文字列から先頭または n 番目の単語を抽出する

テキスト文字列から先頭または特定の(n 番目)の単語だけを抽出したいけれど、複雑な数式を覚えるのは面倒……そんな方には、Kutools for Excelがおすすめです。セルから N 番目の単語を抽出する機能を使えば、セル内の任意の単語位置をかんたんに指定可能。不定期な作業から繰り返しのタスクまで、幅広いシーンで活躍します。数式を手入力する必要がなく、エラーのリスクも低く、メニュー操作だけでスピーディーに解決したい方にぴったりのアプローチです。

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

Kutools for Excelをインストール後、以下の手順に従ってください。

1。抽出結果を表示したいセルを選択し、次にKutools > 関数ヘルパー > 関数ヘルパーの順に移動します(スクリーンショット参照)。

Kutools の「数式ヘルパー」機能をクリック

2関数ヘルパーダイアログボックスで、次の手順を実行してください。

  • ドロップダウンリストからTextを選択します。関数の種類
  • 数式リストボックスからセルから N 番目の単語を抽出するを選択してください。
  • Cellテキストボックスに元のセルを指定し、The Nthテキストボックスに目的の単語の位置(例:2 番目の単語の場合は「2」)を入力してください。

ダイアログボックスでセル参照を指定

3OKをクリックして結果を返した後、フィルハンドルを下にドラッグし、同じロジックをリストの残りの部分にも適用します。図をご参照ください。

他のセルに数式を下方向にドラッグ

この方法は、抽出要件が頻繁に変更される場合や、毎回カスタム数式を構築する代わりにガイダンス付きのインターフェースを利用したい場合に適しています。


VBA マクロで単語を抽出する(先頭、末尾、または n 番目の単語)

テキストから動的に最初の単語、最後の単語、または任意の特定の n 番目の単語を抽出する必要がある場合や、大規模なデータセットや頻繁に更新されるデータセットを扱うなど、より高度なユースケースでは、VBA マクロが数式単体よりも高い柔軟性と自動化機能を提供します。VBA を使えば、多数のセルを素早く処理できる再利用可能なツールを構築でき、抽出する単語や単語グループをニーズに応じて自由にカスタマイズ可能です。特に、同じ操作を定期的に繰り返す必要がある場合や、複雑な入れ子になった数式を避けたい場面でその真価を発揮します。

代表的なシナリオ:インポートしたテキストから一括抽出、バッチ処理によるクリーニング、標準化されたレポートの作成。

1。VBA エディターを開くには、開発 > Visual Basicをクリックします。Microsoft Visual Basic for Applications ウィンドウで、挿入 > 標準モジュールを選択し、新しいモジュールに以下のコードを貼り付けます。

Sub ExtractWord()
    Dim Rng As Range
    Dim Cell As Range
    Dim WordPos As Integer
    Dim Words() As String
    Dim ExtractedWord As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set Rng = Application.Selection
    Set Rng = Application.InputBox("Select range to extract word from", xTitleId, Rng.Address, Type:=8)
    
    WordPos = Application.InputBox("Enter which word number to extract (1=first,2=second, etc., or -1 for last)", xTitleId, 1, Type:=1)
    
    Application.ScreenUpdating = False
    
    For Each Cell In Rng
        Words = Split(Application.Trim(Cell.Value), " ")
        
        If WordPos = -1 Then
            If UBound(Words) >= 0 Then
                ExtractedWord = Words(UBound(Words))
            Else
                ExtractedWord = ""
            End If
        ElseIf WordPos >= 1 And WordPos <= UBound(Words) + 1 Then
            ExtractedWord = Words(WordPos - 1)
        Else
            ExtractedWord = ""
        End If
        
        Cell.Offset(0, 1).Value = ExtractedWord
    Next Cell
    
    Application.ScreenUpdating = True
    
    MsgBox "Extraction complete! Results placed in the column to the right.", vbInformation, xTitleId
End Sub

2。マクロを実行するには、実行ボタン実行ボタンをクリックするか、F5キーを押してください。マクロはまずデータ範囲の選択を促し、次に抽出する単語の位置(例:先頭の単語の場合は1、末尾の単語の場合は-1)を尋ねます。その後、抽出された単語を右隣の列に配置します。区切り文字がスペースであることをご確認ください。他の区切り文字を使用する場合は、必要に応じてSplit 関数を調整してください。

この VBA によるアプローチは、繰り返しの一括抽出を大幅に高速化し、数式ベースのソリューションが煩雑になるような状況に最適です。注意:マクロを実行する前に必ずブックを保存し、セキュリティ設定でマクロが有効になっていることを確認してください。


Power Query を使用して単語を抽出する(分割して再結合)

大規模なテーブルの管理や繰り返しのインポート/エクスポート作業には、Power Query がテキスト文字列から単語を抽出・操作するための強力な代替手段を提供します。Power Query はデータタブのデータの取得と変換として利用可能で、スペースやコンマなどの区切り文字に基づいてテキストを視覚的に分割し、必要な単語を簡単に抽出。その後、データを再結合してExcel に戻すことも可能です。このプロセスは再現性が非常に高く、数百行、さらには数千行に及ぶデータのクリーニングに最適です。

主なメリット:繰り返し使用時も一貫性を保ちやすく、視覚的なインターフェースにより直感的に操作でき、単語の位置に関する要件が変更された場合にも簡単に調整可能。

操作手順:

  1. データ範囲を選択し、Data > From Table/Rangeを選択して、データを Power Query に読み込みます。プロンプトが表示されたら、テーブルの確認または作成を行ってください。
  2. Power Query エディターでテキストを含む列を選択します。
  3. Split Column>By Delimiter
    リボン上の「区切り文字で」オプションを示すスクリーンショット
  4. ドロップダウンからSpaceを選択するか、カスタム区切り文字を入力し、Split atEach occurrence of the delimiterを選択して、[OK]をクリックします。
    区切り文字を指定しているスクリーンショット
  5. これにより、テキスト内の各単語が個別の列(例:Column1、Column2 など)に表示されます。最初の2 単語だけを抽出したい場合は、分割された単語を再結合します。対応する列を選択し、ヘッダーを右クリックしてコンテキストメニューからMerge Columnsを選択してください。
    コンテキストメニュー内の「列を結合」オプションを示すスクリーンショット
  6. 希望の区切り文字(例:スペースやカンマ)を選択して、OKをクリックしてください。
    テキスト結合用の区切り文字を指定しているスクリーンショット
  7. 最後に、Close & Loadをクリックして、結果を現在のブック内の新しいワークシートに読み込みます。

Power Query を使用すると、基になるテーブルが変更された際にクエリを更新するだけで同じ処理を簡単に再利用でき、数式やマクロを手動で再適用することなく一貫した結果を得られます。Power Query が出力する列数を確認し、短いテキスト文字列における欠落した単語も考慮に入れてください。


関連記事:

  • セルから複数行を抽出する
  • Alt + Enter キーで入力された改行で区切られたテキスト文字列を、以下スクリーンショットのように複数のセルに分割したい場合、Excel ではどのような数式を使えばこの課題を解決できますか?
  • Excel でテキスト文字列から部分文字列を抽出する
  • テキスト文字列から部分文字列を抽出するのはよくある作業ですが、Excel にはそのための専用関数は用意されていません。ただし、LEFT 関数、RIGHT 関数、MID 関数、SEARCH 関数を組み合わせることで、必要な部分文字列を自由自在に取り出すことができます。
  • テキストの抽出テキスト文字列内の括弧間から
  • テキスト文字列内に括弧で囲まれた部分がある場合、以下スクリーンショットのように括弧内のすべてのテキストを抽出する必要があります。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 日間のフル機能トライアル— 登録不要、クレジットカード不要
  • 最高のお得感— 個別アドイン購入よりお得