2016-08-09 4 views
0

Schrecklichen Titel, aber ich konnte keinen Weg finden, um zu beschreiben, was ich knapp zu tun versuche. Diese Frage wurde mir von einem Freund gestellt, und ich bin normalerweise kompetent in Excel, aber in diesem Fall bin ich total ratlos.Suche nach gewichteten Durchschnitt der partitionierten Spalten in Excel

Angenommen, ich habe die folgenden Daten:

| 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 |  | 

Spalte A repräsentiert die zurückgelegte Strecke, während die Messung in Spalte C wurde gesammelt. Spalte B repräsentiert die gesamte zurückgelegte Strecke. C1 repräsentiert also einen Wert, der während des Prozesses von 0 bis 0,5 erzeugt wird. B2 steht für den Wert von 0,5 bis 0,75 und B3 für 0,75 bis 1,75 usw.

Spalte F steht für eine GEPLANTE zweite Iteration des gleichen Prozesses, jedoch mit unterschiedlichen Messintervallen. Was ich brauche, ist eine Möglichkeit, die Spalte H zu PREDICTIEREN, basierend auf einem gewichteten Durchschnitt der Werte von Spalte C, basierend darauf, wo sich die Intervalle in Spalte F mit den Intervallen in Spalte A schneiden. Zum Beispiel, da F2 die Messung aus Entfernung 0,30 darstellt zu 0,70 (ein Intervall von 0,4, geteilt 50/50 über die Messungen in C1 und C2), wäre H2 gleich: C1 * 0,5 + C2 * 0,5: 1,5.

Ein anderes Beispiel: H3 repräsentiert die erwartete Messung aus einem Intervall zwischen 0.7 und 1.0, das zwischen C2 (von 0.7 bis 0.75 = 0.05) und C3 (von 0.75 bis 1.0 = 0.25) aufgeteilt ist. Also H3 = 16,6% * C2 + 83,3% * C3 = 0,332 + 6,664 = 6,996.

Ich suche nach einer Möglichkeit, dies in einem Excel-Arbeitsblatt zu tun, ohne VBA zu verwenden oder es in etwas wie ein Python-Skript zu zerlegen, extern zu bearbeiten, aber bis jetzt finde ich keine Möglichkeit, es zu tun.

Haben Sie Ideen, dies vollständig in Excel ohne spezielle Add-Ins/Scripts zu erreichen?

Antwort

0

Es ist nicht schön, aber ich denke, die folgende sollte für alle außer H1 arbeiten (was eine zusätzliche Null-Zeile müßte):

=(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))) 

Sie paßt die Werte in B und C und gewichtet sie entsprechend.

Verwandte Themen