Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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

Fehlersumme berechnen und Fehlercode ausgeben

Fehlersumme berechnen und Fehlercode ausgeben
20.06.2018 13:43:47
Marc
Servus alle,
ich möchte gerne die Anzahl unterschiedlicher Fehler berechnen und die fünf häufigsten in einem anderen Tabellenblatt ausgeben und dazu auch den Fehlercode der direkt daneben steht. Das Problem an der ganzen Sache ist das die Anzahl und die Fehlercodes in drei festen Zeilen verteilt und einer festen Station zugeordnet sind. Sprich in meinem Beispiel steht die Anzahl mit den Unterschiedlichen Fehlercodes für eine Station in der Zeile 3 bis 5 und den Spalten I, J, N, O, S, T, X, Y. Es sollen mir aber nicht die fünf häufigsten Fehler von eine Station angezeigt werden sondern die fünf häufigsten aller Station mit Anzahl.
Ist das ohne VBA irgendwie möglich bzw. auch Sinnvoll wenn es sich um 50 Stationen handelt?
In meinem Beispiel wären die fünf häufigsten Fehlercodes mit Anzahl bezogen erst mal auf eine Station diese:
35 Fehlercode 2
33 Fehlercode 50
13 Fehlercode 30
usw..
https://www.herber.de/bbs/user/122208.xlsx

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mit INDEX(), AGGREGAT(), SUMMEWENN() ...
20.06.2018 15:10:58
neopa
Hallo Marc,
... mit einer Matrixfunktion(alität)sformel die keines spez. Formelabschluss wie eine klassische Matrixformel benötigt und einer einfachen SUMMEWENN()-Formel sowie einer vorhandenen oder auch noch ermittelbaren Fehlerliste. Momentan bin ich davon ausgegangen, das Du alle möglichen Fehlercodes in einer Spalte (hier angenommen Spalte AD ab Zeile 3) zustehen hast (es wäre jedoch auch möglich alle aufgetretenen Fehlercodes aus der Liste in Spalte AD zu ermitteln)
Dann nachfolgende beide Formeln einfach nach unten kopieren. Bei mehr Stationen den Auswertungsbereich der Formel AA3 entsprechend anpassen.
 AAABACAD
3Fehler5863 Fehler1
4Fehler234 Fehler2
5Fehler5033 Fehler3
6Fehler3017 Fehler4
7Fehler112 Fehler5
8   Fehler6
9   Fehler7
10   Fehler8
11   Fehler9
12   Fehler10
13   Fehler11

Formeln der Tabelle
ZelleFormel
AA3=INDEX(AD:AD;AGGREGAT(15;6;ZEILE(B$3:B$69)/(SUMMEWENN(J$3:Y$15;AD$3:AD$69;I$3:X$15)+1%/ZEILE(B3:B69)=AGGREGAT(14;6;SUMMEWENN(J$3:Y$15;AD$3:AD$69;I$3:X$15)+1%/ZEILE(B3:B69); ZEILE(B1))); 1))
AB3=SUMMEWENN(J:Y;AA3;I:X)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Werner
.. , - ...
Anzeige
AW: mit INDEX(), AGGREGAT(), SUMMEWENN() ...
20.06.2018 16:09:58
MArc
Wow vielen Dank. Die Formel ist ja riesig und funktioniert. Danke.
Könntest du mir bitte noch dabei helfen alle aufgetretenen Fehlercodes aus der Liste in Spalte AD zu ermitteln. Es ist nämlich so das die Fehlercodes hier nur Beispiele waren in Wirklichkeit aber ganz anders aussehen und sich je nachdem voll ändern und deswegen eigentlich ermittelt werden müssen.
Gruß Marc
AW: wie geschrieben, ist möglich, allerdings ...
20.06.2018 19:13:55
neopa
Hallo Marc,
... ist es wirklich notwendig? Meiner bisher bereitgestellten Formel ist es egal, welche Fehlercodierungen und ob überhaupt alle möglichen verwendet werden. Fehlercodierungen sind ja normalerweise vorgegeben und nicht "frei händisch" vergebbar. Oder ist dies bei Euch anders?
Gruß Werner
.. , - ...
Anzeige
AW: wie geschrieben, ist möglich, allerdings ...
20.06.2018 21:04:09
Marc
Da hast du recht Werner, aber ich weiß nicht wo ich die vorgegebenen Fehlercodierungen herbekommen soll. Und die Möglichkeiten liegen locker bei 10000. Daher ist es für die Formel bestimmt einfacher wenn man nur die in der Tabelle gegebenen ca. 100 - 200 verschiedene Codes betrachtet. Des Weiteren kann ich gar nicht sicher stellen das ich alle Fehlercodierungen finde und auflisten kann. Deswegen wäre es nicht schlecht wenn man sich nur auf die gegebenen aus der aktuellen Tabelle bezieht.
Gruß Marc
AW: das macht mich neugierig ...
21.06.2018 10:37:16
neopa
Hallo Marc,
... produziert ihr mehr Fehler, als das was ihr produziert? ;-)
Aber im Ernst, würde mich jetzt schon interessieren, in welcher Branche eine derartige Auswertung denn notwendig ist.
Wenn Du das hier nicht so öffentlich schreiben willst bzw kannst, kannst Du mir das ja evtl. per Mail mitteilen. Meine Mailadresse bekommst Du, wenn Du in eine leere Standardexcelzelle folgende Formel schreibst: =WECHSELN("neopaCode";"Co";ZEICHEN(64)&"email.")
Solltest Du mir eine Mail senden, dann schreibe in den Betreff bitte: HEF thread; Fehlersumme (damit ich die Mail darüber aus meinem Spamordner herausfiltern kann) und in Deiner Antwort hier kurz, ob Du eine Mail versendet hast
Zu der von Dir noch gewünschten Lösung, schreib hier aber noch, wie viele Datensätze und Spalten denn max. auszuwerten sind.
Gruß Werner
.. , - ...
Anzeige
AW: das macht mich neugierig ...
26.06.2018 14:00:10
Marc
Hi Werner,
ich bin in Chip- und Leiterplattentechnik tätig. Das heißt wir haben viele verschiedene Varianten mit sehr vielen unterschiedlichen Fehlermeldungen. Das liegt daran das jede Varianten andere Ein- und Ausgänge hat und daher auch andere Fehlercodes generiert. Eine liste mit Codes liegt mir nicht vor und wäre vielleicht auch zu lang wenn man bedenkt das eine Leiterplatte xxx Möglichkeiten hat.
Die Matrix geht von Spalte K bis AA und von Zeile 13 bis 181. Ich muss dazu sagen das nie alle spalten und Zeilen befüllt werden da ich zwecks der Optik und Übersicht einige spalten und zeilen bewusst leer lass. Aber von den Spalten her ist es so wie ich es am anfang gesagt habe immer in vierer schritten.
Gruß Marc
Anzeige
AW: ok, nun noch nachgefragt ...
26.06.2018 17:37:45
neopa
Hallo Marc,
... Deine Daten stehen also jetzt nicht mehr in I:J, N:O, ... sondern in K:L, P:Q ...? Oder?
Und sie beginnen in Zeile 13 und max bis Zeile 181?
Für eine derartige Datenstruktur und Datenmenge würde ich als Formellösung eine Hilfsspaltenlösung vorschlagen, weil diese dann so wohl am einfachsten und schnellsten auswertbar ist (ohne Hilfsspalten ist die Ermittlung zwar formeltechnisch auch möglich, aber doch schon kompliziert und bei der Datenmenge möglicherweise nicht gerade fix in der Auswertung).
Alternativ neben einer VBA-Lösung (aus der ich mich heraus halten) könnte man auch über eine Power Query Lösung nachdenken. Aber da bin ich selbst noch nicht wirklich fit genug).
Ist also eine HilfsspaltenFormellösung ok?
Dein thread dürfte morgen zwar im Archiv gelandet sein, aber man kann trotzdem noch antworten. Notfalls kannst Du auch einen neuen thread aufmachen und schreibst in diesem: "Fortsetzungsthread ... und im Text gibst Du diesen Link: https://www.herber.de/forum/archiv/1628to1632/t1629716.htm an.
Gruß Werner
.. , - ...
Anzeige
AW: ok, nun noch nachgefragt ...
26.06.2018 18:09:03
Marc
Hi Werner,
ich bin für jede Lösung dankbar. Eine Formel mit Hilfsspalte tut es auch =)
AW: nun, dann also ...
27.06.2018 09:27:43
neopa
Hallo Marc,
... um alle Fehlercodes ohne Hilfsspalte aufzulisten, bräuchtest Du (theoretisch) nur in meiner am 20.06. aufgezeigte Formel für AA3 den Auswertungsbereich entsprechend anzupassen und die Formel noch mit WENNFEHLER() zu umklammern und diese weit genug nach unten ziehend zu kopieren. Dies hätte zwar den Vorteil, dass Du sofort eine auch nach Fehleranzahl abwärts sortierte Liste hättest, aber auch den Nachteil, dass Dein PC mehr als ins Schwitzen kommen würde und wohl einige Zeit rechnen dürfte und wenn Fehlercodes dazukommen oder deren Anzahl sich ändert der PC die Berechnung automatisch aktualisieren wird und wieder entsprechende Berechnungszeitdauer in Anspruch genommen wird.
Schneller (und einfacher) ist folgender Lösungsansatz auf Basis entsprechender Hilfszellenformeln die anschließend mit Pivot ausgewertet werden ist dann schon wesentlich schneller. Hat aber den Nachteil, das bei Datenänderung die Pivotauswertung händisch aktualisiert werden muss.
(Noch günstiger für Dich dürfte eine PowerQuery Auswertung sein, über die ich noch nachdenke)
Nachfolgende entsprechende Beispielauswertung beinhaltet zwar nicht 180 Datenzeilen, ist aber so aufgebaut, dass diese sich an eine Erweiterung automatisch anpasst.
Die Formeln AH1 4 Zeilen nach unten kopieren und die Formeln AJ2:AK2 bis Zeile 800 (damit könnten 199 Datensätze ausgewertet werden).
In der Pivotauswertung sind ="" und [leer] ausgefiltert und die Summenspalte ist abwärts sortiert.
 KLMNOPQRSTUVWXYZAA
12AnzCode   AnzCode   AnzCode   AnzCode
1312Fehler1   1Fehler2        33Fehler50
1433Fehler2  2Fehler20        
152Fehler3  3Fehler5      3Fehler2
162Fehler4        1Fehler33   2Fehler53
172Fehler5  5Fehler9      4Fehler54
184Fehler6  6Fehler24  1Fehler35  7Fehler55
193Fehler7        1Fehler24     
205Fehler8      1Fehler29    
216Fehler9  10Fehler22  11Fehler38    
22                 

 AGAHAIAJAKALAMAN
1210 CodeAnzahl ZeilenbeschriftungenSumme von Anzahl
2 21 Fehler112 Fehler112
3 42 Fehler233 Fehler237
4 63 Fehler32 Fehler202
5 84 Fehler42 Fehler2210
6   Fehler52 Fehler247
7   Fehler64 Fehler291
8   Fehler73 Fehler32
9   Fehler85 Fehler331
10   Fehler96 Fehler351
11    0 Fehler3811
12    0 Fehler42
13    0 Fehler55
14    0 Fehler5033
15    0 Fehler532
16    0 Fehler544
17    0 Fehler557
18    0 Fehler64
19    0 Fehler73
20    0 Fehler85
21    0 Fehler911
22    0 Gesamtergebnis160
23   Fehler21   
24   Fehler202   
25   Fehler53   
26    0   
27   Fehler95   

Formeln der Tabelle
ZelleFormel
AG1=MAX(INDEX(ISTZAHL(K$13:Z$29)*ZEILE(Z$13:Z$29); ))
AH1=WENN(ZEILE(A1)>5;"";AG$1*(ZEILE(A1)-1))
AH2=WENN(ZEILE(A2)>5;"";AG$1*(ZEILE(A2)-1))
AJ2=WENNFEHLER(INDEX(A:AA;13+REST(ZEILE(A1)-1;AG$1); 7+5*VERGLEICH(ZEILE(A1); AH:AH))&"";"")
AK2=WENNFEHLER(INDEX(A:AA;13+REST(ZEILE(A1)-1;AG$1); 6+5*VERGLEICH(ZEILE(A1); AH:AH)); "")

Gruß Werner
.. , - ...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige