Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
632to636
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
632to636
632to636
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Auswertung Tabelle

Auswertung Tabelle
11.07.2005 11:51:00
Hanno
Hallo,
ich habe folgendes Problem:
Ich habe eine Tabelle mit 10 Zeilen für jeden Tag und die Erfassung läuft jeweils über den aktuellen Monat.
In Spalte A stehen ab Zeile 5 Zahlen von 1 – 314 (werden für Sortierungen benötigt).
In Spalte B stehen ab Zeile 5 das aktuelle Datum welches bearbeitet wird.
In den Spalten C-N stehen Zahlen welche manuell eingegeben werden.
Nun möchte ich wissen welche Daten aus Spalte C die größten Werte in der Spalten D bzw. in der Spalte E hat (jeweils separat).
Zum jeweiligen Datum sind nicht immer alle 10 Reihen gefüllt.
Da die Daten in Spalte B allerdings mehrfach vorkommen kann ich nicht einfach sortieren sondern müsste die einzelnen Werte in Spalte D bzw. E summieren. Als Beispiel:
Wenn in Spalte C die Zahl 90110 3 mal vorkommt, egal an welchen Tagen, mit den Werten 10, 20, 30 in der Spalte D dann müsste später wenn nach größtem Wert der Spalte D sortiert ist also zur Zahl 90110 die Summe 60 zugeordnet sein.
Bei der Auswertung zur Spalte E muss das analog aussehen. Allerdings natürlich getrennte Auswertungen für D und E.
Ist das machbar?
Wer kann mir helfen?
Ich hoffe ich habe es halbwegs verständlich ausgedrückt was ich brauche.
Anbei eine Beispieldatei:
https://www.herber.de/bbs/user/24623.xls
Danke
Hanno

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auswertung Tabelle
11.07.2005 12:29:24
Günther
Hallo Hanno
sind die Serien immer dieselben?
dann schreib die Serien untereinander in Spalte B, in der Spalte rechts daneben:
=Summewenn(Tabelle1!C$1:C$999;B1;Tabelle1!E$1:E$999)
die Tabelle kannst Du nun nach dem Ergebnis in Spalte C absteigend sortieren
Günther
AW: Auswertung Tabelle
11.07.2005 12:37:36
Hanno
Hallo Günther,
das schon, aber es sind alles in allem wohl so etwa 230 Seriennummern.
Und einige ändern sich auch in unterschiedlichen Abständen.
Das würde ein ständiges anpssen der Formeln bedeuten.
Das ist eigentlich nicht wünschenswert.
Ich denke eine Makrolösung wäre hier das richtige.
Trotzdem Danke für die Unterstützung
Gruß
Hanno
Anzeige
AW: Auswertung Tabelle NOCH OFFEN!
12.07.2005 10:08:29
Hanno
Hi,
meine Anfrage ist noch offen!
Hat keiner mehr ne Idee dazu?
Gruß
Hanno
AW: Auswertung Tabelle NOCH OFFEN!
12.07.2005 13:15:08
JRobert
Hallo Nanno,
hier ein kleines Macro.
Grüß Robert
Type MeineDaten
SerienNummer As Long
Defekt As Long
Fehler As Long
End Type
Dim MDaten(230) As MeineDaten, tmpMDaten As MeineDaten
Public

Sub Zählen()
AnfangsZeile = 5
AnzahlSerienNummer = 0
For i = AnfangsZeile To AnfangsZeile + 30
tmpSerienNummer = Cells(i, 3)
If tmpSerienNummer <> "" Then
gefunden = False
For k = 1 To AnzahlSerienNummer
If tmpSerienNummer = MDaten(k).SerienNummer Then
MDaten(k).Defekt = MDaten(k).Defekt + Cells(i, 4)
MDaten(k).Fehler = MDaten(k).Fehler + Cells(i, 5)
gefunden = True
Exit For
End If
Next k
If Not gefunden Then
AnzahlSerienNummer = AnzahlSerienNummer + 1
MDaten(AnzahlSerienNummer).SerienNummer = tmpSerienNummer
MDaten(AnzahlSerienNummer).Defekt = Cells(i, 4)
MDaten(AnzahlSerienNummer).Fehler = Cells(i, 5)
End If
End If
Next i
'Sortieren nach Spalte D
Do
keine_umstell = True
For i = 1 To AnzahlSerienNummer - 1
tmpMDaten = MDaten(i)
If tmpMDaten.Defekt < MDaten(i + 1).Defekt Then
MDaten(i) = MDaten(i + 1)
MDaten(i + 1) = tmpMDaten
keine_umstell = False
End If
Next i
Loop Until keine_umstell = True
'Ausgabe für Spalte D
For i = 1 To AnzahlSerienNummer
Cells(39 + i, 5) = MDaten(i).SerienNummer
Cells(39 + i, 6) = MDaten(i).Defekt
Next i
'Sortieren nach Spalte E
Do
keine_umstell = True
For i = 1 To AnzahlSerienNummer - 1
tmpMDaten = MDaten(i)
If tmpMDaten.Fehler < MDaten(i + 1).Fehler Then
MDaten(i) = MDaten(i + 1)
MDaten(i + 1) = tmpMDaten
keine_umstell = False
End If
Next i
Loop Until keine_umstell = True
'Ausgabe für Spalte E
For i = 1 To AnzahlSerienNummer
Cells(50 + i, 5) = MDaten(i).SerienNummer
Cells(50 + i, 6) = MDaten(i).Fehler
Next i
End Sub

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige