2010年5月8日土曜日

第145回目 加重平均計算式の作成

○第145回目 加重平均計算式の作成

 あちこちに散らばっている件数、値(平均値)の加重平均をとりたいというニーズがあります。
 通常の操作では、値×件数をどんどん足していって、最後に括弧でくくり、合計の件数でわる、ということになります。分母の件数も足していく必要があります。
 散らばり度合いが大きいと面倒くさくなってしまいますね。また、分母の件数をもう一度指定しなければならないというのも、面倒さが増します。
 このような計算式を手軽に作ろうという発想です。
 手順
 0.計算式を作りたいセルにおいてマクロを実行します
 1.第一の組の場所にいって、値と件数を指定します。指定は値と件数という順番にします。
 2.次の場所にいって、同様に指定します。これを必要だけ繰り返します。最大組数は6組としました。
 3.指定終了の場合は、加重平均の計算式を作り、最初のセルに入れます。
 これはこれまでの、マクロをベースにすれば簡単です。

 機能をもう少し明確にしましょう。
 1.別のシートでのセルを指定できるようにします。(余裕があれば別ブックまで拡張してください)
 2.計算結果は、四捨五入して、端数は指定できるようにします。
 3.別シートに飛ぶ場合は、今のシートのセルと同じ場所に飛ぶか、それとも、単純に飛ぶかの指定ができます。
 4.同一の組の値と件数は、同じ一シートにあるものとします。

 注意点としては、
 1.各組ごとにシート名を取得しますが、計算式のあるセルと同じシートの場合は、シート名はなくすこと。
 2.取得したセル座標から$をとる。(これを基にコピーする時に、$は邪魔になります)
 3.デバック中は、計算式に何かの記号をつけて文字化しておいてください。
 4.理由はよくわからないのですが、シート名を'で囲むことが必要な場合があり混乱しました。
  計算式を、keisansikiに入れて、
 Range(AAA1) = keisansikiとすると、シート名を'で囲まなくても大丈夫です。
 Range(AAA1).Formula = keisansikiとすると、シート名に工夫(ある場合に限り、'で囲む)が必要です。

 このマクロは、使用するセルが、どのシートでも同じ場所にあるときは非常に便利です。

0 件のコメント: