Formellösung optimierbar?
07.02.2020 09:48:35
erichm
ich habe zwei Tabellen:
Tabelle Kategorie, belegt sind jeweils die Zeilen 2 bis 21:
Spalte B: Zahlen von 1 bis 5
Spalte D und Spalte E: Zahlenwerte, wobei in Spalte D die Zahl von xx und in Spalte E die Zahl bis xx steht; also von kleinster Wert bis größter Wert
Spalte F und Spalte G: Zahlenwerte, wobei in Spalte F die Zahl von xx und in Spalte G die Zahl bis xx steht; also von kleinster Wert bis größter Wert
Spalte J = "Zuordnung" mit JA oder NEIN, je nachdem welche Werte aus den Spalten B bis G zutreffen
Tabelle Auswertung:
In den Spalten A bis BE stehen verschiedene Daten die in den nachfolgenden Spalten "ausgewertet werden":
Spalte BF: wie oft hat sich der in Spalte BE ermittelte Wert in den letzten Spalten vorher wiederholt? - also 1x, 2x 3x usw.; dieser Wert wird dann abgeglichen mit den Werten in Spalte B der Tabelle Kategorie
Spalte BG: wie oft ist der in Spalte BE ermittelte Wert in den Spalten A bis einschließlich BD vorgekommen, also x-mal; dieser Wert wird dann abgeglichen mit den Werten in den Spalten D und E der Tabelle Kategorie
Spalte BH: wie oft hat sich der in Spalte BE ermittelte Wert in den Spalten A bis einschließlich BD wiederholt, dass heißt er ist mindestens 2x direkt hintereinander vorgekommen; dieser Wert wird dann verglichen mit den Werten in den Spalten F und G der Tabelle Kategorie
Spalte BJ: hier wird die Lösung = Zuordnung gesucht; meine bisherige Formel funktioniert zwar, wird aber immer länger, je mehr Prüfungen erfolgen.
Die Aufgabenstellung lautet, wobei die Prüfung in Spalte BJ ab Zeile 2 erfolgt und für jede Zeile individuell zu prüfen ist:
Steht in der Spalte B in der jeweiligen Zeile "aktiv"; wenn nein ist die Prüfung beendet und die Zeile in Spalte BJ wird mit "" befüllt. Ist in der Spalte B "aktiv" vorhanden, dann vergleiche folgende Werte "gleichzeitig":
Spalte BF mit Spalte B in Tabelle Kategorie; Werte müssen identisch sein
Spalte BG mit den Spalten D und E in Tabelle Kategorie; der Wert muss in der Bandbreite "von xx bis xx" liegen
Spalte BH mit den Spalten F und G in Tabelle Kategorie; der Wert muss in der Bandbreite "von xx bis xx" liegen
ERGEBNIS: wenn alle drei Bedingungen erfüllt sind, dann befülle mit dem Wert (= JA oder NEIN) aus der jeweiligen Zeile der Spalte J der Tabelle Kategorie; wenn nur zwei oder weniger Bedingungen erfüllt sind, dann befülle mit "offen". Dabei wird jede Zeile der Spalte BJ in Tabelle Auswertung mit jeder Zeile der Tabelle Kategorie "von oben nach unten" abgeprüft. Diesen Prüfungsvorgang habe ich in Spalte BJ abgebildet, jedoch derzeit nur bis zur Zeile 5 der Tabelle Kategorie. Je mehr Zeilen ich prüfen möchte, desto länger wird meine Formel......
~=WENN(B2"aktiv";"";WENN(UND(BF2=Kategorie!B$2;BG2>=Kategorie!D$2;BG2=Kategorie!F$2;BH2=Kategorie!D$3;BG2=Kategorie!F$3;BH2=Kategorie!D$4;BG2=Kategorie!F$4;BH2=Kategorie!D$5;BG2=Kategorie!F$5;BH2 die Musterdatei (Spalten zum Teil zur besseren Transparenz farblich markiert)
https://www.herber.de/bbs/user/135047.xlsx
Kann man das vereinfachen / verbessern?
Evtl. wäre hier auch eine VBA-Lösung möglich.
Vielen Dank für eine Hilfe.