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

Excel でテキスト文字列からストップワードまたはカスタム単語を削除する

著者Xiaoyang変更日

Excel でテキストデータを扱う際には、「a」「the」「it」「of」などの一般的なストップワードや、任意のカスタム単語を列内の文章から削除したい場合があります。これにより、インポートしたデータのクリーニング、キーワードリストの作成、分析用テキストの簡素化、さらなる処理前のコンテンツの標準化などがスムーズに進められます。

このガイドでは、Excel でストップワードやその他の特定の単語を削除するための3 つの実用的な方法をご紹介します。それぞれの方法は、ご利用のExcel バージョンや目的に応じて最適な選択肢となるよう設計されています。

ストップワードやその他の特定の単語を削除

Excel でストップワードや特定の単語を削除する理由とは?

Excel でストップワードまたは他の特定の単語を削除する

より良い結果を得るためのヒント

まとめ


Excel でストップワードや特定の単語を削除する理由とは?

「どのように」取り組むかよりも先に、「なぜ」必要なのかを理解することが重要です。ストップワードはテキストの大半を占めることがありますが、実質的な情報量は極めて少ないのです。

検索分析の向上:検索クエリを分析する際、「how to buy a car」と「buy car」は本質的に同じ意味を持ちます。不要な単語を削除することで、同じ検索意図を持つクエリを簡単にグループ化できます。

AI 向けデータ準備:多くの機械学習や感情分析ツールは、効率よく動作するために「クリーン」なテキストを必要とします。

可視化の改善:ワードクラウドを作成する際、「and」や「the」などの単語が画面上で最も大きく表示されないようにしたいですよね。

ファイルサイズ最適化:大規模なデータセットでは、冗長な単語を削除することでファイルサイズをわずかに軽減し、処理速度が向上します。


Excel でストップワードまたは他の特定の単語を削除する

「the」「is」「and」「at」などの一般的な単語(いわゆるストップワード)は、実質的な意味をほとんど持たず、ただスペースを占めるだけです。「the」が最も頻出する単語となり、きれいなワードクラウドの作成や検索語の分類がうまくいかなかった経験をお持ちの方も多いのではないでしょうか。こうした単語を手作業で削除するのは非常に非効率ですが、幸いにもExcel は進化しました。本セクションでは、このタスクを簡単にこなすための3 つの方法をご紹介します。

 

方法1:数式でストップワードを削除(Excel 365)

Excel 365 をご利用の場合、数式でストップワードを削除できます。TEXTSPLIT、FILTER、MATCH、TEXTJOIN などの最新関数を組み合わせることで、Excel は各文を個々の単語に分割し、ストップワードリストと照合して一致する単語を除外し、残りの単語をクリーニング済みの文として再結合します。この方法は、元のテキストやストップワードリストが変更された際に自動的に更新される動的ソリューションをお求めの場合に最適です。

この例では、元の文は A 列に格納され、ストップワードは D 列にリストされ、クリーニング済みの結果が B 列に出力されます。
データソース

  1. B2 セルに次の数式を入力してください:
    =TEXTJOIN(" ",TRUE,FILTER(TEXTSPLIT(TRIM(A2)," "),ISNA(MATCH(LOWER(TEXTSPLIT(TRIM(A2)," ")),LOWER($D$2:$D$8),0))))
    注:この数式では、A2 が元のテキストを表し、$D$2:$D$8 がストップワードリストを含む範囲です。
  2. Enterキーを押すと、Excel は D2:D8 のリストに含まれない単語を含む文を除外し、該当する結果のみを表示します。
    数式でストップワードを削除
  3. その後、フィルハンドルを下にドラッグして、この数式を残りのセルにも適用します。
    数式による結果

