Wir wünschen allen Forenteilnehmern ein frohes Fest und einen guten Rutsch ins neue Jahr. x

Wenn kein Treffer, dann weiterprüfen, anstatt leerer Zeile
#1
Hallo zusammen,

ich habe eine Rohdatenliste mit den Namen mehrerer Personen und ihre Funktion. In einem Report in einem anderen Tabellenblatt habe ich die Personen nach ihrer Funktion sortiert - allerdings nicht über einen Filter sondern - für einen besseren Überblick - in scheinbar mehreren Tabellen, die jeweils untereinander angeordnet sind. Dafür habe ich mir nach ewig langer Internetrecherche eine gigantische Formel zusammengebaut, die  prüft, ob eine Person die Funktion hat, die die jeweilige Tabelle als Überschrift trägt. Wenn ja, wird sie angezeigt; wenn nicht wird weitergeprüft - allerdings so, dass keine Freizeilen bei Nicht-Treffern entstehen sondern der nächste Treffer in der nächsten Zeile steht.

Nun zu meiner eigentlichen Frage:
In einer weiteren Darstellung meines Reports möchte ich die Personen nach der Gültigkeit ihrer Lizenzen sortieren. Dazu gibt es die Status "current", "not current", "action required" und "expiry soon". Dafür würde sich genau die gleiche Formel wie oben beschrieben eignen - lediglich auf die anderen Suchkriterien angepasst. Diese Formel bekomme ich nun nicht mehr rekonstruiert und auf den neuen Anwendungsfall angepasst. Dazu ist meine bisherige Lösung viel zu komplex (die Formel ist 40-50cm lang ;) ).

Ich möchte nochmal zusammenfassen, was ich benötige:
Aus einem Tabellenblatt mit Personen und einem zugeordneten Status (s. o.) möchte ich einen Report schaffen, der die Personen je nach Status in einzelne Tabellen sortiert unter Vermeidung von Pivot, falls das als Option in Betracht kommen sollte. Wenn sich der Status ein Status bspw. von "expriy soon" zu "current" ändert, soll der jeweilige Name auch aus der entsprechenden Liste verschwinden und in der nächsten auftauchen. Wenn mit der Formel kein Treffer erzielt wird, möchte ich keine Leerzeile/ Fehlermeldung, sondern den nächsten Treffer.

Ich hoffe, mein Problem ist verständlich formuliert - ansonsten einfach nachfragen. Eine Date mit Testdaten habe ich angefügt.


Vielen Dank für die Unterstützung!!


Angehängte Dateien
.xlsx   Testdatei.xlsx (Größe: 17,83 KB / Downloads: 1)
Antworten Top
#2
Hola,

Code:
=WENNFEHLER(INDEX(Datengrundlage!A:A;AGGREGAT(15;6;ZEILE(Datengrundlage!$A$2:$A$51)/(Datengrundlage!$B$2:$B$51=$A$3);ZEILE(A1)));"")
Gruß,
steve1da
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • canislupusminor
Antworten Top
#3
Danke dir! Das sieht schon sehr gut aus

Kannst du mal prüfen, ob die Formel bei dir so funktioniert? Mir zeigt es nämlich immer wieder den ersten Treffer an...
Antworten Top
#4
Japp, funktioniert super - wenn man denn die automatische Berechnung in den Optionen wieder einschaltet Wink
[-] Folgende(r) 1 Nutzer sagt Danke an steve1da für diesen Beitrag:
  • canislupusminor
Antworten Top
#5
Guter Punkt! ;)

Ich habe das ausgestellt, weil ich in wiederum einem anderen Tabellenblatt die Daten nur per Knopfdruck aktualisiert haben möchte. Gibt es einen Weg, mit dem ich die automatische Kalkulation nur für ein einzelnes Tabellenblatt ausstelle? Soweit ich das überblicke, lässt sich das nur für das gesamte Dokument ein- und ausstellen. So wie ich mich und Excel kenne, gibt es da eine Lösung, von der ich nichts weiß..
Antworten Top
#6
Hi


Zitat:Gibt es einen Weg, mit dem ich die automatische Kalkulation nur für ein einzelnes Tabellenblatt ausstelle?


Und mit True wieder einschalten.
Code:
Worksheets(1).EnableCalculation = False

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • canislupusminor
Antworten Top


Gehe zu:


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