[[20031213162708]] 『countif関数を使って○△×を数える』(masabou5) ページの最後に飛ぶ

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

 

『countif関数を使って○△×を数える』(masabou5)

ある表があって、その中の○、△、×等の総数をCountif関数で数えていますが、

もっとスマートな方法はありませんか?

現状は次のようにしています。

=Countif(範囲,"○")+Countif(範囲,"△")+Countif(範囲,"×")

よろしくお願いします。


 スマートかどうかは・・・。
 とりあえずこんなんでいかが。

 =SUMPRODUCT((A1:A10={"○","△","×"})*1)

 【私信】>ケンさんへ
 数式内の配列、早速応用させてもらいました。
 式が短くなって案外便利です。
 (KAMIYA)

KAMIYAさん、早速のレスありがとうございました。
  =SUMPRODUCT((A1:A10={"○","△","×"})*1)
 の式を入れて見ましたが、エラーが出てしまいました。
 申し訳ありませんが、式の解説をお願い出来ませんでしょうか。
 よろしくお願いします。(masabou5)

 masabou5さん、遅くなって申し訳ありません。

 数式の解説については下記スレッドでの解説が詳しいので参考にしてください。
[[20031213223115]]『数式内の配列とは』(kobi)

 さて、エラーについては
 がわからないため、コメントのしようがないんです。
 よろしければ各項目について教えてください。
 (KAMIYA)

 すみませんでした、{   } を (  )と同じと思って入力していました。
 {   } を使いましたら、おっしゃるとおりに出来ました。
 {   } というような括弧が使えることは知りませんでした。
 こんな括弧が使えるのですね。どういう意味の括弧なのでしょうね。
 ありがとうございました。(masabou5)

 上記スレの(kobi)です。こんばんは。
自分も数式内の{  }について知らなかったので調べたばっかですが、
この場合、配列定数というものらしいです。
ヘルプで配列定数の検索で、調べられます。
まだ理解してないですが、教えていただいていろいろ便利そうなのが解りました。
        またも娘代筆  (kobi)

改めてお尋ねいたします。
      A     B     C     D    E
 1   ○  ×  △  ×  ○
 2  ×    ×  ○  △  ○
 3  ○  ×  △  ○  ○
 4  ○  △  ○  ×  ×

のようにあったとして、sumproduct関数を使って、

○=  個  ×=  個  △=  個 のように○、×、△を数える方法を教えて下さい。(masabou5)


 SUMPRODUCT関数でやるなら
 =SUMPRODUCT((A1:E4="○")*1)

 となりますが、通常はCOUNTIF関数で
 =COUNTIF(A1:E4,"○")
 とするところです。
 結果は一緒なのでどちらを使って損得ということはないですが・・・。

 SUMPRODUCTでカウント、集計する使いどころは
 「A列が○でなおかつB列が×のデータは何件あるか」
 のような複数条件を考えなくてはいけない場合でしょうね。
 (KAMIYA)

早速のレス、ありがとうございました。(masabou5)
 SUMPRODUCT関数はとても面白い関数だと思いますが、今ひとつピンと来ないところがあります。
 ○、×等を数えるにしても、一つの式を作っておいて、あとはコピー・貼り付けで処理
 が出来ると、countifとは違うことになるのでしょうが、そのあたりがまだです。

 おっと、これはチェック不足でした。
 以前の続きでしたか。失礼しました。
 改めて、masabou5さん、お伺いしたいのですが、
 > ○、×等を数えるにしても、一つの式を作っておいて、
 >あとはコピー・貼り付けで処理が出来ると、
 と は具体的にはどんな操作なのでしょうか。
 ちょっとぴんとこないもので。
 (KAMIYA)

いつもありがとうございます。(masabou5)

ある表の中で、○、×、△等を数えるとき、

 ○の数     sumproduct(・・・) としたとき、
 ×の数  上と全く同じ式をコピー・貼り付け出来ればいいナー、ということです。


 COUNTIF関数も使い方としては同じだと思いますが、

      A     B     C     D    E  F  G  H
 1   ○  ×  △  ×  ○    ○ =SUMPRODUCT(($A$1:$E$4=$G1)*1)
 2  ×    ×  ○  △  ○    × 
 3  ○  ×  △  ○  ○    △ 
 4  ○  △  ○  ×  ×    
 
 のようにしておけば範囲内でG列に入力された値をカウントすることができます。
 (KAMIYA)

kamiyaさん、すごいです。ずーと考えていましたが出来ませんでした。

ほんとにすごいです。ありがとうございました。感激しています。(masabou5)


コメント返信:

[ 一覧(最新更新順) ]


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