Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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

Standardabweichung für sichtbare Spalten

Standardabweichung für sichtbare Spalten
07.07.2020 11:27:31
Frank
Hallo an Alle,
in Excel wird die Funktion TEILERGEBNIS zur Verfügung gestellt. Nun ist in der Hilfe zu lesen, dass das Ausblenden von Spalten keine Auswirkungen auf TEILERGEBNIS hat. Warum wird sowas nicht seitens Microsoft implementiert? Ich habe etwas recherchiert aus vorhandenen VBA Code eine Funktion STABW_HC geschrieben. Sie funktioniert soweit und berechnet mir die Standardabweichung für die sichtbaren Spalten.
Das einzige wo sie nicht funktioniert ist, wenn ich vom markierten Bereich die erste Spalte ausblende. Es könnte auch mal sein das ich die ersten zwei oder drei Spalten ausblende. Hat jemand eine Idee was ich am Code ändern müsste bzw. eventuell gibt es allgemein noch Verbesserungsvorschläge?
Vielen Dank und viele Grüße Frank.
Das ist der Code:

Sub Einblenden()
Worksheets(1).Columns(1).Hidden = False
Cells(1, 20).Value = 1
End Sub
Sub Ausblenden()
Worksheets(1).Columns(1).Hidden = True
Cells(1, 20).Value = 1
End Sub
Function STABW_HC(ByVal Markierte_Zellen As Range) As Double
'Standardabweichung Hidden Columns
Dim Zelle As Range
Dim Mittelwert As Double
Dim Mittelwert_ZE As Double
Dim Anzahl As Double
Dim Quadrat_i As Double
Application.Volatile
'die Function TEILERGEBNIS liefert nur bei Zeilen nicht aber bei Spalten ein Ergebnis
'berechne die Standardabweichung, wenn bestimmte Spalten ausgeblendet worden sind
'berechne zunächst den Mittelwert
For Each Zelle In Markierte_Zellen
If IsNumeric(Zelle) Then
If Zelle.EntireColumn.Hidden = False Then 'hier wird beim Ausblenden mit 2 begonnen, da  _
die erste Spalte ausgeblendet wurde
Anzahl = Anzahl + 1
Mittelwert_ZE = Mittelwert_ZE + Zelle
End If
Mittelwert = Mittelwert_ZE / Anzahl
End If
Next
'berechne die quadrierten Abstände zum Mittelwert
For Each Zelle In Markierte_Zellen
If IsNumeric(Zelle) Then
If Zelle.EntireColumn.Hidden = False Then
Quadrat_i = Quadrat_i + (Zelle - Mittelwert) ^ 2
End If
End If
Next
STABW_HC = (Quadrat_i / (Anzahl - 1)) ^ (1 / 2)
End Function



		

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Standardabweichung für sichtbare Spalten
07.07.2020 13:49:36
Rudi
Hallo,
so geht das:
Function STABW_HC(ByVal Markierte_Zellen As Range) As Double
'Standardabweichung Hidden Columns
Dim Zelle As Range
Dim Mittelwert As Double
Dim Mittelwert_ZE As Double
Dim Anzahl As Double
Dim Quadrat_i As Double
Application.Volatile
'die 

Function TEILERGEBNIS liefert nur bei Zeilen nicht aber bei Spalten ein Ergebnis
'berechne die Standardabweichung, wenn bestimmte Spalten ausgeblendet worden sind
'berechne zunächst den Mittelwert
For Each Zelle In Markierte_Zellen
If IsNumeric(Zelle) Then
If Zelle.EntireColumn.Hidden = False Then
Anzahl = Anzahl + 1
Mittelwert_ZE = Mittelwert_ZE + Zelle
End If
End If
Next
Mittelwert = Mittelwert_ZE / Anzahl
'berechne die quadrierten Abstände zum Mittelwert
For Each Zelle In Markierte_Zellen
If IsNumeric(Zelle) Then
If Zelle.EntireColumn.Hidden = False Then
Quadrat_i = Quadrat_i + (Zelle - Mittelwert) ^ 2
End If
End If
Next
STABW_HC = (Quadrat_i / (Anzahl - 1)) ^ (1 / 2)
End Function

Gruß
Rudi
Anzeige
AW: Standardabweichung für sichtbare Spalten
07.07.2020 19:58:11
Frank
Guten Abend Rudi,
vielen Dank für deine sehr hilfreiche Antwort bzw. das du dich meinem Problem angenommen hast :-). Nun funktioniert die Formel bzw. der Code wie er soll Dank deiner Hilfe. Ich hoffe das die Funktion auch für dich hilfreich ist. Ist der Code denn noch optimierbar?
Ich wünsche dir einen erholsamen Abend.
Vielen Dank und viele Grüße
Frank
Formel à la "TEILERGEBNIS für Spalten" A3:E3
10.07.2020 22:18:22
lupo1
Blendet man eine Spalte aus, dann klappt über B.V() - nach einem Worksheet_Change-gleichen Ereignis, also dem Ändern eines Zellinhalts -:
=SUMME(ZELLE("breite";BEREICH.VERSCHIEBEN(A3;;SPALTE(A3:E3)-1))) ggflls als {}-Formel
wo sonst nur 1 Zelle auswertbar ist:
=ZELLE("breite";A3)
Zur Thread-Frage:
=STABW(WENN(ZELLE("breite";BEREICH.VERSCHIEBEN(A3;;SPALTE(A3:E3)-1));A3:E3)) ggflls als {}-Formel
Anzeige
AW: Standardabweichung für sichtbare Spalten
10.07.2020 22:42:42
Daniel
Hi
Gehört "Mittelwert = Mittelwert_ZE / Anzahl" nicht in den If-Block drüber, also vor das End If, damit es nur ausgeführt wird, wenn eine sichtbare Spalte vorliegt, dann ist Anzahl auch sicher mindesten 1 ?
Gruß Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige