Zum Inhalt springen

OptionParameter in XTabellensuche, VTabellensuche


tico

Frage

Geschrieben

Hallo


ich habe in der Hilfe gesehen, dass die Tabellensuche einen OptionParameter hat, um die 'pattern use' gemäss der ECMAScript-Syntax zu definieren. Ich habe mir den Link angesehen, aber ich habe noch keine Ahnung, wie man das macht. Gibt es ein Beispiel für die Verwendung dieses Parameters?

 

XTabellensuche(Zelle; [opt_Param]; nicht_gefunden; Zellenbereich_Such; Zellenbereich_Erg)
 

Sucht den Inhalt der Zelle im Zellenbereich_Such und gibt den Inhalt der gefundenen Zelle aus Zellenbereich_Erg zurück. Die Zellenbereiche dürfen nur eine Spalte haben. Verwendet ECMAScript syntax für die Textverarbeitung: https://www.cplusplus.com/reference/regex/ECMAScript/?kw=ECMAScript

 

Danke!

15 Antworten auf diese Frage

Empfohlene Beiträge

Geschrieben

Du brauchst das um nach bestimmten Mustern zu suchen. Wenn du nur nach einer bestimmten Zeichenfolge suchst, kannst du die auch einfach so eingeben ohne das ganze ECMA zeugs.

Vectorworks 2025 - Architektur - Win 11

Geschrieben

Hallo herbieherb

 

Genau, das habe ich einfach gemacht. Z.B. 'Fenstertyp 1 192 cm' = 'Fenstertyp 1 192 cm'.

Aber ich möchte sehen, wie diese Muster funktionieren. Ich habe in einer Tabelle die Bewertungen der Bauteile, z.B. Fenster, und in einer anderen die Kosten. Ich möchte aber einen Preis für alle Fenster (Fenster*) eingeben. Hast du ein Beispiel, wie das funktioniert?

 

Danke!

Geschrieben

Hallo @Antonio Landsberger,
im Screenshot ist zu sehen, was ich gemacht habe, um allgemeine Kosten aus der Tabelle KostenMat zu referenzieren (funktioniert bisher problemlos). Meine Frage ist, wie die Muster der Funktionen XTabellenSuche und VTabellenSuche funktionieren? Kann man damit eine einfache Formel schreiben?

Nochmals vielen Dank.
 

Screenshot 2023-09-12 091300.png

Geschrieben

Hallo @tico,

in dieser Formel ist alles richtig geschrieben und die Tabelle zeigt auch alles richtig an.

Die Filterzeile zeigt grundsätzlich immer die Summe von Zahlen oder eine Stückanzahl an. Die 4000 sind an der Stelle also korrekt. Für die Fenster wird schließlich immer der Wert ausgegeben, der in KostenMat gefunden wird.

 

Falls die Filterzeile nicht sichtbar sein soll, kann diese einfach über "Ansicht" ausgeschaltet werden.

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben

Hallo @Antonio Landsberger

Vielen Dank für deine rasche Antwort. Trotzdem ist meine Frage:
XTabellensuche(Zelle; [opt_Param]; nicht_gefunden; Zellenbereich_Such; Zellenbereich_Erg)

Gibt es Dokumentation oder Beispiele von [opt_Param]?

Geschrieben

Im Beispiel-Dialog wird unter anderem "use_pattern - use regular expression pattern for the search" gelistet.

Reguläre Ausdrücke kann man verwenden um komplexe Formatierungen zu analysieren und entsprechende Ausgaben zu tätigen.

Ich werde den Hersteller anfragen, wie das in der Praxis für eine X- oder VTabellenSuche aussehen würde.

Bildschirmfoto 2023-09-12 um 10.15.54.png

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben
vor 12 Minuten schrieb Antonio Landsberger:

Im Beispiel-Dialog wird unter anderem "use_pattern - use regular expression pattern for the search" gelistet.

Reguläre Ausdrücke kann man verwenden um komplexe Formatierungen zu analysieren und entsprechende Ausgaben zu tätigen.

Ich werde den Hersteller anfragen, wie das in der Praxis für eine X- oder VTabellenSuche aussehen würde.

Bildschirmfoto 2023-09-12 um 10.15.54.png

 

Genau. Das kenne ich, aber leider gibt es kein Beispiel davon, wie das funktioniert. Der Link zur ECMAScript syntax ist meiner Meinung nach sehr kryptisch...

Danke!

Geschrieben
vor 3 Stunden schrieb herbieherb:

So wie ich das verstehe ist da regex gemeint? Ist generell schwer zu verstehen. Hilfreich sind Cheatsheets, z.B.

https://cheatography.com/davechild/cheat-sheets/regular-expressions/

 

Oder auch interaktive Tools die dir beim zusammenschustern helfen.

 