数式の動作原理:

  • TRIM(A2)は、元の文章から不要なスペースをすべて削除します。
  • TEXTSPLIT(TRIM(A2), 「 」)は、文を個別の単語に分割します。
  • LOWER(...)は、大文字と小文字の違いによる比較への影響を避けるため、これらの単語をすべて小文字に変換します。
  • MATCH(..., LOWER($D$2:$D$8), 0)は、各単語がストップワードリストに含まれているかをチェックします。
  • ISNA(...)は、ストップワードリストに含まれない単語に対して TRUE を返します。
  • FILTER(...)は、ストップワード以外の単語のみを保持します。
  • TEXTJOIN(「 」, TRUE, ...)は、残った単語をスペースでつなげて、1 つの文に再結合します。

要するに、この数式は文を単語に分割し、ストップワードリストに含まれる単語を除外したうえで、残った単語を再びクリーンなテキスト文字列として結合します。

メリット:

  • コーディング不要
  • ダイナミックで簡単に更新可能
  • Excel 365 に最適
  • カスタムストップワードリストを使用

制限事項:

  • 単語がスペースで区切られている場合に最適
  • 句読点が結果に影響を与える可能性あり
  • 旧バージョンのExcel には適していない
 

方法 2: VBA コードでストップワードを削除

Excel の旧バージョンをお使いの方や、一度に数千行をクリーンアップする必要がある場合には、VBA によるユーザー定義関数(UDF)が最も効率的な方法です。

  1. ALT + F11キーを押すと、Microsoft Visual Basic for Applications ウィンドウが開きます。
  2. クリックして[挿入]>[標準モジュール]を選択し、次のコードをモジュールウィンドウに貼り付けます。
    Function CleanStopWords(Txt As String, StopWordsRange As Range) As String
        Dim words() As String
        Dim word As Variant
        Dim cell As Range
        Dim result As String
        
        words = Split(Txt, " ")
        
        For Each word In words
            Dim isStopWord As Boolean
            isStopWord = False
            For Each cell In StopWordsRange
                If LCase(Trim(word)) = LCase(Trim(cell.Value)) Then
                    isStopWord = True
                    Exit For
                End If
            Next cell
            
            If Not isStopWord Then
                result = result & word & " "
            End If
        Next word
        
        CleanStopWords = Trim(result)
    End Function
  3. 次に、このコードを保存してワークシートに戻り、次の数式を入力します:
    =CleanStopWords(A2, $D$2:$D$8)
    注:この数式において、A2は元のテキストを表し、$D$2:$D$8はストップワードリストが含まれる範囲です。
  4. その後、フィルハンドルを下にドラッグして、この数式を残りのセルにも適用します。
    VBAコードでストップワードを削除

メリット:

  • 旧バージョンのExcel でも動作
  • 一括処理向けに柔軟かつ実用的
  • 煩雑で複雑な数式を、シンプルで分かりやすいカスタム関数名に置き換えましょう。

制限事項:

  • マクロの有効化が必要
  • 一部のユーザーは VBA の使用に抵抗がある場合があります
 

方法 3: KUTOOLS AI Aide でストップワードを削除

数式や VBA を使わずに、もっとシンプルでスマートな方法をお探しですか?そんなときは、KUTOOLS AI Aide がぴったりです。特に次のようなシーンで大活躍します。

  • 文に不規則なテキストが含まれている場合
  • 句読点の使い方が一貫していない場合
  • カスタム指示に基づいてストップワードを削除したい場合
  • よりユーザーフレンドリーな解決策を求めている場合

KUTOOLS AI Aide を使えば、複雑な数式を組み立てる代わりに、自然言語で指示するだけでテキストを簡単に処理できます。

