Excelの効率化がわかる記事一覧


ExcelとWordを使って超お手軽単語頻度分析

こんにちは。すごい改善のAitoです。

 

今日はWordExcelを使って超お手軽に単語頻度分析をします!

単語頻度分析はアンケート分析などで活用できます。アンケートの自由記述欄から簡易的にユーザーがどのようなことに興味を持っているのかを推定する助けになるといった使い方です。他の分析手法と組み合わせることでより有用なデータが得られます。今回はいわゆるテキストマイニングの最初の段階である「単語頻度分析」をやっていこうと思います。

 

さて、皆さんはWordで文章を書いたことはあると思いますが、単語をダブルクリックすると単語が自動的に選択されるのをご存じですか?Wordは単語を判定する機能を持っていまして、お察しの通りVBAからプログラム的に利用することが可能です。今回はこの機能を使って分析を行っていきます。他に何もインストールする必要がないのがお手軽でいいですよね!

 

最初に分析する文章を決めましょう。次のリンクの記事にしましょう。

https://sugoikaizen.com/blog/8510/

この記事をワードにコピーして貼り付けます。

この時点で、Wordファイルはマクロ有効形式で保存することをお忘れなく!保存していないとこの次に示すコードが動きません……

 

次にWord VBAのプログラムから示します。VBEの立ち上げ方はExcelの時と全く同じです。新しいブックを作成したら「Alt + F11」を押してVBEを起動します。

標準モジュールを作成して、以下のコードを記述します。


Option Explicit

'分かち書きをする
Sub WordSeparation()

    Dim ExcelApp As Object: Set ExcelApp = CreateObject("Excel.Application")
    Dim ExcelBook As Object  'Excel Workbook Object
    With ExcelApp
        .Visible = True
        Set ExcelBook = .Workbooks.Add   '新しいブックを追加
    End With
    
    Dim i As Long: For i = 1 To ActiveDocument.Words.Count
        ExcelBook.Worksheets(1).Cells(i, 1).Value = ActiveDocument.Words(i).Text '先ほど作ったブックに転記
    Next
    
    ExcelBook.SaveAs ThisDocument.Path + "\単語頻度分析結果.xlsx"   '保存
    ExcelApp.Quit   'Excelの終了
End Sub

少し解説をすると、WordからExcelを呼び出すためにExcelオブジェクト(ExcelWordは各機能を持った集合体であるモノ”)として呼び出します。転記するExcelファイルを作成したら、次はWordに書かれている文章を分析して、単語ごとにExcelに一行ずつ転記していきます。最後に保存して終了です。分析の工程はActiveDocument.Words(i).Textで行われています。プログラムを読めばなんとなくわかるとは思いますが、全部の単語の数だけループして、そのi番目の単語を切り出しているだけです。

 

実行するとWordファイルを保存したフォルダと同じ場所に「単語頻度分析結果.xlsx」というExcelファイルがあるはずです。それを開きます。

A列に分かち書きされた単語が入っていますのでカウントしていきます。

ぱっと思いつく方法として二通りのやり方があるので、それぞれ紹介していきます。

【ピボットテーブルを使う方法】

A列の一番上に一行追加して、「単語」とヘッダーを付けておきます。

A列のどこか(ここではA1)を選択した状態でホームタブにあるデータ分析をクリックします。

「ピボットグラフの挿入」をクリックすると分析が終了します。

グラフが要らない場合は、一つ上の「ピボットテーブルの挿入」をクリックします。

簡単ですね!

【数式】

数式で個数を調べる場合は、UNIQUE関数とCOUNTIF関数を用います。

C1セルに次の式を入力します。

=UNIQUE(A:A)

 

C列を列選択し、コピーからの値貼り付けを行います。

D1セルに次の式を入力します。

=COUNTIF(A:A,C1)

 

下までコピーします。全部作業するとこんな感じになります。

D列のどこか(ここではD1)を選択した状態でデータタブから並べ替えの左のZAを選択します。

さて、この分析結果から何がわかるでしょうか?句読点や助詞は除くと、「Excel」や「資料」「業務」といった単語が見えます。この記事は「Excel」で「資料」や「業務」に関係することを書いた記事なのだろうなと推定できるわけです。アンケートの場合は、使用者の興味の範囲を探るなどにも使えますね!

 

以上簡単ですが、WordExcelを使って単語頻度分析を行う方法を紹介しました。何かの役に立てば幸いです。最後までお付き合いくださりありがとうございました。また別の記事でお会いしましょう!

【生涯無期限サポート付き】 Excel/VBAセミナー残席情報

  • 【おすすめ】オンライン版利用(動画視聴期限:無期限/会場開催にも参加できます)
  • 【残席5】2024年2月23日(祝)13:00-18:00 東京会場 たった1日で即戦力になるExcelマスター講座
  • 【残席10】2024年3月10日(日)10:00-17:00 東京会場 面倒なExcel作業を自動化するマクロVBAマスター講座
  • 【残席10】2024年3月16日(土)13:00-18:00 東京会場 たった1日で即戦力になるExcelマスター講座
  • 【残席10】2024年3月23日(土)13:00-18:00 東京会場 たった1日で即戦力になるExcelマスター講座
  • 【残席10】2024年3月30日(土)13:00-18:00 東京会場 たった1日で即戦力になるExcelマスター講座
  • 『たった1日で即戦力になるExcelの教科書』執筆陣が自ら直接指導。
    実務直結・一日集中・受講後無期限サポート付きのExcelセミナー

法人向けExcelオンライン研修

利用人数無制限・個別サポート付きのExcelオンライン研修です。

すごい改善のExcelセミナー

1日完結・実務直結・無期限サポートつきのExcelセミナー開催中

累計40万部突破のExcel教科書

Excel関数Tシャツ等のご購入はこちら