10.07.2024, 12:59
Hallo,
ich habe dir eine Formellösung gebastelt. Die Herausforderung dabei war, eine Formel zu konstruieren, die keinen Zirkelbezug verursacht. Wird nämlich die Formel in Spalte A (Tabelle5[DOC-Nr.]) dadurch geändert, weil in Spalte G (Tabelle5[Zählnummer]) eine Formel steht, die aufgrund von Spalte A sich ändernde Zählwerte erzeugt, so würde sich notwendigerweise ein Zirkelbezug ergeben.
Damit dies nicht geschieht, habe ich in Spalte G eine benutzerdef. Funktion =SubNummer() eingefügt. In dieser parameterlosen Form greift sie auf die Spalten B:F von Tabelle5 zu, bildet daraus die sich ergebenden vorläufigen DOC-Nr (für alle Tabellenzeilen = Array) und zählt, wie oft der DOC-Nr-Wert der aktuellen Tabellenzeile in diesem Array vorkommt, wobei dieses Zählergebnis um 1 erhöht wird.
Es wird also für diese Zählung die Spalte A nicht verwendet, sodass sich
die Formel in Spalte A
=DOCNrZeile([@OKZ]:[@Revisionsnummer];1)
und die Formel in Spalte G
=SubNummer()
nicht in die Quere kommen und somit auch keinen Zirkelbezug verursachen.
Der 2. Parameter (mit Wert 1) in der Formel für Spalte A bewirkt, dass alle benötigten Spalten zur DOC-Nr.-Berechnung herangezogen werden (Spalten B:J), während ein Formelausdruck
=DOCNrZeile([@OKZ]:[@Revisionsnummer])
ohne 2.Parameter die DOC-Nr. nur mittels Spalten B:F berechnen würde.
Beide benutzerdefinierten Funktionen DOCNrZeile(tbZl;[Gz]) und SubNummer([tbL];[L]) sind wiederum im Namensmanager enthalten.
Zum Schluss noch ein Hinweis zu meiner benutzerdefinierte Funktion WahlListe([L]) aus vorangegangen Postings in diesem Thread: Es handelt sich dabei um keine volatile Funktion (zum Unterschied zu Formelvarianten, die die INDIREKT(..)-Funktion verwenden).
Datei liegt bei.
ich habe dir eine Formellösung gebastelt. Die Herausforderung dabei war, eine Formel zu konstruieren, die keinen Zirkelbezug verursacht. Wird nämlich die Formel in Spalte A (Tabelle5[DOC-Nr.]) dadurch geändert, weil in Spalte G (Tabelle5[Zählnummer]) eine Formel steht, die aufgrund von Spalte A sich ändernde Zählwerte erzeugt, so würde sich notwendigerweise ein Zirkelbezug ergeben.
Damit dies nicht geschieht, habe ich in Spalte G eine benutzerdef. Funktion =SubNummer() eingefügt. In dieser parameterlosen Form greift sie auf die Spalten B:F von Tabelle5 zu, bildet daraus die sich ergebenden vorläufigen DOC-Nr (für alle Tabellenzeilen = Array) und zählt, wie oft der DOC-Nr-Wert der aktuellen Tabellenzeile in diesem Array vorkommt, wobei dieses Zählergebnis um 1 erhöht wird.
Es wird also für diese Zählung die Spalte A nicht verwendet, sodass sich
die Formel in Spalte A
=DOCNrZeile([@OKZ]:[@Revisionsnummer];1)
und die Formel in Spalte G
=SubNummer()
nicht in die Quere kommen und somit auch keinen Zirkelbezug verursachen.
Der 2. Parameter (mit Wert 1) in der Formel für Spalte A bewirkt, dass alle benötigten Spalten zur DOC-Nr.-Berechnung herangezogen werden (Spalten B:J), während ein Formelausdruck
=DOCNrZeile([@OKZ]:[@Revisionsnummer])
ohne 2.Parameter die DOC-Nr. nur mittels Spalten B:F berechnen würde.
Beide benutzerdefinierten Funktionen DOCNrZeile(tbZl;[Gz]) und SubNummer([tbL];[L]) sind wiederum im Namensmanager enthalten.
Zum Schluss noch ein Hinweis zu meiner benutzerdefinierte Funktion WahlListe([L]) aus vorangegangen Postings in diesem Thread: Es handelt sich dabei um keine volatile Funktion (zum Unterschied zu Formelvarianten, die die INDIREKT(..)-Funktion verwenden).
Datei liegt bei.
Mit lieben Grüßen
Anton.
Windows 10 64bit
Office365 32bit
Anton.
Windows 10 64bit
Office365 32bit