Autor: Peter Haserodt --- Aus Excel Standard - Gruppe:
Funktionen Länge Links Rechts Teil
Autor: Peter Haserodt - Erstellt: ? - Letzte Revision: ?
Länge Links Rechts Teil
Diese Funktionen sind alle miteinander verwandt und deshalb möchte ich sie hier gemeinsam abhandeln.
Tatsächlich sind sie prinzipiell einfach zu verstehen, ja wenn - wenn es das Wörtchen wenn nicht gäbe.
Für den Uneingeweihten halten sie ganz schnell ein paar unliebsame Überraschungen bereit.
Nach dem Motto: Erstens kommt es Zweitens anders als du Drittens denkst!
| A | B | C | D | E | F | G |
1 | | | | | | | |
2 | | | Länge | Links | Rechts | Teil | |
3 | | Haustier | 8 | Ha | er | usti | |
4 | | | | | | | |
Formeln der Tabelle |
Zelle | Formel | C3 | =LÄNGE(B3) | D3 | =LINKS(B3;2) | E3 | =RECHTS(B3;2) | F3 | =TEIL(B3;3;4) |
|
Tatsächlich müsste ich fast nichts mehr dazu sagen, trotzdem möchte ich die Funktionen kurz erklären:
1. Länge und allgemeine Hinweise
=Länge(Text)
So jedenfalls zeigt es Excel an, dass ein Text als Argument erwartet wird. Dies ist ein wenig verwirrend, denn der Text kann auch eine Zahl sein. Dies gilt für alle der Funktionen.Bsp.:
Formeln der Tabelle |
Zelle | Formel | C3 | =LÄNGE(B3) | C4 | =LÄNGE(B4) |
|
Die Funktion Länge erwartet also ein Argument, dessen Länge sie Auswerten kann, also die Anzahl der Zeichen.
2.Links
=Links(Text;AnzahlZeichen)
Links gibt mir die ersten Zeichen beginnend mit dem ersten Zeichen und zwar so viele, wie in AnzahlZeichen angegeben.
Lasse ich AnzahlZeichen weg, wird standardmäßig 1 angenommen (also nur das erste Zeichen)
Ist AnzahlZeichen größer als die Länge, so wird mir die ganze Zeichenkette zurückgegeben. Dies wird gerne für spitzfindige Matrixfunktionen benutzt.
3.Rechts
Wie Links , nur von Rechts aus schauend. Da muss ich wohl nicht mehr dazu sagen.
4.Teil
=Teil(Text;Start;Anzahlzeichen)
Hier muss ich angeben, ab wann geguckt werden soll(von Links) und wieviel Zeichen ich zurückhaben will.
Beide Argumente müssen angegeben werden - leider.
Hinweis für VBAler
Am Anfang ist man schnell dabei, die Teilfunktion in Excel mit der Mid Funktion in VBA gleichzusetzen.
Aber während man in VBA das dritte Argument weglassen kann, und somit die Zeichenkette ab einer Position zurückbekommt, ist dies mit der Teilfunktion nicht möglich. Sehr ärgerlich. Man muss da also Umwege machen. Z.B. einfach eine sehr große Zahl für das dritte Argument.
Ist der Startwert größer der Anzahl Zeichen wird eine leere Zeichenkette zurückgegeben.
Ist AnzahlZeichen größer als verbleibende Restzeichen, wird ab Start alles ausgegeben.
Ich sehe was, was du nicht siehst und das ist ...
Ja hallo, ist Excel zu blöd für alles oder wie oder was. Mag es keine 0 oder aber wie.
Tatsächlich ist es ganz ganz wichtig zu verstehen, dass hier der
INHALT der Zelle ausgewertet wird und nicht die Anzeige!!!
Die Zelle B2 habe ich benutzerdefiniert mit dem Zahlenformat: 00000 versehen und die Zahl 546 eingegeben.
Wir als Anwender sehen somit 00546 während der Inhalt der Zelle in Wirklichkeit 546 ist.
Unsere Funktionen werten aber nur den
INHALT aus.
| A | B | C | D | E | F |
1 | | | Länge | Links - 2 | Rechts -2 | Teil - 2 - 3 |
2 | Standard | Hausmaus | 8 | Ha | us | aus |
3 | Standard | 12345 | 5 | 12 | 45 | 234 |
4 | Standard | -12345 | 6 | -1 | 45 | 123 |
5 | Benutzerdefiniert Währung | 12.345,00 € | 5 | 12 | 45 | 234 |
6 | Benutzerdefiniert TT.MM.JJJJ | 31.12.2007 | 5 | 39 | 47 | 944 |
7 | Benutzerdefiniert T.MMM | 31. Dez. | 5 | 39 | 47 | 944 |
8 | Benutzerdefiniert TT.MM.JJJJ | 01.01.1900 | 1 | 1 | 1 | |
9 | Benutzerdefiniert hh:mm | 12:48 | 17 | 0, | 33 | ,53 |
10 | Benutzerdefiniert TT.MM.JJJJ hh:mm | 01.01.2008 12:48 | 16 | 39 | 33 | 944 |
Formeln der Tabelle |
Zelle | Formel | C2 | =LÄNGE(B2) | D2 | =LINKS(B2;2) | E2 | =RECHTS(B2;2) | F2 | =TEIL(B2;2;3) |
|
Die Formeln können Sie nach unten ziehen.
Dies schauen wir uns genauer an!
Wenn man auf diese Tabelle schaut, kann einem leicht das Gruseln überfallen.
Hier ist aber auch fast nichts, wie wir es erwarten und zum Teil richtig abartig.
In der Zelle B5 habe ich einfach die Zahl 12345 eingeben. Dies ist der tatsächliche Inhalt und somit erklärt sich dieses.
Ab Zelle B6 wird es aber ganz verwirrend.
Tatsächlich liegt es einfach an der internen Darstellung von Datum und Uhrzeit. Der 1.1.1900 hat den Wert 1 uuups.
12:48 wird intern als 0,533333333333333 ausgewertet usw.
Den Hintergrund dieser Darstellungen bzw. der Entstehung dieser Zahlen habe ich im Tutorial :
Datum und Zeit
beschrieben.
Des weiteren empfehle ich Ihnen zu benutzerdefinierten Zellformaten den Artikel von Beate Schmitz:
Benutzerdefiniertes Zellformat
Ich hoffe, ich konnte Sie für die Tücken dieser Funktionen sensibilisieren.
Aber gibt es eine Lösung, um z.B. aus einem Datum welches nur als Datum formatiert ist, den Tag sich anzeigen zu lassen.
Ja - über den Umweg der Text Funktion.
Bsp:
| A | B | C | D |
1 | | | | |
2 | | Benutzerdefiniert TT.MM.JJJJ | 31.12.2007 | 31 |
Formeln der Tabelle |
Zelle | Formel | D2 | =TEXT(C2;"TT") |
|
Mehr zu dieser Funktion finden Sie unter:
Text
Hinweis:
Natürlich können Sie auch den Tag numerisch ermitteln, über die Funktion Tag(C2)
Diese ergibt Ihnen z.B. bei dem 01.12.2007 die 1 zurück (mit der Sie dann auch weiterrechnen können), während die erwähnte Textfunktion hier 01 als Text zurückgibt:
Formeln der Tabelle |
Zelle | Formel | D2 | =TEXT(C2;"TT") | E2 | =TAG(C2) |
|
Weitere Artikel der Gruppe: Funktionen Aus Excel Standard
Nach oben