エクセルを用いたテキストマイニングのやり方
Microsoft 365(旧Office365)に含まれるExcelでも、テキストデータの集計や可視化は十分可能です。エクセルを用いてテキストマイニングを実施する際は、テキストデータを構造化して「キーワードの出現率」や「頻出語の傾向」を把握する処理が中心となります。具体的には、形態素解析を通じて単語単位に分解し、出現頻度を「キーワード出現頻度解析ツール」のように可視化・集計する流れが基本です。ここでは、その具体的な手順を紹介します。

1.文章を単語化する
エクセルでは文章をそのまま分析できず、文章を一つひとつの単語に分解しなければいけません。文章を単語で分解することを「形態素分析」と呼びます。分解する方法は、MeCabやJanomeなどの形態素解析エンジンを用いた「分かち書き(単語の区切りに空白を入れる)」などが挙げられます。
単語レベルで分解することで、単語の頻出度の計測が可能です。なお、「サーバー」と「サーバ」といったように、表記方法が異なる「表記ゆれ」を修正すると、より正確な集計の実施ができます。
2.単語を集計する
形態素解析したあとは、単語の出現回数をカウントします。「COUNTIF関数」を用いてエクセルでテキストマイニングを実施する方法が一般的です。
しかし、データ量が多いときや条件が複雑だと、エクセルの関数で集計できない場合もあります。例えば、アンケートの感想であれば表現の仕方は異なるため、困難といえるでしょう。集計が困難な場合は、エクセルと連動して利用できる集計用のソフトウェアを使用すると効率的です。無料で利用できるソフトもあるため、活用しましょう。
3.キーワードの出現率をもとにテキストを可視化する(ワードクラウドの作成)
テキスト内に含まれるキーワードの出現率を視覚的に表現する方法として、「ワードクラウド」があります。これは、テキストデータに含まれる単語の出現頻度に応じて、文字の大きさや色を変えて表示する図のことで、頻出キーワードを直感的に把握するのに適しています。ワードクラウドをエクセルで作る場合は、単語の集計と同様にフリーのソフトかアドインを利用します。また、自身でプログラミングし開発する方法もおすすめです。
エクセルは「COUNTIF関数」や「Power Query(エクセルに標準搭載されているデータ取得・変換ツール)」などの機能を使えば、簡易的なテキストデータ分析にも十分活用できます。しかし、エクセルで実施するにはデータ量や内容に限界はあります。より精度の高いテキストマイニングは、ツールを活用しましょう。以下のボタンより関連製品の一括資料請求(無料)できるため、まずは比較検討をしてみましょう。
テキストマイニングで使用するエクセルの関数
エクセルでテキストマイニングを実施する際は、関数の使用が求められます。主に使用する関数と、使用場面や方法を紹介します。
COUNTIF関数
「=COUNTIF (範囲・ 検索条件)」
COUNTIF関数とは、キーワードなどの条件を設定し、個数をカウントできる関数です。主に、アンケートなどの単一回答を集計する際に使用します。COUNTIF関数は範囲と検索条件を指定する必要があります。
集計したい回答が複数ある場合は、範囲のセルに「$」をつけると、範囲を固定した検索が可能です。固定しなければ、関数のセルをコピーして別セルに貼り付けたときに、範囲がズレてしまいます。
例えば、「C1からC99」までの範囲内に出現する単語を検索するときは、以下のとおりです。
- 「=COUNTIF($C$1:$C$99, "単語A")」
- 「=COUNTIF($C$1:$C$99, "単語B")」
SUM関数
「=SUM(引数)」
SUM関数とは、指定した範囲の個数を合計する関数のことです。基本的な関数でもあるため、使用したことがある人も多いでしょう。SUM関数の条件は「=SUM(引数)」です。
例えば、COUNTIF関数をD列に入力していれば、合計を算出するときの式は以下のようになります。
- 「=SUM(D1:D5)」
COUNTIF関数などでカウントした個数を合計する際に、SUM関数を使用することが多くあります。ほかの関数と組み合わせることも少なくありません。
INDEX関数
「=INDEX(範囲・行番号・列番号・ 領域番号)」
INDEX関数とは、COUNTIF関数やSUM関数と違い、指定した位置のセルの値を表示する関数です。単独で使用することは少なく、SUM関数などと一緒に利用する場面が多いといえるでしょう。
INDEX関数は、選択した範囲の上から何行目の何列目に該当するものを結果として返します。もし複数の範囲を選択している場合は、1つめの範囲が「1」、2つめの範囲が「2」となります。
SUM関数と一緒に使用する場合の関数は以下のようになる場合が多いでしょう。
- 「=SUM(セル:INDEX(範囲, 行番号, 列番号, 領域番号))」
- (例:「=SUM(B1:INDEX((A2:B5), 5, 2))」)
指定したセルからINDEX関数で指定した範囲までの合計値を求められます。
【エクセル以外】無料でテキストマイニングを実施する方法
エクセルによるテキストマイニングは、関数の設定やマクロの活用など一定の知識が必要で、精度や分析範囲にも限界があります。効率的かつ高度な分析を行うには、テキストマイニング専用ツールの活用が有効です。
無料版のテキストマイニングツールもあり
現在では、無料で利用できるテキストマイニングツールも登場しています。有料版のツールと比較すると機能制限はありますが、ワードクラウドの作成や単語の出現頻度などは簡単に集計できるでしょう。以下のページでは、無料で利用できるテキストマイニングを紹介しているため、参考にしてください。
本格的なテキストマイニングには有料ツールがおすすめ
エクセルで実施できないテキストマイニングには、ツールを活用しましょう。有料版のテキストマイニングツールでは、膨大なテキストデータの一括処理やネガポジ判定(感情分析)、共起語の抽出、キーワード出現率の自動グラフ化などより高度な分析が可能です。
また、クラウド上でのデータ管理や、BIツールとの連携機能を備えている製品もあり、業務効率の向上やデータ活用の幅が広がります。本格的にテキストマイニングツールを活用したい場合は、以下の記事を参考にしてください。
まとめ
エクセルでテキストマイニングを実施するやり方は、文章の単語化・単語の集計・ワードクラウドの作成が求められます。また、使用する主な関数はCOUNTIF関数・SUM関数・INDEX関数を利用します。マクロを組む場合もあるため、エクセルの知識は必要です。
ただし、より精度の高い分析や大量データの処理を行いたい場合には、有料のテキストマイニングツールの活用がおすすめです。業務で本格的に活用することを考えている方は、まずは資料を取り寄せて、機能や価格を比較してみてください。