Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Stab.N vs. StDev_P

Stab.N vs. StDev_P
30.03.2023 14:21:52
Frank

Hallo an Alle,

ich habe 9 Werte von denen ich die Standardabweichung mit der Formel Stab.N berechnen möchte. In der Hilfe ist zu lesen, dass leere Zellen ignoriert werden.
Ich habe diese Zahlen in einem Array stehen. In meinem aktuellen Fall ist das Feld 8 und 9 leer. Berechne ich die SA in Excel erhalte ich die korrekte Zahl. Nutze ich StDev_P mit VBA dann erhalte ich eine Standardabweichung, so als wäre 8 und 9 mit Null belegt.

Hat sich schon mal jemand mit diesem Problem befasst?

Vielen Dank und schöne Grüße
Frank

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Stab.N vs. StDev_P
30.03.2023 14:54:06
Yal
Hallo Frank,

funktioniert wiederum, wenn Du den Bereich als Excel-Range übergibst:
Sub t()
    With Worksheets(1)
        .Cells(6, 8).Value = WorksheetFunction.StDev_P(.Range("A2:I2"))
    End With
End Sub
Aber auch wenn Du den Array als solche übergibst, anstatt seine Einzelelemente:
        .Cells(6, 8).Value = WorksheetFunction.StDev_P(Arr)
VG
Yal


Anzeige
AW: Stab.N vs. StDev_P
30.03.2023 15:05:50
Daniel
Hi
das Problem ist, dass du in deinem Makro die Funktion nicht mit Massendaten, sondern mit Einzelwerten fütterst.
Bei Einzelwerten macht Excel eine Typkkonvertierung, dh wenn Zahlen benötigt werden aber Texte oder Leerzellen geliefert werden, dann wird Excel bei Einzelwerten versuchen, diese in eine Zahl zu konvertieren dabei wird "1" zu 1 und Leer zu 0, was dann in deine Rechnung mit eingeht.
Anders sieht es aus, wenn du die Funtion mit Massendaten befüllst.
Bei Massendaten spart sich Excel den Aufwand der Typkonvertierung und ignoriert unpassende Werte wie Leerzellen oder Text.
also einfach

Worksheets(1).Cells(6, 8).Value = Application.WorksheetFunction.StDev_P(Arr)
dann bekommst du wieder den richtigen Wert


Anzeige
AW: Stab.N vs. StDev_P
30.03.2023 15:18:14
Frank
Vielen Dank an Yal und Daniel für die ausführliche Antwort.
Vor allem die Erläuterung zu der Typenkonvertierung war mir nicht bekannt. Da mein Array in VBA länger ist, habe ich die Werte von 1 - 9 einzeln übergeben. Ich mache jetzt ein TempArray und übergebe dann die 9 Zahlen und anschließend das gesamte TempArray an die Function. Das müsste ja gemäß Daniels Ausführungen dann möglich sein und leere Bereiche werden ignoriert.

Vielen Dank und viele Grüße
Frank

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige