2016-08-09 11 views
0

恐ろしいタイトルですが、私が何を簡潔に記述しようとしているかを説明する方法が見つかりませんでした。この質問は友人によって私にもたらされました。私は通常Excelで有能ですが、この場合、私は完全に困惑しています。Excelでパーティション化された列の加重平均を作成する場合

Iは、次のデータがあると:

| A | B | C | D | E | F | G | H | 
--------------------------------------------------------------------- 
1 | 0.50 | 0.50 | 1 |  |  | 0.30 | 0.30 |  | 
2 | 0.25 | 0.75 | 2 |  |  | 0.40 | 0.70 |  | 
3 | 1.00 | 1.75 | 8 |  |  | 0.30 | 1.00 |  | 
4 | 0.75 | 2.50 | 2 |  |  | 0.50 | 1.50 |  | 
5 | 1.25 | 3.75 | 3 |  |  | 1.75 | 3.25 |  | 
6 | 0.50 | 4.25 | 1 |  |  | 0.25 | 3.50 |  | 
7 | 1.00 | 5.25 | 0 |  |  | 0.50 | 4.00 |  | 
8 | 0.25 | 5.50 | 2 |  |  | 0.30 | 4.30 |  | 
9 | 0.25 | 5.75 | 9 |  |  | 0.25 | 4.55 |  | 
10 | 0.75 | 6.50 | 4 |  |  | 0.70 | 5.25 |  | 
11 |  |  |  |  |  | 1.00 | 6.25 |  | 
12 |  |  |  |  |  | 0.25 | 0.25 |  | 

列A列Cにおける測定を収集しながら走行距離を表します。列Bはこれまでに移動した総距離を表します。したがって、C1は、距離0から0.5までのプロセス中に生成されるいくつかの値を表します。

列F ...等、B2は距離0.5から0.75までの値を表し、そしてB3は0.75から1.75までの値を表す異なる測定間隔で、同じプロセス予定第2の反復を表しています。私が必要とするのは、列Fの間隔が列Aの間隔と交差する場所に基づいて、列Cの値の重み付けされた平均値に基づいて列HをPREDICTする方法です。例えば、F2は距離0.30 0.70(0.4の間隔、C1とC2の測定値に渡って50/50に分割)の場合、H2はC1 * 0.5 + C2 * 0.5:1.5に等しくなります。別の例:H3は、C2(0.7~0.75 = 0.05)とC3(0.75~1.0 = 0.25)との間で分割された0.7~1.0の間隔から期待される測定値を表す。したがって、H3 = 16.6%* C2 + 83.3%* C3 = 0.332 + 6.664 = 6.996。

VBAを使わないでExcelスプレッドシートでこれを行う方法や、Pythonスクリプトのようなものに分割して外部から処理する方法を探していますが、これまで何もできません。

特別なアドイン/スクリプトをインストールしなくても、Excel内でこれを完全に達成するためのアイデアはありますか?

答えて

0

それはきれいではありませんが、私は次のように(追加ゼロ行が必要になります)H1以外のすべてのために働くべきだと思う:

=(MAX(0,INDEX(B:B,MATCH(G2,B:B,1))-G1)*INDEX(C:C,MATCH(G2,B:B,1)) + 
    (G2-INDEX(B:B,MATCH(G2,B:B,1)))*INDEX(C:C,MATCH(G2,B:B,1)+1))/
    MAX(G2-G1,G2-INDEX(B:B,MATCH(G2,B:B,1))) 

それはBとCの値に応じた重みそれらを一致します。

関連する問題