• ベストアンサー

エクセルの関数について教えてください。

どの関数を使ったらよいのか教えてください。 1.例えば、1000以上2000以下の数値が入っているセルの個数をカウントしたい。この場合、COUNTIFで式を入れようとしても条件がひとつしか入らないので(">1000"のように)、他のどの関数を使えばいいのでしょうか。 2.ある文字列の中で同じ文字があった場合、その文字とセルの個数をカウントしたい。例えば、ある範囲にA,D,W,D,R,D,A,A,Wとあった場合、A 3,D 3,W 2,R 1というような結果がほしいのですが。 基本的なことで質問して申し訳ないのですが、急いでやらなければならないことがありますのでよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.6

1.に関して言えば、 =IF(C2<1000,"",IF(C2>2000,"","a")) この数式を使う手もあります。 これで、aの数をカウントするんです。 (式の意味は、1000未満なら空欄、2000より大きくても空欄、 そうでなければ=1000以上2000未満なら「a」を表示せよ) とゆぅわけで、後はCOUNTIFで"a"の数を数えると。 2.に関して言えば、nishi6さんの言うとおりで、ピボットテーブルでOKです。 多分分かると思いますが念のため。(大丈夫なら読み飛ばしてください。) (B列の1行目から順に、作家,a,b,a,c,a,b,c,a,d,a,e,dと入っているとしましょう。アルファベット一文字は作家の名前です。) データ(D)→ピボットテーブルとピボットグラフレポート で、ウィザードが出てきて、 分析するデータのある場所は「Excelのリスト/データベース」、作成するレポートの種類は「ピボットテーブル」です。 (ちなみにどちらもそのままそれになってるはずです。) 次へで、使用するデータの範囲を聞かれますので、B列の希望範囲を指定します。 (場合によっては範囲が勝手に指定されています。例では、B1:B13ですね。) 次へで、ピボットテーブルの作成先を聞かれますので、確か下に書いてあったのは、隣の列でよさそうだったので、「既存のワークシート」の「C1」を選んで、次にレイアウトをクリックします。 レイアウトの画面で、「作家」という四角(フィールドって言います)がありますので、これを「行」と書いてあるところと、「データ」と書いてあるところにドラッグします。 (すると、行の上側に色が変わった状態で「作家」、データの欄には、「データの個数:作家」とかかれたものが表示されるはずです。 ちなみに、データの個数になっていない場合は、そこをダブルクリックして、「データの個数」を選んでください。) これで準備OK! レイアウト画面をOKボタンで閉じて、完了をクリックすると、表になって完成します。 以上でした。

golman
質問者

お礼

とてもわかりやすい回答をありがとうございました。 初めてピボットテーブルを使いました。思ったような表を作ることができ感謝しています。どうもありがとうございました。お手数をおかけいたしました。

その他の回答 (5)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.5

1.について別の方法です。例えば、G2:G11を対象として、  =SUM(IF(G2:G11>=1000,IF(G2:G11<=2000,1,0),0)) として、Ctrl+Shift+Enter で登録します。配列数式を使っています。 2.について、VBAを使うこともないでしょう。   データ→ピボットテーブルと・・・・でピッボットテーブルを使えば直ぐできるでしょう。

golman
質問者

お礼

いろいろな方法があるのですね。使い慣れている人にとっては簡単なことなのでしょうけど、とても勉強になりました。どうもありがとうございました。

  • uc078
  • ベストアンサー率22% (28/127)
回答No.4

え~VBAというのは、「Visual Basic for Application」の略で(確か) 簡単に言うと、(この場合は)エクセル専用のプログラミング言語です。 基礎となっているのは「Visual Basic」という言語です。 1--> 数学の基礎が出来てなくてすいません(^^; フォローどうもです 2--> 何の文字かわからない、ランダムに入っているですか・・・     とりあえず、 No3の cupidchain さんと同じ事が知りたいでっす。

回答No.3

どもでーす。 1.の方にはお答えがあるようなので、 (たぶん、COUNTIF関数の部分に「=」が必要(でないと以上にならない)かと思うのですが・・・揚げ足取っちゃって申し訳ありません。汗) 2.の方を一緒に考えましょう! とりあえず下のこと、教えてください。 ひとつ、文字列はひとつのセルに入ってるのかどうか。 ふたつ、カウント結果は降順(数字の多い順)でアルファベット順である必要があ    るのか みっつ、ローマ大文字のみなのか

golman
質問者

補足

ご回答ありがとうございます。 1.の方のご指摘ありがとうございました。そうですね、=を入れます。 2.の方ですが、アンケート集計をするため、B列に「あなたの好きな作家名」(すべて日本語)が3000行ほど入力されています。ですから理想としてはB列を元にC列に「作家名」、D列に「カウント数」を入れ、それを降順に並べられればと思います。カウント数が降順に並んでいさえすればいいので、同じカウント数の中の順序はどうでもいいのです。ソートは自分でやっても構いませんので、とにかくC列には重複した作家名が表示されないようにしたいわけです。 素人は質問さえもうまくできないのが悲しいです。お手数ですがまたよろしくお願いいたします。

  • 90george
  • ベストアンサー率26% (11/41)
回答No.2

Microsoft Accessはお持ちじゃないですか? 条件式も複数設定できるし、クエリー作成の際にグループ化、カウント機能を使えば2.のようなデータも簡単に作成できますが。 エクセルではちょっと解りません。ごめんなさい。

golman
質問者

お礼

早速ご回答いただきありがとうございます。 私はMicrosoft Accessは持っていないのですが、エクセルより条件式を複数設定できるとのことですから、今度購入しようと思います。

  • uc078
  • ベストアンサー率22% (28/127)
回答No.1

1 COUNTIFを組み合わせて使います。 例) =Countif(範囲,>1000)-Countif(範囲,>2000) これで、範囲内の1000以上2000以下のセルの個数が出てくると思います。 2 こちらは どの文字列があるかがわかっている場合では =Countif(範囲,"a") で、その範囲内の a の個数が出ると思います。("a"は他のセル参照でもOK) ただ、範囲内に何の文字があるかわからずそれらの全ての個数を求める場合は VBAの力が必要かと思います(^^;

golman
質問者

補足

1の方は教えていただいた式で無事できました。ありがとうございました。 あまりの知識のなさに呆れていることだとは思いますが、ご親切に答えていただいて感謝いたします。 また2の方ですが、文字列がわかっていない状態です。「VBA」ってどういう意味ですか?すみませんが教えてください。

関連するQ&A

  • エクセルの関数

    エクセルである列に以下のような文字が入力されている場合、"yahoo"という言葉が含まれている個数をカウントしたい場合どうすればよいのでしょうか。 countif(セルの範囲,"yahoo")とすると、"yahoo"との完全一致を要求されるので、回答は0件になってしまいます。(.co.jp, .comなどが含まれているため) 複数の関数を組み合わせる方法でも結構ですので、うまく個数をカウントする方法がおわかりの方どうか教えて下さい。   A列 yahoo.co.jp yahoo.com excite.co.jp excite.ne.jp yahoo.ne.jp yahoo.net ・・・・・

  • Excel 関数でcountifの複数条件

    Excelで条件にあった個数をカウントする関数はcountifですが、 複数の条件にあった個数をカウントする場合、countifの式はどうすればよいのでしょうか。 例えば A列の1行から20行で"○"が入っている個数のカウントは =countif(a1:a20,"○")ですが A列の1行から20行で"○"が入っていて、なおかつ B列の1行から20行に"1"が入っている個数のカウントを知りたいです。 =countif(a1:a20,"○")and(b1:b20,"1")ではないですよね。 よろしくご教授願います。

  • エクセルで文字列の個数を数える

    ある範囲のエクセルデータから決まった文字列の個数をカウントする関数の使い方が判れば教えてください。 例えば、A1からH200までのデータより、”リンゴ”という文字列が何個あるかカウントしたいのですが。 COUNTIF(A1:H200,"*リンゴ*")とすると”リンゴ”という文字列が含まれるセルの個数は出たのですが、”リンゴ”という文字列が複数含まれるセルもあるので、”リンゴ”という文字列の個数とは 一致しないようなのです。 どなたか、よろしくお願いします。

  • エクセルのcountif関数について

    二つの列にそれぞれ数値が入っている場合に、クロスしたデータの個数をカウントしたいのですが、どのような式を使えばよいかお教え下さい。 例えばA1~A10に20,30,20、・・・と規則的に入力されていて、B1~B10に1、2、3、1、2、3、・・・とこちらも規則的に入力されている場合で、A列が20でB列が3の場合、クロスした値は2個となるのですが、それをCOUNTIF関数で計算させたいのですが、...何か良い方法はありませんでしょうか。

  • Excelの関数

    Excelで、範囲指定した列に文字"○"があり、なおかつ文字"○"があった行の範囲指定した別の列に文字"△"があるセルの個数カウントをしたいのですが、その場合の関数がわかりません。 わかりづらい質問で申し訳ございませんが教えてください。 よろしくお願いいたします。

  • excelで質問です

    EXCELで質問です。通常、1つの条件を満たす場合の個数の算出はCOUNTIF関数ですが、条件が複数(たとえば、A1からA10までのセルにA,B,C,Dのいずれかの文字列が1つでも入力された場合に、その個数をカウントする計算式がわかりませんので、教えてください。

  • EXCELで cuontifやsubtotal以外の関数で0以外の数値をカウントできないでしょうか?

    今回は数値のカウントを教えてください。 下記のような場合、A列の1でフィルターをかけた場合 B列の0を除いた整数のセルの個数をカウントするには どのような関数がのぞましいでしょうか?   A  B    1  a  b 2  1  10 3  1  12   4  0   0   5  0   0 6  1  15 7  1   0   8  1   0 ・     ・      ・     ・ 11  1  12 countifだとフィルターが有効にならず、subtotalでは 「0以外」のオプションが有効になりません。 よろしくお願い致します。

  • エクセルCOUNT関数について

    こんばんは、COUNT関数についてお伺いします。 たとえばA列に関数(SUMなど)の数式が入っています。そのA列を範囲指定してCOUNT関数をしたところ、数値が現れているセルのみをカウントしたいのですが、空白の数式が入っているセルもカウントしてしまいます。数値を示しているセルのみをカウントしたいのですが、うまく行きません。 どうすれば解決できますか、教えていただけないでしょうか。

  • エクセルの関数式です

    エクセルの関数式で質問です。 一つのセル内に、複数の文字列が入力してある(半角スペースで区切りがある)中で、含む文字列のものの個数をカウントしたい場合はどうすれば良いのでしょうか? フィルタ機能で、含む文字列はできるのに・・・。 (たとえば、ひとつのセル内に 「豆腐 豆 大豆」 「豆 大豆」 「豆腐 豆」 てな感じでセル内に入力してある場合、「豆腐」を含むセル個数をカウントしたい場合はどうすれば良いんでしょうか?

  • Excel COUNTIF関数

    お世話になります。 countif関数について教えてください。 12345 12345A countif関数で、ワイルドカードを使用して、=countif(A:A,"12345*") とし、上記の12345で始まる文字列をカウントしようとしたのですが、 12345Aはカウントされ、12345はカウントされませんでした。 上記のような文字列を両方ともカウントさせるにはどうしたらいい でしょうか。 よろしくお願いします。

専門家に質問してみよう