Kutools for Excelは、複雑なタスクを効率化する300 以上の高度な機能を提供し、創造性と作業効率を高めます。AI 機能と統合されたKutools は、正確にタスクを自動化し、データ管理を簡単にします。Kutools for Excel の詳細情報。。。         無料トライアル。。。
  1. クリックしてKutools > KUTOOLS AI > Cells Aide(スクリーンショット参照)
    Kutools のセルアシストをクリック
  2. Cells AI All-in-One Aideダイアログボックスで、以下のオプションを指定します:
    1. データソース範囲]ボックスで、処理したいテキストを含むセルを選択してください。
    2. プロンプトライブラリ]ドロップダウンをクリックし、事前定義されたプロンプトから「ストップワードを削除」を選択してください。
    3. プロンプト内容]ボックスでプロンプトを確認し、必要に応じて修正するか、特定のニーズに応じて削除したいカスタム単語を追加してください。
    4. 生成]ボタンをクリックすると、KUTOOLS AI がデータの選択内容を分析し、結果を右側の[結果]パネルに表示します。
      セルアシストダイアログボックスでオプションを指定
  3. AI が結果を返した後、[範囲に挿入]をクリックするか、出力を配置する空白の領域を選択してください。最後に、OKをクリックします。

メリット:

KUTOOLS AI アシストは、通常の数式では対応できない場面で特に活躍します。より複雑なテキストパターンを正確に理解し、平易な言葉での指示だけでセルの内容を簡単にクリーニングできます。

  • 数式を覚える必要なし
  • コーディング不要
  • 自然言語プロンプトで簡単に操作可能
  • 複雑なテキストクリーニング作業にも柔軟に対応

制限事項:

  • Kutools for Excel が必要
  • AI の結果はプロンプトによって若干異なる場合があります

Kutools Cells Aide でより簡単にテキストをクリーンアップ

複雑な数式や VBA は不要です。Kutools Cells Aideを使えば、ストップワードの削除、テキストの抽出、コンテンツのクリーニング、セルの処理が、シンプルな自然言語プロンプトで簡単に実行できます。

  • AI 搭載プロンプトでストップワードを削除
  • 不規則なテキストや一貫性のない句読点にも対応
  • 数式やコーディングは不要
  • 日常的なExcel 作業に最適な高速かつ使いやすい機能

より良い結果を得るためのヒント

  1. ストップワードリストは別の範囲に保管してください
    これにより、後でリストを簡単に更新できます。特に数式や VBA を使用する際に便利です。
  2. 句読点に注意してください
    カンマやピリオドなどの句読点が続く単語は、追加のクリーニングが必要になることがあります。VBA および AI 方式は、こうした処理を通常の数式よりもより適切に行います。
  3. 大文字・小文字を区別するかどうか、よくご検討ください
    ストップワードの削除作業では、通常、大文字・小文字の違いを無視するのが適切です。上記の数式および VBA は、いずれも大文字・小文字を区別せずに単語を処理します。
  4. まず数行でテストしてください
    大規模なデータセットを処理する前に、この方法をいくつかのサンプル行で試して、結果が期待通りかどうかを確認してください。
  5. 元のデータは必ず保持してください
    通常、元の文を直接上書きするよりも、クリーニング済みのテキストを新しい列に出力する方が安全です。

まとめ

Excel でストップワードや特定の単語を削除するには、いくつかの効果的な方法があります。最適な選択肢は、お使いの Excel バージョンやワークフローによって異なります。

Excel 365 をご利用なら、数式を使った方法が迅速で効率的なソリューションです。より高度な制御が必要な場合やExcel の旧バージョンをお使いの場合は、VBA がバッチ処理に最適な強力な選択肢となります。また、最も簡単かつ柔軟なアプローチをご希望であれば、KUTOOLS AI Aide が自然言語によるシンプルなプロンプトでテキストのクリーンアップをサポートします。

ご自身のニーズに最も合った方法を選ぶことで、雑然とした文章データをすばやくクリーンで有用なテキストに変換できます。

方法おすすめのユーザーメリット制限事項
数式Excel 365 ユーザー高速・ダイナミック・コーディング不要複雑な句読点にはあまり適していない
VBA旧バージョンのExcel ユーザーまたは一括処理が必要な場合柔軟性と強力な機能、範囲選択が可能マクロの有効化が必要
KUTOOLS AI Aide最も簡単なスマートソリューションを求めているユーザー数式不要、VBA 不要、自然言語によるプロンプト操作Kutools が必要