Excel 2010 Grosse Tabelle automatisch gruppieren

Liebe/-r Experte/-in,

Diese Anfrage habe ich schon mal an die Experten im Forum gerichtet. Leider gab es keine Lösung. Deshalb ein neuer Versuch.
Hier mein Problem: Ich habe im Excel eine Tabelle mit 154000 Zeilen und 20 Spalten.
Jede Zeile repräsentiert ein Messergebnis.
4 Zeilen entsprechen 1 Minute Messdauer
240 Zeilen entsprechen 1 Stunde Messzeit

Ich möchte nun jeweils 240 Zeilen (1Stunde) gruppieren, aus den Werten den Mittelwert berechnen, und die Stundenwerte später in eine Grafik überführen.

Mit den normalen Bordmitteln von Excel 2010 funktioniert das nicht. VBA Programmierung ist nicht meine Welt.

Deshalb nun meine Anfrage an das Forum hier.

Auf jeden Fall mein Dank im voraus an alle.

Hy zenogra,
du kannst dir pro Zeile einen gleichen Wert errechnen (STUNDE, auf eindeutigkeit achten) und dann nach diesem Wert die TEILERGEBNISSE einschalten. (unter Funktionsleite DATEN)
Dies sollte dich deutlich weiter nach vorn bringen.

Alternativ die gesamte Tabelle markieren (mit der neuen Spalte STUNDE) und dann Einfügen PivotTable.

dann kannst du dort alle Werte analysieren

gruss Markus

Hallo,

folgender Vorschlag:

z.B. in Spalte A - 2 neue Spalte einfügen.

  1. Durchnummiereren lassen also mit 1.2.3. …

in Spalte B (oder nach der nummerierung) Formel einfügen: =REST(A1;240) und ebenfalls runterziehen.

es müssten nun überall NULLer erscheinen wo die 240 vorhanden sind.

Ich weiss jetzt nicht, wie die Tabelle aufgebaut ist, aber mit der Funktion

=SUMMEWENN(B16:C19;1;C16:C19)

sollten die Werte vorkommen.

Good Luck…


www.stallwanger.net | process and controlling

Hallo zenogra

Also ehrlich gesagt verstehe ich dein Problem nicht so wirklich. Was hindert dich daran am Ende der 240 Zeilen den Mittelwert auszurechnen?
Den Trick mit dem Doppelklick auf das schwarze Quadrat rechts unten an der Zelle kennst du, oder?
Das mit der Grafik würde ich so lösen, dass ich ein extra Arbeitsblatt nehme, auf die Zahlen aus dem anderen Arbeitsblatt verweise und daraus dann die Grafik erstelle.
Damit du die Verweise alle 240 Zeilen hinbekommst kann man Exel austricksen.
Du verweist auf das erste Ergebnis (also Zeile 240), dann in den nächsten Zeile auf das zweite(also Zeile 480). Wenn du jetzt die Formel automatisch weiterziehst klappt das nicht.
Wenn du aber das Gleichheitszeichen durch Leerzeichen Gleichheitszeichen ersetzt, hast du die Formel in der Zelle stehen, ohne dass sie berechnet wird.
Diese beiden (also 240 und 480) markieren, unten rechts an der Zelle anfassen (der Cursor wird zu einem schwarzen Kreuz) und einfach runter ziehen. Dann nur noch " =" wieder durch „=“ ersetzten und die Ergebnisse sind da.

Falls das irgendwie verwirrend klingt (besser kann ich es im Moment nicht beschreiben) frag nochmal konkret nach.

Erstmal viel Erfolg
Gruß
Anne

Hallo,

schade, dass VBA nicht deine Welt ist. Mit vielleicht 10 bis 15 Zeilen Code würde sich das ganze fix und Problemlos genau nach deinen Wünschen umsetzen lassen.

An „normalen“ Bordmitteln fallen mir leider keine spontan an. Vieleicht ließe sich etwas umständliches über eine VERGLEICH-Formel oder ähnliches bewerkstelligen.

Doch gerade für diese Aufgabe ist VBA wirklich das einfachste.

Wenn du mir eine Mustertabelle schickst, dann kann ich eventuell auch die paar Zeilen schreiben. Kann aber ein paar Tage dauern, da ich Land unter bin.

Viele Grüße.

Hallo,

leider kann ich mir die Tabelle noch nicht ganz vorstellen. Ich würde versuchen über gemeinsame Kriterien die gesuchten Summen zu bilden und im Anscluss halt den entsprechenden Mittelwert bilden.

Leider ist eine genauere Antwort aus meiner Sicht nur mit einer genaueren Beschreibung der Tabelle möglich (am besten Anhand einer Beispiel-Datei).

Hallo,
ohne VBA wirst du wohl keine saubere Lösung hinbekommen. Versuch aber mal folgendes:

Zunächst eine Spalte A mit den Zeilennummern anfügen. Dann schreibst du in B240:

=WENN(REST(A240/240)=0;MITTELWERT(C1:C240);„“)

Das ziehst du dann nach unten.
Vielleicht kannst du das schon direkt als Graph darstellen. Falls nicht wird das ohne VBA etwas schwieriger.
In Spalte Z schreibst du:

=WENN(REST(A240/240)=0;A240/240;„“)

Die ganze Tabelle kopieren und in eine neue Tabelle „Inhalte einfügen –> Werte“. Dann kannst du Spalte C löschen und nach Z sortieren … fertig.

Gruß,
Kevin

Hallo Zenogra,

ich wundere mich, dass du bei deiner ersten Anfrage keine Hilfe bekommen hast. Wenn ich dein Problem richtig verstanden habe, dann kommst du OHNE VBA aus.

Dein Problem ist das Gruppieren in 240er Päckchen. Ich denke, wenn du dann eine Summe pro Päckchen bilden kannst, dann ist der Rest einfach (Mittelwerte, Diagramme, etc)

  1. Füge neben deiner Tabelle noch eine weitere Spalte direkt anschließend ein. In dieser neuen Spalte bilden wir eine Zahl, die pro 240er Päckchen gebildet wird. Das Ergebnis wäre also von Zeile 3 bis 242 eine 1 und von Zeile 243 bis 482 eine 2, usw.
    Das geht mit folgendem Ungetüm:
    =AUFRUNDEN((ZEILE(A3)-2)/240;0)

Wie funktioniert das: du nimmst die Zeilennummer als Hilfsnummerierung und ziehst den „irgendwo“ Beginn ab, so dass dein erster Eintrag auch eine 1 ergibt. Beispiel:

  • Dein erster Eintrag ist in Zeile 3 - dann ziehst du 2 ab, ergo ergibt sich eine 1 für deinen ersten Eintrag. Die nächste Zeile ergäbe dann eine 2, usw.
  • Das jeweilige Ergebnis (DEINE Zeilennummer) teilst du durch 240. Das Ergebnis wäre eine krumme Zahl.
  • Die krumme Zahl rundest du auf die nächste Zahl auf.

Nachdem du die Formel eingetragen hast, stehen in den ersten 240 Zeilen jeweils eine 1 und in den nächsten 240 Zeilen jeweils eine 2, usw.

Jetzt kommt dein nächstes Problem:
Du musst Ergebnisse zusammenfassen/errechnen und zwar für die jeweiligen Päckchen. Das machst du mit einem weiteren Bereich neben deiner Riesentabelle.
In dem Bereich trägst du in der ersten Spalte (bei mir ist es die Spalte H) die Zahlen 1, 2, 3 bis (154000/240) ein. Dabei hilft dir der Ausfüll-Assistent. Neben der ersten Spalte kommen dann deine Auswertungsformeln.
In meinem Beispiel:
=SUMMEWENN($F$3:blush:F$15403;H3;$A$3:blush:A$15403)

Was macht die Formel (du solltest evtl. nachlesen!)

  • Die Spalte F (du solltest dort 154003 anstatt 15403 eintragen) sucht eine Päckchennummer - und zwar die Nummer, die in Zelle H3 steht. Wann immer dort diese Zahl gefunden wird, werden die Inhalte der Spalte A addiert.

Wenn du mehr Spalten auswerten willst, dann musst du eben eine dritte, vierte, … Spalte mit der Summewenn-Formel füllen.

Alles klar?
Zögere nicht, nachzufragen.

Viel Erfolg
Harald

Hallo,

gibt es einen Index oder Zeitstempel oder sowas je Zeile?

Dann kannst du mit Summewenn() die Werte je Zeitintervall berechnen und durch 240 teilen um auf den Mittelwert zu kommen.

Hallo zenogra,

hier ein Vorschlag ohne VBA.

  1. Annahmen:
    Deine Daten stehen in einer Tabelle „Daten“. Beginnend in Zelle A1 bis …19 Spalten nach rechts, 153.999 Zeilen nach unten.

  2. Lösungsweg:
    Du trägst in Tabelle „Auswertung“ folgende Formel in Zelle A1 ein

=MITTELWERT(BEREICH.VERSCHIEBEN(‚Daten‘!A$1;(ZEILE(A1)-1)*240:wink::BEREICH.VERSCHIEBEN(‚Daten‘!A$240;(ZEILE(A1)-1)*240;0))

Diese Formel bildet den Mittelwert der ersten 240 Werte in der Spalte A der Daten-Tabelle. wenn deine Werte erst in der 5. Zeile beginnen, so ändere den Bezug von A$1 auf A$5 sowie A$240 auf A$245.

Diese Formel kannst du für alle Spalten einfach nach unten bzw. nach rechts kopieren, so dass du in der Tab. „Auswertung“ die von dir gesuchten Werte zur Weiterverarbeitung für die Grafik hast.
Die Grafik zu erstellen dürfte dann eigentlich kein problem mehr sein.
viele Grüße
Kai

Hallo

Eine Beispieltabelle kann ich liefern.
Ich benötige nur eine Mailadresse

Danke für die Hilfe

hallo,
vielleicht funktioniert es mit der wenn Funktion.Wenn 4 Zeilen =1Minute dann240=1Stunde anstonsten „…“.Und dann Formel Mittelwert.

Hallo Markus

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo ToshiM
Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo Anne

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo schmidt76

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo alex2k7

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo Kevin

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo becker

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra

Hallo power_blue

Vielen Dank für Deine Hilfe.
Eine für mich praktikable Lösung kam von Kai.
Danke
Gruß
zenogra