Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Formel/VBA Fehlerhäufigkeit mit Abhängigkeiten

Forumthread: Formel/VBA Fehlerhäufigkeit mit Abhängigkeiten

Formel/VBA Fehlerhäufigkeit mit Abhängigkeiten
01.04.2025 15:58:44
Dietrich
Hi

ich habe eine Tabelle mit Fehlern. Ich möchte alle Fehler und die Häufigkeit in Abhängigkeit vom zweiten Testablauf auflisten. Das heißt wenn beim zweiten mal der Test gut war möchte ich wissen wie oft das der Fall war bei dem Fehlertyp. Wenn beim zweiten mal der Test wieder schlecht war soll das nicht in mein Ergebnis mit reinzählen. Sry ich tu mich gerade schwer das anschaulich zu erklären daher habe ich eine Beispiel Datei erstellt. Neben der Häufigkeit möchte ich auch wissen wann der Fehler das erste und wann das letzte mal aufgetreten ist. Könnte mir dabei jemand helfen? Mit der Funktion Eindeutig() und Zählenwenn() komme ich fast an mein Ziel aber mir fehlt noch die Abhängigkeit.

Grüße
Dietrich

https://www.herber.de/bbs/user/176532.xlsx
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel/VBA Fehlerhäufigkeit mit Abhängigkeiten
01.04.2025 16:54:42
{Boris}
Hi,

die Testlaufnummer gibst Du in C1 vor (hier: 1 oder 2).

N4:
=LET(e;EINDEUTIG(WENN(E4:E17=C1;F4:F17;""));f;SORTIEREN(FILTER(e;e>""));Oft;ZÄHLENWENNS(F4:F17;f;E4:E17;C1);HSTAPELN(f;Oft))

P4:
=NACHZEILE(INDEX(N4#;;1);LAMBDA(a;MIN(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))))

Q4:
=NACHZEILE(INDEX(N4#;;1);LAMBDA(a;MAX(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))))

VG, Boris
Anzeige
Geht natürlich auch mit nur EINER Formel...
01.04.2025 17:00:37
{Boris}
Hi,

in C1 steht weiterhin die Testlaufnummer.

N4:
=LET(e;EINDEUTIG(WENN(E4:E17=C1;F4:F17;""));f;SORTIEREN(FILTER(e;e>""));Oft;ZÄHLENWENNS(F4:F17;f;E4:E17;C1);erstes;NACHZEILE(f;LAMBDA(a;MIN(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))));letztes;NACHZEILE(f;LAMBDA(a;MAX(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))));HSTAPELN(f;Oft;erstes;letztes))

VG, Boris
Anzeige
AW: Geht natürlich auch mit nur EINER Formel...
01.04.2025 18:00:11
Dietrich
Erstmal vielen Dank. Die Formel läuft Mega. Aber ich hätte noch drei Fragen.

1. Ich möchte gerne die Sortierung in deiner Formel entfernen, aber mit entfernen von f;sortieren etc..... ist es nicht getan
2. Die Tabelle wird kontinuierlich größer. Ich möchte hier nicht immer die Zeilen Zahl ändern. Passt sich die bei einer Tabelle automatisch an oder muss ich z.B. E4:E angeben?
3. Ich habe noch eine Bedingung vergessen. Es sollen nur welche herangezogen werden bei denen in der Spalte H TZ steht. Mit einer UND Verknüpfung scheint es nicht ohne weiteres zugehen.

=LET(e;EINDEUTIG(WENN(UND(E4:E17=C1;H4:H17=D1);F4:F17;""));f;SORTIEREN(FILTER(e;e>""));Oft;ZÄHLENWENNS(F4:F17;f;E4:E17;C1);erstes;NACHZEILE(f;LAMBDA(a;MIN(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))));letztes;NACHZEILE(f;LAMBDA(a;MAX(FILTER(G4:G17;(F4:F17=a)*(E4:E17=C1)))));HSTAPELN(f;Oft;erstes;letztes))

Grüße
Dietrich
Anzeige
AW: Geht natürlich auch mit nur EINER Formel...
01.04.2025 18:11:48
{Boris}
Hi,

mit Berücksichtigung Deiner 3 Anmerkungen:

N4:
=LET(Testlauf;C1;Unikate;EINDEUTIG(WENN((E4:E10000=C1)*(H4:H10000="TZ");F4:F10000;""));Unikate2;FILTER(Unikate;Unikate>"");WieOft;ZÄHLENWENNS(F4:F10000;Unikate2;E4:E10000;Testlauf;H4:H10000;"TZ");ErstesMal;NACHZEILE(Unikate2;LAMBDA(a;MIN(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));LetztesMal;NACHZEILE(Unikate2;LAMBDA(a;MAX(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));WENNFEHLER(HSTAPELN(Unikate2;WieOft;ErstesMal;LetztesMal);"Fehlanzeige"))

VG, Boris
Anzeige
UND ist im Übrigen nicht matrixfähig...
01.04.2025 18:36:21
{Boris}
Hi,

Mit einer UND Verknüpfung scheint es nicht ohne weiteres zugehen.

Exakt. UND kumuliert nur ein Ergebnis und gibt damit nur EINEN Wert (WAHR oder FALSCH) zurück: WAHR, wenn alle Bedingungen zutreffen, ansonsten FALSCH.
In Matrizen muss man daher multiplizieren (entspricht UND) oder Addieren (entspricht ODER), um zeilenweise Ergebnisse zu erhalten - letzteres (ODER) ist aber für Dein Anliegen nicht von Bedeutung.

VG, Boris
Anzeige
Vielen Dank Boris
02.04.2025 09:00:57
Dietrich
Vielen Dank für deine Hilfe und ausführliche Erklärung Boris. Deine riesen Formel zerlege ich jetzt um es zu verstehen. Ich habe sonst immer nur mit SVerweis gearbeitet aber das ist eine andere Hausnummer. Danke :-)
AW: Vielen Dank Boris
02.04.2025 12:05:45
{Boris}
Hi,

die Formellogik ist eigentlich ganz einfach:

Zuerst werden verschiedene Variablen festgelegt und am Ende wird die eigentliche Formel geschrieben, die sich dabei den vorher festgelegten Variablen bedient. Dabei werden letztlich nur die einzelnen vorher erzeugten Variablen(ergebnisse) horizontal gestapelt (HSTAPELN) - und für den Fehlerfall noch mit WENNFEHLER umrandet.
Etwas gewöhnungsbedürftig ist sicherlich NACHZEILE in Kombination mit LAMBDA. Wenn Du Lust hast, lässt sich das auch noch erklären.

=LET(
Testlauf;C1;
Unikate;EINDEUTIG(WENN((E4:E10000=C1)*(H4:H10000="TZ");F4:F10000;""));
Unikate2;FILTER(Unikate;Unikate>"");
WieOft;ZÄHLENWENNS(F4:F10000;Unikate2;E4:E10000;Testlauf;H4:H10000;"TZ");
ErstesMal;NACHZEILE(Unikate2;LAMBDA(a;MIN(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));
LetztesMal;NACHZEILE(Unikate2;LAMBDA(a;MAX(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));
WENNFEHLER(HSTAPELN(Unikate2;WieOft;ErstesMal;LetztesMal);"Fehlanzeige"))

VG, Boris
Anzeige
Und hier noch mit Formel-Zeilenumbruch
01.04.2025 18:14:18
{Boris}
Hi,

...ist damit vielleicht besser lesbar bzw. klarer:

=LET(
Testlauf;C1;
Unikate;EINDEUTIG(WENN((E4:E10000=C1)*(H4:H10000="TZ");F4:F10000;""));
Unikate2;FILTER(Unikate;Unikate>"");
WieOft;ZÄHLENWENNS(F4:F10000;Unikate2;E4:E10000;Testlauf;H4:H10000;"TZ");
ErstesMal;NACHZEILE(Unikate2;LAMBDA(a;MIN(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));
LetztesMal;NACHZEILE(Unikate2;LAMBDA(a;MAX(FILTER(G4:G10000;(F4:F10000=a)*(E4:E10000=Testlauf)*(H4:H10000="TZ")))));
WENNFEHLER(HSTAPELN(Unikate2;WieOft;ErstesMal;LetztesMal);"Fehlanzeige"))

VG, Boris
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18