Seite 1 von 1

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 16:41
von hawe
Naja, die Funktion GLÄTTEN ist so wie sie ist. Was soll man da verändern können.
Du musst dann entweder eine Nachbildung finden oder trim via Makro als Tabellenfunktion einführen...

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 17:21
von Stephan
gibt es eine Möglichkeit die "Glätten"-Funktion wie die Excel-Trim Funktion zu benutzen. D.h. mehrere aufeinanderfolgende Leerzeichen innerhalb des Strings sollen nicht auf ein Leerzeichen reduziert werden.
Ich verstehe den ganzen Sinn der FRage nicht da sich beide Funktionen meines Wissens in OOo und Excel identisch verhalten und innerhalb eines Textes mehrere aufeinanderfolgende Leerzeichen zu einem Leerzeichen reduzieren.
Ansonsten nenne eine Version von MS Excel wo sich das anders verhält.


Anmerkung:
natürlich kannst Du nicht die VBA-Funktion Trim (wobei wiederum die StarBasic-Funktion Trim völlig gleich funktioniert) mit der gleichnamigen Tabellenfunktion vergleichen, wobei mir dabei auch nicht klar wäre wie Du dann was in Excel tust, denn wenn was auch immer bezüglich Trim in Excel ginge, ginge das Gleiche in Calc, zumindest sehe ich nirgens einen Unterschied.





Gruß
Stephan

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 17:58
von hawe
TRIM
Entfernt alle vorangestellten und nachgestellten Leerzeichen aus einem Zeichenkettenausdruck.
GLÄTTEN
Entfernt Leerstellen aus einer Zeichenfolge und lässt nur einzelne Leerzeichen zwischen Worten stehen.

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 18:33
von lorbass
hawe hat geschrieben:TRIM
Entfernt alle vorangestellten und nachgestellten Leerzeichen aus einem Zeichenkettenausdruck.
GLÄTTEN
Entfernt Leerstellen aus einer Zeichenfolge und lässt nur einzelne Leerzeichen zwischen Worten stehen.
Du vergleichst Äpfel mit Birnen!

GLÄTTEN ist sowohl in Calc als auch in Excel eine Arbeitsblatt-Funktion, TRIM ist in OpenOffice.org eine Star-Basic-Funktion und in MS Office eine Visual-Basic-Funktion. Und wie Stephan bereits schrieb, funktioniert GLÄTTEN in OOo genauso wie in Excel, und TRIM funktioniert in Basic-Dialekten der beiden Suiten identisch.

Wo ist jetzt dein Problem?

Gruß
lorbass

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 18:47
von Stephan
TRIM
Entfernt alle vorangestellten und nachgestellten Leerzeichen aus einem Zeichenkettenausdruck.
GLÄTTEN
Entfernt Leerstellen aus einer Zeichenfolge und lässt nur einzelne Leerzeichen zwischen Worten stehen.
Sorry, nur was ist jetzt die Aussage? Ich kann in einem deutsch lokalisierten OOo testen das sich dort Glätten() identisch zu Glätten() in einem deutsch lokalisierten MS Excel verhält. Ich kannweiterhin in einem englisch lokalisierten OOo feststellen das sich dort TRIM()(*) so verhält wie Glätten().
Einzig kann ich nicht mit einem englisch lokalisierten MS Excel testen, weil ich Keines besitze, ich bin jedoch zuversichtlich das sich dort TRIM()(*) wie Glätten() verhält.

(*)
immer sind hierbei die englischsprachig-lokalisierten Tabellenfunktionsnamen gemeint


Oben angesprochene Tests habe ich gemacht bevor ich meinen ersten Post schrieb, obwohl ich eigentlich fand sie wären überflüssig da doch nun überhaupt nicht zu erwarten ist das 2 Tabellenfunktionen, die sich nur aus der Lokalisierung ergeben (ihrer Natur nach also ein und dieselbe Funktion sind), sich verschieden verhalten sollten.

Die Quelle Deiner Aussagen kenne ich nicht, Ausführungen zu Glätten()/TRIM() von MS gibts z.B. hier:
http://office.microsoft.com/de-de/excel ... 11031.aspx
http://office.microsoft.com/en-us/excel ... 11033.aspx

und die Hilfetexte aus OOo lauten:

GLÄTTEN
Entfernt Leerstellen aus einer Zeichenfolge und lässt nur einzelne Leerzeichen zwischen Worten stehen.
Syntax
GLÄTTEN("Text")
Text bezieht sich auf den Text, in dem Leerstellen entfernt werden sollen.
Beispiel
=GLÄTTEN("Hallo") gibt Hallo zurück.


TRIM
Removes spaces from a string, leaving only a single space character between words.
Syntax
TRIM(Text)
Text refers to text in which spaces are removed.
Example
TRIM(" hello") returns "hello".


Tut mir leid, ich bestehe nicht darauf Recht zu haben, nur ich sehe derzeitig nicht wo ich Unrecht hätte und glaube ich habe auch eigentlich alles erklärt.
(Selbst wenn es um das 'VBA-Trim' handeln sollte hatte ich mich bereits geäußert das dieses nicht dasselbe ist wie die Tabellenfunktion, darüber hinaus jedoch auch in OOo gleich funktioniert und mir vor allem nichts bekannt ist wie/wo man in Excel eine Situation schaffen könnte (VBA-Trim/TRIM()/GLÄTTEN()) die in Summe irgendwie von gleicher Situation in Calc (StarBasic-Trim/TRIM()/GLÄTTEN()) abwiche. Hier gehts also einfach um ein mögliches Anwendungsbeispiel was sich in Excel und Calc anders verhielte und da kenne ich an der konkreten Stelle derzeitig Keines.)



Gruß
Stephan

Re: GLÄTTEN() <-> TRIM()

Verfasst: Mi, 03.12.2008 19:22
von hawe
Ist das sooo schwer zu verstehen?
Die Aufgabenstellung ist doch klar beschrieben...
Hinne will in eine Tabellenfunktion, die wie Trim vor und nachgestellte Leerzeichen abtrennt und sonst keine Leerzeichen im String anfasst. Von XL ist nur in sofern die Rede als dass er die VBA Funktion Trim als Beispiel heranzieht. Trim ist ja auch in Starbasic Funktionsumfang enthalten und die kann er in diesem Fall dann via Benutzerdefinierter Funktion eingebauen - auf TRIM-Funktionalität zurückgreifen.
Wer lesen kann ist klar im VOrteil und kann vielleicht die unterschiedliche Funktionalität von TRIM und GLÄTTEN ausmachen. Da muss man keine Birnen und Äpfel vergleichen, sonder einen Vorschlag machen, wie die TRIM-Funktionalität rüber kommt in eine Tabellenfunktion...

Code: Alles auswählen

Function LRTrim( str as string)
LRTrim=trim(str)
End Function
und habe fertig...
Wobei mir eine TRIM-Nachbildung aus Tabellenfunktionen als wenig aussichtsreicher Weg erscheint, oder?

Re: GLÄTTEN() <-> TRIM()

Verfasst: Do, 04.12.2008 13:36
von Gert Seler
Aber Hallo Leute,
es gibt die Funktion "TRIM", welche in VBA & Star-/Ooo-Basic Verwendung findet. Hier werden alle "Leerzeichen" vor und hinter
einem STRING (Text) gelöscht.

Und ergo die Funtkion "GLÄTTEN", mit den Beschreibungen : "Löscht Leerzeichen in einem Text." (MS_Excel) und "Löscht überflüssige
Leerzeichen zwischen Worten." (Ooo_Calc-Hilfe).

Dann bleiben da noch die Funktionen in MS_Excel & Ooo_Calc zur Textbearbeitung mit : LINKS; RECHTS & TEIL.
Blieben also die letzte Alternative, damit der Wunsch von Hilland erfüllt wird.

mfg
Gert