2017-07-04 1 views
1

Ich habe eine Reihe von gepaarten Messungen (zwei für jede Probe). Ich muss den Mittelwert für jedes Paar und dann das allgemeine Mittel basierend auf diesen paarweise gemittelten Werten berechnen, aber ich kann nur jene paarweisen Mittel einschließen, die einen bestimmten Schwellenwert nicht überschreiten.Überspringe bestimmte berechnete Werte (nicht Zellen selbst) in einer AVERAGE oder STDEV Excel-Formel basierend auf einem Kriterium

Ich versuche, eine Excel-Formel für den allgemeinen Mittelwert zu erarbeiten, die alle der oben genannten berücksichtigt, ohne zusätzliche Zeilen/Spalten zu erstellen.

nun die Formel

=AVERAGE(IF(ABS(A1-A2)<$C$1,AVERAGE(A1,A2)),IF(ABS(A7-A8)<$C$1,AVERAGE(A7,A8)), ...) 

... macht den Job nicht, weil sie mit Nullen diese paarweise Mittel ersetzt, die den Schwellenwert (Wert von $ C $ 1) nicht überschreiten, während sie müssen nur sein übersprungen. "AVERAGEIF" funktioniert nicht, da es nicht zusammenhängende Bereiche akzeptiert (zumindest wenn sie als solche eingegeben werden). Die Verwendung von "INDIREKT" zum Erstellen nicht zusammenhängender Bereiche hilft auch nicht, da Formeln nicht akzeptiert werden . Jede Hilfe wird geschätzt.

+0

Es ist nichts falsch mit Helfer Spalten verwenden. In der Tat ist 9 mal von 10 die Leistung viel besser. Außerdem wird Ihre Tabelle einfacher zu verstehen. – jkpieterse

Antwort

0

Wenn Sie hier keine Hilfssäule verwenden, sieht die Formel hässlich aus, aber Sie erhalten das gewünschte Ergebnis. Probieren Sie es aus.

=AVERAGE(IF(CHOOSE({1;2;3},A1-A2,A4-A5,A7-A8)<C1,CHOOSE({1;2;3},AVERAGE(A1,A2),AVERAGE(A4,A5),AVERAGE(A7,A8)))) 

Dies ist eine Matrixformel es so begehen, indem Ctrl + Umschalt + Enter.

Siehe Bild, um den Unterschied im Ergebnis von oben genannten Formel und Formel in Frage zu sehen, die falsches Ergebnis liefert, wie Sie erwähnt haben.

enter image description here

+0

Vielen Dank. Eine nützliche Erinnerung an die Funktion wählen – prishly

0

Dies ist, wo Excel eine geheimnisvolle Verhalten hat, denke ich.

Mein erster Gedanke war jede if-Anweisung return „“ zu machen, wenn die Bedingung nicht erfüllt

=AVERAGE(IF(ABS(A1-A2)<$C$1,AVERAGE(A1,A2),""),IF(ABS(A7-A8)<$C$1,AVERAGE(A7,A8),"")) 

aber das gibt Ihnen nur einen Fehler.

Wenn Sie jedoch einen Verweis auf eine leere Zelle machen zurückkehren (sagen B1), es funktioniert

=AVERAGE(IF(ABS(A1-A2)<$C$1,AVERAGE(A1,A2),$B$1),IF(ABS(A7-A8)<$C$1,AVERAGE(A7,A8),$B$1)) 

enter image description here

+0

Dank einer Last. Sehr elegant in der Tat. Ich war mit der leeren Schnur fest ... – prishly

+0

Gern geschehen! Könnte klug sein, eine Validierungsregel für diese Zelle (B1) zu setzen, damit nichts versehentlich hineingesteckt wird ;-) –

Verwandte Themen