[[20110502034116]] 『関数で単語をカウントする方法』(みう) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『関数で単語をカウントする方法』(みう)

 単語の出現回数をカウントする方法を探しています。
 単語は英数・かな・記号が入り乱れています。

 https://www.excel.studio-kazu.jp/kw/20030422183258.html
 上記を参考にしましたが、当方の場合

  A2〜42 B2〜58 C2〜48 …… L2〜22
 と、行数もバラバラです。

 なお同列に同じ単語は含まれず、同行に同じ単語が含まれる可能性も少ないです。
 カウントしたいものは行・列ごとではなく、表全体の単語になります。

 基本的な事かもしれませんが、エクセル初心者のため行き詰りました。
 過去ログを探そうにも検索ワードが思いつかないくらいです。
 既出でしたら申し訳ありませんが、ご指導をお願いします。

 【エクセルバージョン:不明,OS:WindowsXP】

 こんにちは

 >単語の出現回数をカウントする方法を探しています。
 > 単語は英数・かな・記号が入り乱れています。
 >A2〜42 B2〜58 C2〜48 …… L2〜22

 単語がどのようなものなのか
 (1セル一単語なのか、それとも文字列の一部なのか)
 判らないけれども

 単に、カウントすべき場所がいくつかある
 ということであるのであるのならば

 単純に
 例えば

 =COUNTIF(A2:A42,"hoge")+COUNTIF(B2:B58,"hoge")+・・・以下必要な分だけ連結
 ("hoge"はどこかのセルに入力して、参照させた方が佳いのかも。)

 では
 ダメでしょうか。

 (穂高)


 A43やB59のセルには文字が入っているのですか?
 もし入っていないなら最大の行(上の例でいうと58?)の範囲をとって
 =COUNTIF(A2:L58,検索条件)
 みたいにすればよいと思いますが、もし文字が入っているなら穂高さんの
 書いた方法になります。

 (se_9)

 1つの列(例えばA列)だけで見た場合、各々の単語の出現回数は「1回」です。
 >同行に同じ単語が含まれる可能性も少ないです。
 これが「B列にはA列と同じ単語は含まない、またC列〜L列も同様」という意味なら、全部の単語が「出現回数1回」となります。
 そうではないようですが、もう少し具体的な説明を。
 実例を提示してください。     (NB)

 =COUNTA(A2:A45)
 これでどうでしょうか
 (通りがかり)

 ご指導ありがとうございます。
 先に各回答者さまの方法で試した結果を報告いたします。
  
  
 >>高穂さん
  エラー:508
    
 >>se_9さん
  エラー:501
  
 >>通りがかりさん
  エラー:501
   =COUNTA(A2:A45,検索単語)とした結果です
  
  
 エラー番号の意味も分からず検索しながらの返答ですが…  
  エラー:508⇒かっこ内のエラー
  エラー:501⇒無効な文字が使われています
 まずは、この検索結果で間違いはないでしょうか?
  
 間違いがないようでしたら、se_9さん・通りがかりさんの方法では実行できず、
 高穂さんの方法では実行できるが当方側の記述ミス、となると思います。
 慎重に記述し見直しもしたつもりでしたが、もう一度見直しをして高穂さんの方法で試してみたいと思います。
  
 もし当方のエラーの認識が間違っているようでしたら、知らせてくださると助かります。
  
  
 次に当質問の補足です。
  
 >>se_9さん
  A2からA43まで,B2からB59まで,……,L2からL22まで,は全てセルが埋まり、
  それ以降は空欄のセルになります。
  se_9さんと当方の考えが同じとみなし、試行結果はのおっしゃった通り「=COUNTIF(A2:L58,検索条件)」で記述したものです。
  
 >>NBさん
  A列だけで見るとA列内に同じ単語は含まない、B列も同様にB列内だけに同じ単語は含まない。
  2行内に同じ単語を含む可能性は少ないが、含む場合もある。
  しかしA2〜L58内の表内には同じ単語は必ずある。
  
  
 言葉だけの説明では認識しづらいと思いますので、簡単に例を記述させて頂きます。
  
   A B C D E F
  1 ○ ○ △ ■ ☆ ★
  2 △ ☆ ■ □ ★ ○
  3 ■ ★ ☆ ◇ □ △
  4 ☆ ■ □ △ ○ ▲
  5 □ △ ○ ☆ ◇ ■
  ・
  ・
  ・
  58 ◇ ▲ ◇ ○ ▲ ☆
  
  このような表で○の個数・△の個数等、全ての単語の数をカウントしたいです。
  
  
 説明が出来ている自信がありませんが、再度ご指導をお願いいたします。
  (みう)

 実際に入力した式を提示してはどうでしょうか。
 エラーだけ提示されても、実際の式が見えなければどこがおかしいかは判断できません。

  (通りがかり)さんは
 =COUNTA(A2:A45)
 と提示しているのに、
 =COUNTA(A2:A45,検索単語)
 と変えてしまっては動かないですよ。
 COUNTA は種別ではなく、データ数を数える関数です。

 種類ごとにカウントしたいのか、全部を含めてカウントしたいのか、そのあたりが説明されないの
 で、回答がばらつくのだと思います。
 (Mook)

 >>Mookさん
  ご指導ありがとうございます。
  
  実際の数式です。
  =COUNTIF(A2:A42,"ペガサス◎")+COUNTIF(B2:B58,"ペガサス◎")+COUNTIF(C2:C42,"ペガサス◎")+COUNTIF(D2:D33,"ペガサス◎")+COUNTIF(D2:D33,"ペガサス◎")+COUNTIF(E2:E32,"ペガサス◎")+COUNTIF(F2:F56,"ペガサス◎")+COUNTIF(G2:G29,"ペガサス◎")+COUNTIF(H2:H43,"ペガサス◎")+COUNTIF(I2:I29,"ペガサス◎")+COUNTIF(J2:J65,"ペガサス◎")+COUNTIF(K2:K54,"ペガサス◎")+COUNTIF(L2:L22,"ペガサス◎")
  単語「ペガサス◎」のカウントを取ろうとしました。

  通りがかりさんの記述通り試行した結果ですと、44と出てきました。
  同列には絶対的に一回しか出ないはず(最大12個)なので、これはおかしいと勝手に当方で追加しました。
  
   >種類ごとにカウントしたいのか、全部を含めてカウントしたいのか
  例で説明しますと、種類ごと(○,▲,□,☆,…,◇)にカウントしたいです。
  
  「全部を含めてカウントしたいのか」という意味が理解できないので、もう一度説明していただけると嬉しいです。
  「表全体の単語全部を含めて、その中から一部の単語をカウント」という意味でしたら、その通りになります。
  
  
  (みう)

 質問者です。
 上記のMookさんの返答で自分の記述に「COUNTIF(D2:D33,"ペガサス◎")」が二重に記述されている事に気づきました。
  
 なので下記に変更しましたが、同じくエラー:508が出てしまいます。
 =COUNTIF(A2:A42,"ペガサス◎")+COUNTIF(B2:B58,"ペガサス◎")+COUNTIF(C2:C42,"ペガサス◎")+COUNTIF(D2:D33,"ペガサス◎")+COUNTIF(E2:E32,"ペガサス◎")+COUNTIF(F2:F56,"ペガサス◎")+COUNTIF(G2:G29,"ペガサス◎")+COUNTIF(H2:H43,"ペガサス◎")+COUNTIF(I2:I29,"ペガサス◎")+COUNTIF(J2:J65,"ペガサス◎")+COUNTIF(K2:K54,"ペガサス◎")+COUNTIF(L2:L22,"ペガサス◎")
  
 当方的にも高穂さんの記述で可能な気がして試行していますが、まだミスが見つかる
 または記述事態が間違っている可能性もあります。
  
 再度ご指導にお付き合い頂けると嬉しい限りです。
  
  
  (みう)

 範囲が矩形でない場合は指定が難しいですが、名前をつけると楽になると思います。
 カウントしたいセルを Ctl を押しながら全部選択し、名前ボックスでつけたい名前を入力します。
http://kokoro.kir.jp/excel/name.html
http://www2.odn.ne.jp/excel/waza/name.html

 例えば、「カウント範囲」という名前をつけておくと
 =COUNTIF(カウント範囲,"ペガサス◎")
 のようにできます。
 (Mook)

 こんにちは

 >同じくエラー:508が出てしまいます。

 もしかして
 Excelでなく
 OpenOfficeCalcで実行なさっているということはありませんか?

 Calcの場合、引数の区切り文字はセミコロンだと聞いたことがあります。

 外していたら、ゴメンなさい。

 (穂高)


 穂高さん、エラー:508って何のこと?マクロじゃなさそうだし…と思ったら
 OpenOfficeCalcのことだったんですね(多分ですが)。

 OpenOfficeCalcだったら =COUNTIF(A2:L58;検索条件) ということになりますね。

 (se_9)


 質問者です。問題が解決いたしました。
  
  
 >>高穂さん\x{fffd}A
  まさしくその通りでした。
  Excelで再度高穂さんのコメント\x{fffd}@で試行した結果、問題なくカウントすることが出来ました。

 >>Mookさん\x{fffd}A
  上記の通り数式事態が分かりましたし、長い数式の記述ミスが減るように参考にさせて頂きます。
  
  
 質問以前の幼稚なミスで、回答者さまならびに観覧者さまには大変ご迷惑をおかけいたしました。
 深くお詫び申し上げます。
  
 これをもちまして、この質問を終了させて頂きます。
  
 ご指導頂いた回答者さま、ならびに一緒に考えてくださった観覧者さまに深く御礼申し上げます。
 みなさまの応援が無ければ、自分ひとりでは回答を導けませんでした。
 本当にありがとうございました。
  
  
  
 なお今後検索などでこのページを見られる可能性もありますので、追加でCalcでの試行結果を報告いたします。
  
  高穂さんのコメント\x{fffd}Aであります通り、セミコロンで区切りましたが結果はエラー:508と変わりませんでした。
  自分でも他サイトなどで検索したところ、Calcでセミコロンを使うのは正論のようです。
  しかしエラーが出てしまいますので、他の区切りなども違う記号または記述事態が違う可能性があります。
  
 こちらの正解は当方では分からない、この掲示板はExcelでの質問掲示板のため
 原因追求はいたしません。
  
  
  (みう)

 質問を終了いたしましたが、入れ違いのコメントを頂いたので再度失礼いたします。
  
 >>se_9さん\x{fffd}A
  ご指導頂いた「=COUNTIF(A2:L58;検索条件)」をCalcで試行した結果、正確にカウント出来ました。
  当方が「=COUNTIF(A2;L58,検索条件)」と記述としていたのが問題だったようです。
  
  
 ExcelとCalcの間違い、引数の区切り文字の判断が出来ないような初心者に
 お付き合いください誠にありがとうございました。
 重ねて御礼申し上げます。
   
  
 これをもちまして、本当にこの質問を終了させて頂きます。
  
  
  (みう)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.