Microsoft Excel

Herbers Excel/VBA-Archiv

istzahl suchen mit römischen zahlen

Betrifft: istzahl suchen mit römischen zahlen von: Tom
Geschrieben am: 03.11.2020 14:47:05

Hallo,

ich muss in einer Spalte nach römischen Zahlen suchen, und zwar nach römisch I und II.
Es wird in einer wenn-Formel als Bedingung verbaut, die recht komplex ist (mitunter mit indirekt, verketten,....).

Problem: Eindeutigkeit des Suchkriteriums ist nicht gegeben, denn er findet per ISTZAHL(SUCHEN("I".... ja leider beide römischen Zahlen, also die I und die II, gleichzeitig.

Wie kann ich den Fund separieren, eindeutig gestalten. Ein Gedanke: Kann ich da irgendwie noch mit ARABISCH arbeiten? Ich komme da nur syntaxtechnisch nicht ganz drauf...

DANKE für Hilfe...
Gruss,
Tom

Betrifft: AW: nutze dazu die Funktion RÖMISCH() owT
von: neopa C
Geschrieben am: 03.11.2020 14:57:48

Gruß Werner
.. , - ...

Betrifft: AW: nutze dazu die Funktion RÖMISCH() owT
von: Tom
Geschrieben am: 03.11.2020 20:16:35

Hallo und Danke, aber das hilft mir nicht richtig weiter.
Hier ein LINK zur Problem-xlsx:
https://www.herber.de/bbs/user/141291.xlsx
(Auszug, reduziert auf das Problem und Daten geändert)

Links neben den rot gefüllten Zellen ist die Formel (Spalte L), die nicht richtig funktioniert.
Wenn in D3 "FS1" selektiert ist, sollen nur Faecher mit "I" und Faecher ohne römische Zahl ausgegeben werden.
Alle Faecher mit "II" in der Bezeichung werden ausgeblendet.

Wird "FS2" in D3 selektiert, sollen in Spalte L nur Faecher mit "II" und Faecher ohne römische Zahl ausgegeben werden.

Römische Zahlen sollen nicht generiert werden, sie sind bereits in den Bezeichnungen vorhanden. Diese habe ich per per ISTZAHL(SUCHEN... versucht herauszuselektieren, was ja genau das Problem ist...

Betrifft: AW: das hat aber mit Römischen Zahlen ...
von: neopa C
Geschrieben am: 04.11.2020 10:53:40

Hallo Tom,

... wenig zu tun. Im Deinen Texten stehen lediglich ein oder zwei "I" die Du als römische Zahl ansiehst. In Excel gibt es aber durchaus echte römische Zahlen, um die geht es bei Dir also erst mal nicht.

Das was Du anstrebst lässt sich jedoch auch ohne INDIREKT() und auch auch ohne spez. Matrixformelabschluss lösen. Ich nutze dazu AGGREGAT(). Doch zunächst noch nachgefragt, was oder was nicht soll gelistet werden, wenn in D3 nichts gewählt wurde. Je nachdem wird die Formel etwas komplexer.

Gruß Werner
.. , - ...

Betrifft: AW: das hat aber mit Römischen Zahlen ...
von: Tom
Geschrieben am: 04.11.2020 18:07:18

In D3 ist immer ein Wert eingetragen (weitere, die das Problem nicht bedingen). Wenn irgendein sonstiger Wert in D3 steht, ist der nicht relevant, weil es dann auch einen andern Fac Code (Spalte B) betrifft, der keine I und II Unterscheidung in Spalte $e benoetigt.
Die Kombination "FSGy" im Fac-Code und "FS1" in D3 zeigt nur KEINE "II"-Bezeichnungen,
die Kombination "FSGy" im Fac-Code und "FS2" in D3 zeigt nur KEINE "I"-Bezeichnungen.

Die Bedingung WENN in Spalte L funktioniert im Grunde bereits fuer "I", nicht aber fuer "II".

Betrifft: AW: nun ...
von: neopa C
Geschrieben am: 04.11.2020 20:16:24

Hallo Tom,

... hatte heute Nachmittag folgende Formel schon entwickelt, die ganz ohne Hilfszellen auskommt und für D3="" alles listet.

=WENNFEHLER(INDEX(E:E;AGGREGAT(15;6;ZEILE(E$7:E$99)/(E$7:E$99<>"")/((ISTZAHL(FINDEN(WENN(D$3=""; " II";"#%#");E$7:E$99))+ISTZAHL(FINDEN(" I"&WENN(D$3="FS2";"I";"")&" ";E$7:E$99&" ")) +ISTFEHLER(FINDEN("I";E$7:E$99)))>0);ZEILE(A1)));"")


und weit genug nach unten kopieren.

Gruß Werner
.. , - ...

Betrifft: AW: nun ...
von: Tom
Geschrieben am: 05.11.2020 07:32:04

Danke, funktioniert zunächst mal, jetzt muss ich nur noch den Pos.Start / Zeilenstart für den jeweils zu berücksichtigen Fac Code einbauen...
Dazu muss ich das nur noch irgendwie nachvollziehen.
Aber DANKE!

Betrifft: komme nicht weiter mit richtigem Zeilenbezug
von: Tom
Geschrieben am: 05.11.2020 11:14:19

Hallo,

..., da der Faecherkanon erst berücksichtigt werden muss: nur der Zellbereich, der in ab Zeile bis Zeile steht (Spalte K) darf abgerufen werden für EINEN Fac Code Spalte B (hier: "FSGy" lt. B2). Spalten J und K geben bereits den richtigen Zeilenbereich wieder:

(INDIREKT(VERKETTEN("$e";K9))):(INDIREKT(VERKETTEN("$e";K6))))
Bezüge gültig für Zeile 9 (Formel in Zelle L9).

Habe es bewusst mit wohl einer Klammer zu viel eingebaut, weil ich nicht genau wusste, ob die Zelladressen sonst als gemeinsamer Zellbereich erkannt werden...
Aber ich bekomme das nicht richtig in die Aggregatformel, der Transfer läuft schief:

=WENNFEHLER(INDEX(E:E;AGGREGAT(15;6;((INDIREKT(VERKETTEN("$e";K9))):(INDIREKT(VERKETTEN("$e";K6)))) /(E$7:E$99<>"")/((ISTZAHL(FINDEN(WENN(D$3=""; " II";"#%#");E$7:E$99)) +ISTZAHL(FINDEN(" I"&WENN(D$3="FS2";"I";"")&" ";E$7:E$99&" ")) +ISTFEHLER(FINDEN("I";E$7:E$99))) > 0);ZEILE(A1)));"")


Auch konsequent alle e$7:e$99 Adressierungen mit dem INDIREKT-Formelteil ersetzen, funktioniert nicht im Aggregat.

Für nochmalige Hilfe, jetzt schon vielen Dank!

Betrifft: AW: man braucht hierzu kein INDIREKT() ...
von: neopa C
Geschrieben am: 05.11.2020 11:32:02

Hallo Tom,

... und keine Hilfszellen, um den auszuwertenden Bereich einzugrenzen, musst Du lediglich in meiner Formel die zusätzlich Bedingung noch aufnehmen also z.B. so: ...(E$7:E$99<>"")/(B$7:B$99=B$2)/((ISTZAHL(...

Wenn "FSGy" in B2 steht (In Deiner letzten Datei stand es in B1)

Gruß Werner
.. , - ...

Betrifft: Es gibt in Unicode auch ExtraZeichen ...
von: Luc:?
Geschrieben am: 03.11.2020 19:06:15

…für römische Zahlen, Tom,
zumindest für die ersten 12, so dass du bei einem entsprd Austausch im Text (erst II gg Ⅱ, dann I gg Ⅰ) dieses Problem nicht mehr hättest. Allerdings kann die Xl-Fkt RÖMISCH damit dann nichts mehr anfangen.
Gruß, Luc :-?
„Die universelle Befähigung zur Unfähigkeit macht jede menschliche Leistung zu einem unglaublichen Wunder.“ Stapps ironisches Paradoxon

Beiträge aus dem Excel-Forum zum Thema "istzahl suchen mit römischen zahlen"