2010年5月23日日曜日

第146回目 加重平均計算式からの応用

○第146回目 加重平均計算式からの応用

 前回で「加重平均の計算式」を作りました。それを使っていたのですが、あとで件数の合計はどうなっているのかを知る必要が出てきました。どうしたらスムーズにつくれるのか。
 これがテーマとなります。
 簡単なのは、計算式を移植して、そこから分母だけ取り出してしまうというものです。一個作ればあとはコピーで複製できます。

 もともと、加重平均の計算式を作る際に、合計の件数もセルに入れておくんじゃないの?
=⇒それもそのとおりですね。加重平均値の計算式を入れたあとで、分母を入れる場所を指定して、そこに合計の件数の計算式を入れるということを、今のマクロに追加しましょう。
 これは、これまでのものの簡単な機能アップですので、皆さんでやってください。
 合計の件数(分母の値)を求めるかをきいて、求める場合はそのセルを指定するということでいいのではないでしょうか。

 さて、ここでは、ある計算式から、分母を取り出すことを考えてみます。
 当然、割り算があるということが前提です。
 通常は、/の直後の()の内部が求めるものではないでしょうか。
=⇒/が複数あったらどうするか=⇒一番後ろにあるもののみ対象とする。
=⇒/の直後に(がなかったらどうするか=⇒その後の,(カンマ)の直前までとする。カンマもなければ処理しない。
 という前提条件にしてしまい、100%ではない簡単なマクロとしましょう。
 
 これの応用としては、#DIV/0!回避のマクロが考えられます。分母がゼロにもかかわらず、割算をしてしまったというものです。計算式から分母を取り出して、if文を作り、ゼロで割ることを回避するものです。
 イメージとしては、
 =B11/B12 =⇒ =IF(B12<> 0,B11/B12,0) とするものです。
 このケースもよくあります。計算式を修正するのが面倒くさいので、結構最後までも残ってしまいます(当然手持ち資料ベース)。
 
 もう一つ。
 
 前の回に戻るのですが、値と件数の位置関係がまったく同じという場合は、二組以降は値のみの指定でよくなりますね。このように操作を簡素化したものを作るのもいいかもしれません。
 多くの場合は、二つの項目の位置関係が同じだと言えるのではないでしょうか。
 これは、一般的な場合は適用できないので、非一般系、又は、特殊系の加重平均という名をつけてもいいでしょう。
 (特殊相対性理論…加速度を考慮しない特殊な場合の理論。加速度を考慮したものは一般相対性理論となる。これから"特殊系"と名づけてみました)

0 件のコメント: