希望在Excel中创建分区列的加权平均值

时间:2016-08-09 20:46:28

标签: excel-formula

可怕的头衔,但我无法找到一种方式来描述我想简明扼要地做些什么。这个问题是由朋友提出来的,我通常在Excel中胜任,但在这种情况下,我完全被难倒了。

假设我有以下数据:

    |   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的过程中产生的一些值。 B2表示距离0.5到0.75的值,B3表示0.75到1.75的值等...

列F表示同一过程的PLANNED第二次迭代,但具有不同的测量间隔。基于F列中的间隔与A列中的间隔相交的位置,基于C列的加权平均值,我需要的是PREDICT列H的方法。例如,因为F2表示从距离0.30获取的测量值。到0.70(间隔为0.4,在C1和C2的测量中分成50/50),H2将等于:C1 * 0.5 + C2 * 0.5:1.5。

另一个例子:H3表示从0.7到1.0之间的间隔的预期测量值,其在C2(从0.7到0.75 = 0.05)和C3(从0.75到1.0 = 0.25)之间分开。因此H3 = 16.6%* C2 + 83.3%* C3 = 0.332 + 6.664 = 6.996。

我正在寻找一种方法在Excel电子表格中执行此操作而不使用VBA或将其分解为类似Python脚本以进行外部处理,但到目前为止我还没有找到任何方法它

在没有安装任何特殊加载项/脚本的情况下完全在Excel中完成此操作的任何想法?

1 个答案:

答案 0 :(得分: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中的值并相应地加权。