Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1792to1796
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

varianz in großer Liste ermitteln

varianz in großer Liste ermitteln
26.11.2020 02:29:30
VBAnoob98
Hallo liebes Forum,
ich bin neu hier als Mitglied, habe jedoch schon öfters qualitative Antworten hier aus dem Forum bekommen mithilfe der Suchmaschine Google.
Vorab tut es mir leid für die nächtliche Ruhestörung hier im Forum, aber ein Problem an dem ich mir die Zähne ausbeiße lässt mich nicht in ruh zu Bett gehen..
Mein Anliegen an euch bzw. mein Problem ist, dass ich für meine Abschlussarbeit Daten aus einer Liste ermitteln muss um den Varianzkoeffizienten von verschiedenen Artikel zu bestimmen.
An sich gar kein Problem, mithilfe z.B.: der Formel =WURZEL(VARIANZEN(Zelle1:Zelle10))/MITTELWERT(Zelle1:Zelle10)*100 lässt sich das ganze ermitteln.
Das Problem hierbei ist dass die Originaltabelle, mehrere 10.000 Zeilen lang ist und mehrere 1000 verschiedene Artikel drin sind. Händisch die Daten zu ermitteln würde Tage dauern, die Zeit aber besitze ich leider nicht... Mit normalem Excel komme ich da leider nicht weiter (wenn ich mich täusche, bitte korrigieren), weswegen ich dachte man "muss bestimmt vba" einsetzen dafür.
Ich habe mal eine Beispiel-Datei eingefügt. In den rot hinterlegten Zellen soll immer der Varianzkoeffizient ermittelt werden aus den darüberliegenden Mengen des jeweiligen Artikels. Der Aufbau der Liste ist immer gleich: es folgen eine Anzahl X des Artikel Y mit seinen Mengen dann kommt eine Leerzeile in der ich gerne den Varianzkoeffizienten bestimmen möchte unter den Mengen. Dann folgt der nächste Artikel Y mit dem selben Aufbau. Das Problem ist die Anzahl X von den Artikeln in der Liste ist nicht immer die selbe, das heißt Artikel 1 ist z.b 16 mal aufgelistet. und Artikel 2 lediglich 4 mal. Artikel 3 wiederum z.B. nur 3 mal gelistet ist. Es würde Sinn machen "wenn VBA das realisieren kann", dann auf einem extra Blatt aufzulisten untereinander die Ergebnisse sprich:
Spalte1 Spalte 2
Artikel Varianzkoeffizient
1 74
2 97
3 71
4 0
... ...
https://www.herber.de/bbs/user/141847.xlsx
Ich hoffe das war halbwegs verständlich erklärt und die Beispieldatei im Anhang hilft mein Dilemma zu verstehen. Leider ist mein VBA Level so beschränkt das ich lediglich weiß wie man den Makrorecorder benutzt oder 1:1 vbacode einfügt.
Kann mir jemand bei diesem Problem weiterhelfen? Bin euch mega dankbar für jede Hilfe.
Ich bedanke mich schonmal recht herzlichst, dass ihr euch diesen Beitrag durchgelesen :)
Mit freundlichen Grüßen

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: varianz in großer Liste ermitteln
26.11.2020 08:16:23
worti
Hallo,
hier ein Makro, das dir das Gewünschte macht:
Sub VarianzenKoeffizienten()
Dim lngZeile As Long
Dim lngZeileAus As Long
Dim lngzeileAktuellerArtikel As Long
Dim ws1 As Worksheet, ws2 As Worksheet
lngzeileAktuellerArtikel = 2
Set ws1 = Worksheets("Tabelle1")
Set ws2 = Worksheets("Tabelle2")
lngZeileAus = 2
For lngZeile = 2 To ws1.Cells(Rows.Count, 4).End(xlUp).Row
If Not ws1.Cells(lngZeile, 4).Value = ws1.Cells(lngZeile + 2, 4).Value Then
ws2.Cells(lngZeileAus, 1).Value = ws1.Cells(lngzeileAktuellerArtikel, 4).Value
ws2.Cells(lngZeileAus, 2).FormulaLocal = "=WURZEL(VARIANZEN(Tabelle1!O" &  _
lngzeileAktuellerArtikel & ":O" & lngZeile & "))" _
& "/MITTELWERT(Tabelle1!O" &  _
lngzeileAktuellerArtikel & ":O" & lngZeile & ")*100"
lngzeileAktuellerArtikel = lngZeile + 2
lngZeile = lngZeile + 1
lngZeileAus = lngZeileAus + 1
End If
Next lngZeile
Set ws1 = Nothing
Set ws2 = Nothing
End Sub
Gruß Worti
Anzeige
AW: varianz in großer Liste ermitteln
26.11.2020 18:15:27
VBAnoob98
Hallo worti,
vielen lieben Dank für deine super schnelle antwort.
Ich habe mal deinen VBA Code in die Beispieldatei eingefügt, im VBA-Editor unter "Tabelle1". Beim Ausführen sagt er mir jedoch "Index des außerhalb des gültigen Bereichs".
Weißt du was ich falsch mache? Habe alternativ probiert es in "diese Arbeitsmappe" einzufügen undauszuführen, jedoch mit dem selben Ergebnis.
Für jeden Anstoß bin ich dankbar.
Gruß
vbanoob98
AW: varianz in großer Liste ermitteln
27.11.2020 16:15:10
worti
Hallo vbaNoop98,
wie heißen den deine Arbeitsblätter?
Gruß Worti
AW: varianz in großer Liste ermitteln
27.11.2020 19:03:30
VBAnoob98
Hallo Worti,
dank deiner Frage habe ich meinen Fehler erkannt...
Da bei der Mappe noch gar keine "Tabelle2" vorhanden ist, kann natürlich auch keine "Tabelle2" gefunden werden für das Makro.
Hab es nun endlich ausprobiert und es funktioniert wunderbar.
Ich danke dir! Du hast mir eine Menge Zeit erspart! :)
Gruß
vbanoob98
Anzeige
AW: varianz in großer Liste ermitteln
01.12.2020 14:44:32
VBAnoob98
Hallo worti,
vielleicht kannst du mir nochmal helfen. Und zwar bräuchte ich die Auflistung nochmal, nur dass ich zusätzlich die Summe der Mengen pro Artikel haben möchte.
Ich hab gedacht "naja ich probier den VBA-Code zu ändern, in dem ich an der stelle =WURTEL(VARIANZEN(..) es anpasse auf =SUMME(...)".
Leider ohne Erfolg.. könntest du mir bitte verraten wie ich das umschreiben müsste?
Vielen Dank. :)
Gruß vbanoob98
AW: varianz in großer Liste ermitteln
01.12.2020 14:59:09
VBAnoob98
Hallo worti,
manchmal sollte ich vielleicht doch nochmal 5 Minuten länger überlegen und durchatmen bevor ich Frage..
Ich habe es jetzt hinbekommen.
Ich entschuldige mich für die Störung und danke trotzdem vielmals.
Gruß
vbanoob98
Anzeige
AW: Pivot
26.11.2020 18:27:14
VBAnoob98
Hallo Fennek,
auch dir danke ich für deine schnelle Hilfe.
Ich habe mir mal dein Vorschlag angesehen, verstehe aber leider gerade nicht ganz, wieso du und ich bei der Berechnung verschiedene Ergebnisse erhalten.
Mit freundlichen Grüßen
vbanoob98

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige