16.07.2015, 13:56 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2015, 14:07 von dindu.)
Hallo zusammen, ich habe eine Arbeitsroutine die mir viel Zeit kostet , ich suche eine Formel / Makro der mir dabei hilft.
Ich hoffe ich werde es hinbekommen mit der Erklärung ! ich habe in der angehängten Datei einen Screenshot gemacht es erklärt mit Zeile und Spalten was das Vorhaben ist .
DEN DURCHNITTSWERT ERRECHNEN:
SPALTE "A " GLEICHE WERT FINDEN -- DURCHNITT (B8:B9) ERRECHNEN DANN " NACH RECHTS ZIEHEN UM DEN DURCHNITT FÜR DIE 3 ZEILEN ZU HABEN DANACH KOPIEREN NACH ( B8:C8:C9 ) ZIEL IST DANN NUR EINE ZEILE ZU LASSEN MIT EINEM WERT ANDERE ZEILEN LÖSCHEN
darf's auch was mit Formeln sein?
Hier mal das Prinzip. Mit der Funktion TEILERGEBNIS kannst Du auch Mittelwerte berechnen. Du filterst die Datenspalten, TEILERGENIS bringt Dir die Mittelwerte, und dann kopierst Du die Daten z.B. auf ein anderes Blat.
Wenn es um viele Daten geht, könnte man das per VBA auf die gleiche Art und Weise lösen. Code für eine Zahl aufzeichnen, eine Schleife und noch ein paar Zeilen drumherum programmieren. Bei Wenigen Daten ist das manuell auch fix "gefiltert"...
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
darf's auch was mit Formeln sein?
Hier mal das Prinzip. Mit der Funktion TEILERGEBNIS kannst Du auch Mittelwerte berechnen. Du filterst die Datenspalten, TEILERGENIS bringt Dir die Mittelwerte, und dann kopierst Du die Daten z.B. auf ein anderes Blat.
Wenn es um viele Daten geht, könnte man das per VBA auf die gleiche Art und Weise lösen. Code für eine Zahl aufzeichnen, eine Schleife und noch ein paar Zeilen drumherum programmieren. Bei Wenigen Daten ist das manuell auch fix "gefiltert"...
Hi Schauan, natürlich darf es auch mit formeln sein, es sind nicht viele daten maximum ca. 200 zeilen
16.07.2015, 21:08 (Dieser Beitrag wurde zuletzt bearbeitet: 16.07.2015, 21:09 von schauan.)
Hallöchen,
so könnte das mit dem Filtern aussehen. Du musst nur vor dem Filtern die kompletten Spalten A:D markieren. In Deiner Datei wurde nur der obere Bereich bis zur ersten Leerzeile gefiltert.
Die Ergebnisse in E:H kopierst Du irgendwo hin. Wenn Du alle Zahlen durch hast, kannst Du die Daten in A:D löschen und dann die Ergebnisse dort hin übertragen.
Man könnte aber auch statt der Filterlösung den Bereich E:H per Formel füllen. Die Daten aus Spalte A kann man per Formel ohne Duplikate in Spalte E eintragen und anschliessend die zugehörigen Mittelwerte berechnen. Das wird aber bei mir heute nichts mehr, eventuell schiebt Edgar die entsprechende Lösung nach. Ich könnte mir dann morgen Abend noch was mit VBA einfallen lassen ;-) wenn bis dahin nicht auch schon jemand schneller war.
16.07.2015, 21:30 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2015, 13:01 von Rabe.
Bearbeitungsgrund: Zitat korrigiert.
)
(16.07.2015, 21:08)schauan schrieb: so könnte das mit dem Filtern aussehen. Du musst nur vor dem Filtern die kompletten Spalten A:D markieren. In Deiner Datei wurde nur der obere Bereich bis zur ersten Leerzeile gefiltert.
Die Ergebnisse in E:H kopierst Du irgendwo hin. Wenn Du alle Zahlen durch hast, kannst Du die Daten in A:D löschen und dann die Ergebnisse dort hin übertragen.
Man könnte aber auch statt der Filterlösung den Bereich E:H per Formel füllen. Die Daten aus Spalte A kann man per Formel ohne Duplikate in Spalte E eintragen und anschliessend die zugehörigen Mittelwerte berechnen. Das wird aber bei mir heute nichts mehr, eventuell schiebt Edgar die entsprechende Lösung nach. Ich könnte mir dann morgen Abend noch was mit VBA einfallen lassen wenn bis dahin nicht auch schon jemand schneller war.
Hallo Schauan, danke für die ausführliche erkläung, ich habe das erste Teil wie Du es beschrieben hast probiert , das ergebnis ist nicht korrekt, sicher es liegt an meiner Unerfahrenheit mit Excel.(Die Daten aus Spalte A kann man per Formel ohne Duplikate in Spalte E eintragen und anschliessend die zugehörigen Mittelwerte berechnen) es hört sich gut an klar ich werde warten bis Du bischen Zeit hast , es wäre super wenn du ein Beispiel in meiner angehängter Datei einträgst , rest werde ich dann für den restlichen Zeilen machen, vielen Dank
Sub Mittelwert()
Dim loa As Long
Dim loB As Long
Dim loC As Long
Dim loLetzte As Long
Application.ScreenUpdating = False
loC = 2
loLetzte = Cells(Rows.Count, 1).End(xlUp).Row
For loa = 2 To loLetzte
If Cells(loa - 1, 1) <> Cells(loa, 1) Then
Cells(loC, 6) = Cells(loa, 1)
For loB = 7 To 9
Cells(loC, loB) = Application.WorksheetFunction.AverageIf(Range("A2:A" & loLetzte), Cells(loa, 1), Range("B2:B" & loLetzte))
Next
loC = loC + 1
End If
Next
Range("A1:D1").Copy Range("F1")
Columns("A:E").Delete
Application.ScreenUpdating = True
End Sub
Gruß
Edgar
Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Folgende(r) 1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag:1 Nutzer sagt Danke an BoskoBiati für diesen Beitrag 28 • dindu
17.07.2015, 11:07 (Dieser Beitrag wurde zuletzt bearbeitet: 20.07.2015, 13:04 von Rabe.
Bearbeitungsgrund: Zitat korrigiert
)
(17.07.2015, 08:16)BoskoBiati schrieb: 1. Leerzeilen löschen.
2. Spalte A Filtern ohne Duplikate nach F2
3. Formel in G2 eintragen und nach rechts und unten ziehen:
Hallo BoskoBiati, vielen Dank, es funktionniert einwandfrei super , ich wünsche euch allen ein schönes Wochenende.[/code]