Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Durschnitt errechnen danach die zeilen löschen
#1
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


Angehängte Dateien Thumbnail(s)
   

.xlsx   DURCHNITT ZEILEN LÖSCHEN.xlsx (Größe: 117,22 KB / Downloads: 12)
Antwortento top
#2
Hallöchen,

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-2016)
Antwortento top
#3
(16.07.2015, 15:08)schauan schrieb: Hallöchen,

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
Antwortento top
#4
Hallo, 

Formeln brauchen aber separate Zellen!
Gruß

Edgar

Meine Antworten sind freiwillig und ohne Gewähr!
Über Rückmeldungen würde ich mich freuen.
Antwortento top
#5
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.



Arbeitsblatt mit dem Namen 'Sheet1'
 ABCDEFGH
1GD% W% D% L-538,33333327,7777863,88889
2-538,33333327,7777863,88889    

ZelleFormel
E1=TEILERGEBNIS(4;A:A)
F1=TEILERGEBNIS(1;B:B)
G1=TEILERGEBNIS(1;C:C)
H1=TEILERGEBNIS(1;D:D)
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • dindu
Antwortento top
#6
(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 Wink 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
Antwortento top
#7
Hallo,

1. Leerzeilen löschen.
2. Spalte A Filtern ohne Duplikate nach F2
3. Formel in G2 eintragen und nach rechts und unten ziehen:

Arbeitsblatt mit dem Namen 'Sheet1'
 ABCDEFGHI
1GD% W% D% L     
2-538,33333327,7777863,88889 -538,3333327,7777863,88889
3-515,5555562569,44444 -515,5555625,0000069,44444
4-5011,111112563,88889 -5011,1111125,0000063,88889
5-4313,8888922,2222263,88889 -4313,8888922,2222263,88889
6-4219,4444422,2222258,33333 -4219,4444422,2222258,33333
7-4127,777782547,22222 -4127,7777825,0000047,22222
8-3426,3888912,561,11111 -348,3333327,7777863,88889
9-3327,7777816,6666755,55556 -3327,7777816,6666755,55556
10-3222,222222552,77778 -3226,3888918,0555655,55556
11-3230,5555611,1111158,33333 -3120,8333326,3888952,77778
12-3116,6666730,5555652,77778 -2920,8333330,5555648,61111

ZelleFormel
G2=MITTELWERTWENN($A:$A;$F2;B:B)
H2=MITTELWERTWENN($A:$A;$F2;C:C)
I2=MITTELWERTWENN($A:$A;$F2;D:D)
Diese Tabelle wurde mit Tab2Html (v2.4.1) erstellt. ©Gerd alias Bamberg

Mit einem einfachen Makro:


Code:
Option Explicit

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 Benutzer sagt Danke an BoskoBiati für diesen Beitrag:
  • dindu
Antwortento top
#8
(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]
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste