Quantcast
Channel: ビジネス – S-Factory
Viewing all articles
Browse latest Browse all 22

Excelで範囲外の値の個数を計算~CountifでOR集計出来た

$
0
0

Excelで計測値の集計シートを作る手伝い。

  1. シートのセルに計測した値を次々入力して行くと、基準値の範囲外のセルに色がつく様にして欲しい。
  2. 基準値の範囲外である個数を集計して欲しい。

この二つの要件に応じるには、二つのテクニックを使えば良いという事はすぐに思いついた。

1については、条件付き書式で容易に実現出来る。条件はセル範囲に対しても行えるし、複数のセル範囲にも行えるので活用すると便利だと思う。あくまでも見た目の操作になると思うので色を変えるとかフォントを変えるとか、入力値が基準内にあるのかどうかのチェックにはもってこいだった。ちなみに空白セルは0として扱われるらしく、ある値以上、ある値以下で条件づけると以下にマッチしてしまうので、ゼロにマッチした場合には見た目変化しない様にする条件を定義する必要があり、以上、以下、ゼロの三つを定義した。

課題は、値がある値以上、ある値以下をチェックしてその個数をカウントする方だ。どうやって実現しようかなと思って適当に関数名をCountと入力すると「COUNTIF」という関数がサジェストされてきた。加えて「COUNTIFS」という複数条件を定義出来るCOUNTIFも有る事を知ったのでこれは行けそうだなと思った次第。

具体的に例を挙げると、セルの値のチェックで、14以下、26以上を範囲外とする場合はCOUNTIFSでは思い通りに行かないというトラップにはまった。COUNTIFの複数条件対応版(高機能版)だと思っていたのだが、条件がアンド(and)になっているので、以上または以下というオア(or)条件には使えないという事に気づくまで少し苦戦した。

結局、下記の様な数式で、範囲外(以下、以上)の個数をカウント出来た。これはプログラマー適には当たり前なんだろうが、一般人には落とし穴なので将来の自分の為に記しておく。面倒くさいので以下、以上と表現しているが正確には「小なり<」、「大なり>」だ。以上、以下なら=<とか=>とかやらないといけないのであえて省略。

まず普通に一つだけ条件を満たすセルの数を数えるパターン

=countif(範囲,条件)
=countif(C1:N1,”<14″)

次に複数条件(and)を満たすセルの数を数えるパターン
範囲と条件がセットになっているので、同じ範囲でもその都度定義しなくてはならず冗長した感じは否めない。andなので条件に全て合致したものをカウントする点がポイント。下の例はand条件(以下であり以上であること)を満たせないので結果は0になるハズ。
※これは失敗例

=countifs(範囲,条件,範囲,条件)

=countifs(C1:N1,”<14″,C1:N1,”>26″)

今回試行錯誤した複数条件(or)を満たすセルの数を数えるパターン
単純に足し算すれば良いという事に気づいた時、物事をシンプルに考えることを考えさせられた。以下の結果と以上の結果の個数を足せば良いのだから。

=countif(範囲,条件)+countif(範囲,条件)

=countif(C1:N1,”<14″) + countif(C1:N1,”>26″)

数式に値を直に指定するのではなく、セルの値を参照したいのであれば下記の様な感じになって、ちょっといやな雰囲気になる。

=countif(C1:N1,”<“&A1) + countif(C1:N1,”>”&B1)

以上で目的は達成出来たのでよしとしよう。

結局最初にピンと来た、COUTIFSという高機能な関数は使わ(え)なかった。


Viewing all articles
Browse latest Browse all 22

Latest Images

Trending Articles





Latest Images