https://regexr.com/

 

Hallo @herbieherb

 

sehr gute Hilfe, vielen Dank!

 

ich weiss trotzdem nicht, wie ich das in VW schreiben muss.

 

/Fenster\w*/g ist für 'Fenster' oder 'Fenstertyp2' Wahr, aber

 

=XTABELLENSUCHE(Zelle, /Fenster\w*/g, 0, Zellenbereich_Such; Zellenbereich_Erg) oder

=XTABELLENSUCHE(Zelle, '/Fenster\w*/g', 0, Zellenbereich_Such; Zellenbereich_Erg) funktionieren nicht.

 

Wie muss ich das schreiben?

 

Geschrieben

Hab das selbst noch nie in Vectorworks benutzt. Ich würd aber sagen der Ausdruck muss ein String sein, also mit Anführungszeichen.

 

=XTABELLENSUCHE(Zelle, 'regex', 0, Zellenbereich_Such; Zellenbereich_Erg)

Vectorworks 2025 - Architektur - Win 11

Geschrieben
vor 15 Minuten schrieb herbieherb:

Hab das selbst noch nie in Vectorworks benutzt. Ich würd aber sagen der Ausdruck muss ein String sein, also mit Anführungszeichen.

 

=XTABELLENSUCHE(Zelle, 'regex', 0, Zellenbereich_Such; Zellenbereich_Erg)

 

=XTABELLENSUCHE(B23, 'Fenster\w*', 0, 'KostenMat':$B$1..$B$999, 'KostenMat':$C$1..$C$999)

so geht es leider auch nicht. Ich finde die richtige Syntax nicht 🤷‍♂️

Geschrieben

Also, ich habe mittlerweile eine Rückmeldung des Entwicklers erhalten. Ich war mit meiner Vermutung schon nah dran.
Nehmen wir die Funktion aus dem Beispiel:

=XLookup(value, [use_pattern], not_found_value, array_lookup, array_result)

value steht hierbei für die Abfrage und zwar in Abhängigkeit von dem optionalen nächsten Wert, der einen booleschen Wert darstellt: wahr/falsch. Wahr/falsch können in diesem Zusammenhang auch als 1 oder 0 geschrieben werden.

Wenn anstelle von [use_pattern] eine 1 geschrieben wird, wird nicht mehr nach genau dem Text in value gesucht, sondern nach dem regulären Ausdruck, der gemäß der Syntax (Schreibweise) des ECMA-Standards geschrieben sein muss:

https://learn.microsoft.com/de-de/cpp/standard-library/regular-expressions-cpp?view=msvc-170

^ Diese Seite entspricht im Grunde der deutschen Version der anderen Seite.

Gruß


Antonio Landsberger

ComputerWorks GmbH

http://www.computerworks.de

Geschrieben
vor einer Stunde schrieb Antonio Landsberger:

Also, ich habe mittlerweile eine Rückmeldung des Entwicklers erhalten. Ich war mit meiner Vermutung schon nah dran.
Nehmen wir die Funktion aus dem Beispiel:

=XLookup(value, [use_pattern], not_found_value, array_lookup, array_result)

value steht hierbei für die Abfrage und zwar in Abhängigkeit von dem optionalen nächsten Wert, der einen booleschen Wert darstellt: wahr/falsch. Wahr/falsch können in diesem Zusammenhang auch als 1 oder 0 geschrieben werden.

Wenn anstelle von [use_pattern] eine 1 geschrieben wird, wird nicht mehr nach genau dem Text in value gesucht, sondern nach dem regulären Ausdruck, der gemäß der Syntax (Schreibweise) des ECMA-Standards geschrieben sein muss:

https://learn.microsoft.com/de-de/cpp/standard-library/regular-expressions-cpp?view=msvc-170

^ Diese Seite entspricht im Grunde der deutschen Version der anderen Seite.

 

Interessant, vielen Dank!

=XTABELLENSUCHE('Fenster\w*', 1, 0, 'KostenMat':$B$1..$B$999, 'KostenMat':$C$1..$C$999)

funktioniert aber nicht

 

=XTABELLENSUCHE('Fenster\w*', 0, 0, 'KostenMat':$B$1..$B$999, 'KostenMat':$C$1..$C$999)

auch nicht

 

=XTABELLENSUCHE('Fenster\w*', 0, 'KostenMat':$B$1..$B$999, 'KostenMat':$C$1..$C$999)

funktioniert, aber sucht genau den Text 'Fenster\w*'

 

Gib es vielleicht ein Beispiel?

 

🫣

 

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden
  • Forenstatistik

    • Themen insgesamt
      26,2Tsd
    • Beiträge insgesamt
      136,1Tsd
×
×
  • Neu erstellen...