Durchschnitt berechnen, aber ohne die zahl "null"

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox


Excel-Version: 8.0 (Office 97)
nach unten

Betrifft: Durchschnitt berechnen, aber ohne die zahl "null"
von: Marc
Geschrieben am: 15.07.2002 - 09:57:00

Leider habe ich bis jetzt keine möglichkeit gefunden,
so eine formel funktionsfähig zu machen.

Die Tabelle enthält mehrere Ortschaften, mit den entsprechenden werten,
die Zahlen stehen für eine Umfrage.

Beispiel:

Basel 6 1
Zürich 0 5
Basel 2 0
Genf 3 1

Nun sollte von diesen Zahlen der durchschnitt berechnet werden,
ohne die null, da sonst das ergebnis nach unten "korrigiert" wird.

Die Tabelle sollte in ihrer Form nicht verändert werden,
die "nullen" könen aber schon kurzfristig gelöscht werden,
sollten aber wieder eingesetzt werden.

Sverweis scheidet aus da die Ortschaften mehrmals vorkommen.
Ich habe lange mit formeln wie if , average
rumprobiert, aber es hat nie funktioniert.

Dann wollte ich das in VBA machen,
aber da das File beim User liegt und ich es auch nicht
haben kann, muss es (sollte) ohne VBA auskommen.


Ich bin für jeden noch so kleinen Tipp Dankbar!

Gruss
Marc

nach oben   nach unten

Re: Durchschnitt berechnen, aber ohne die zahl "null"
von: sam
Geschrieben am: 15.07.2002 - 10:10:43

Hi,

hier gibts wahrscheinlich viele möglichkeiten. Eine davon ist folgende:

{=SUMME(B1:B4)/ANZAHL(WENN(B1:B4=0;"";B1:B4))}

Du gibts die Formel ohne {} ein. Beim Abschließen der Formel nicht die EINGABE-Taste sondern [STRG]+[UMSCHALT]+[EINGABE] drücken. Damit erhälst du einen Array-Funktion.

Viel Spaß,
Sam

nach oben   nach unten

Re: Durchschnitt berechnen, aber ohne die zahl "null"
von: Dan
Geschrieben am: 15.07.2002 - 12:00:42

Hello Marc,
Sam hat dir schon geholfen, trotzdem schicke ich dir ein VBA macro-function, das das selbe macht :
---------------------------------------------------------------
Option Explicit

Public Function AVGWithoutZero(rng As Range)
On Error GoTo ErrorTrap
Dim rgeInputRange As Range
Dim rgeCell As Range
Dim dblSuma As Double
Dim lngCounter As Long
Dim dblAVG As Double

Set rgeInputRange = rng

For Each rgeCell In rgeInputRange.Cells
If IsNumeric(rgeCell.Value) And rgeCell.Value <> 0 Then
dblSuma = dblSuma + rgeCell.Value
lngCounter = lngCounter + 1
End If
Next rgeCell

AVGWithoutZero = dblSuma / lngCounter

Exit Function

ErrorTrap:
MsgBox "Error number : " & Err.Number & " ,error description : " & Err.Description

End Function

----------------------------------------------------------------
... kopieren in einen gewohlichen modul, save, und dann ist die function zuganglich wie jede andere. Ich grusse Dich, Dan

nach oben   nach unten

Re: Durchschnitt berechnen, aber ohne die zahl "null"
von: Marc
Geschrieben am: 15.07.2002 - 12:46:26

Ich Danke Euch für die Antworten
und bin überrascht dass so schnell jemand geantwortet hat,
ich sehe wieder mal dass ich im Excel alles verkompliziere! :)

Die Funktion [CTRL]+[SHIFT]+[ENTER] habe ich bis anhin nicht gekannt, ich werde das noch ein bisschen anschauen.

DANKE

Gruss
Marc

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "Wenn Worksheets nicht existiert"