Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeichen von links und rechts zählen

Zeichen von links und rechts zählen
30.05.2008 12:50:00
links
Hallo zusammen,
Situation:
Mehrere Zellen mit Werten wie: "-10.00 bis 20.00", oder "100.00 bis 110.00" oder "-50.00 bis 200.00"
Die Werte bezeichnen Temparaturbereiche in Grad Celsius.
Aufgabe 1: Formular mit 2 Input feldern in den man den Bereich eingeben kann. (Krieg ich selbst hin)
Aufgabe 2: Werte aus den Zellen auslesen, einaml alles vor "bis" und einmal alles Nach "bis", ohne irgendwelche Leerzeichen. Die Werte sind unterschiedlich lang (durch das minus-Zeichen und da Werte in einstelligen, zweistelligen und dreistelligen Bereich sind)
Somit ist die "Left" formel ein wenig schwierig zu bilden. Sollte so was wie "Lies alles bis zum b von Links und lis alles bis zum s von rechts" heissen.
Ziel: Eingeben eines Bereichs im Formular, dann alle entsprechenden Zellen, die in dem Bereich liegen, ausgeben!
Für Tipps und Anregungen bis ich sehr dankbar...
Inzwischen werde ich mich mal durch die VBA-Hilfe wühlen und nach Left und Right Formeln suchen...
Gruss
Rolf

Anzeige

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:11:07
links
=LINKS(A1;FINDEN("bis";A1;1)-2)
=RECHTS(A1;LÄNGE(A1)-FINDEN("bis";A1;1)-3)
wären die Excel-Formeln für die beiden Zahlen. Allerdings ist das dann noch Text. Normalerweise könnte man den mit 1 multiplizieren, aber das geht bei mir nicht, da als Dezimaltrennzeichen nicht der Punkt eingestellt ist. Falls das bei dir auch nicht so ist, müsste man die Formeln verändern und die Zahl noch vor und nach dem Punkt "zerlegen".
Gruß
David

Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:12:00
links
Hallo Rolf,
Warum du dich da mit VBA abmühst, versteh ich nicht. Noch viel weniger was das mit Left und Right zu tun haben soll. Wie wär's den z.B. mit dem Autofilter ? oder... wenn die Werte in Zahlen vorliegen, für was dann noch Rinks und Lechts ?
GreetZ Renée

AW: Zeichen von links und rechts zählen
30.05.2008 13:34:00
links
Mit Autofilter kann ich ja nicht nach Zellen filtern die im Bereich von bis liegen, vorallem, wenn die Zellen als Text formatiert sind. Ich brauch den ersten Wert (Im Beispiel "-10.00") und einen zweiten Wert (Im Beispiel "20.00") mit denen ich rechnen kann. dann vergleiche ich, wie die Werte zur Eingabe im Formular steht, und aufgrund dessen entscheidet sich, ob ich die Zeile will oder nicht. (Die werte kriege ich ja nun durch mein Makro (dass sicher noch zu verbessern ist).
Gruss
Rolf

Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:12:55
links
Hallo Rolf,
warum einfach wenn es kompliziert auch geht. Weshalb nicht die Werte in je eine Zelle?
50.00 | bis | 20.00
Excel hat davon genung und satt.
Ansonsten geht das natürlich über die instr - function (nach "bis" suchen) und dann mit Left, Mid herraus nehmen.
Gruß Armin

Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:22:00
links
Klar, alles in eine Zelle wäre sicher einfacher. Wird aber aus einem anderen Programm herausgelesen und in die Excel-Tabelle eingefügt. Und das alles zu trennen ist mir zu aufwendig, da wir schon mühe haben, dass das andere Programm überhaupt was in Excel übernimmt...
Trotzdem Danke!
Gruss
Rolf

Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:17:05
links
Hallo Rolf,
zu 2:
=LINKS(A1;FINDEN(" ";A1;1))
=RECHTS(A1;LÄNGE(A1)-FINDEN(" ";A1;FINDEN(" ";A1;1)+1))
liefert die Werte links bzw. rechts von bis.
Gruß Harald

AW: Zeichen von links und rechts zählen
30.05.2008 13:24:00
links
Also, ich muss am Ende 2 Werte haben...
so hab ich's gelöst, aber ist sehr wahrscheinlich wahnsinnig umständlich:
Dim Wert1 As Variant
Dim Wert2 As Variant

Sub test()
Wert = ActiveCell
a = 1
Do Until b = "b"
b = Left(Wert, a)
If Right(b, 1) = " " Then
Wert1 = b
Call test2
b = ""
Exit Sub
Else
a = a + 1
End If
Loop
End Sub



Sub test2()
Wert = ActiveCell
a = 1
Do Until c = "c"
c = Right(Wert, a)
If Left(c, 1) = " " Then
Wert2 = c
Call ausgabe
c = ""
Exit Sub
Else
a = a + 1
End If
Loop
End Sub



Sub ausgabe()
MsgBox "Wert: " & Wert1 & " bis " & Wert2, vbOKOnly, "Werte"
End Sub


Wenn ich die beiden Werte habe, kann ich sie vergleichen mit den Eingaben im Formular.

Anzeige
AW: Zeichen von links und rechts zählen
30.05.2008 13:35:43
links
Hi Rolf,
sehr wahrscheinlich wahnsinnig umständlich ...es geht ;-)
auch so:

Sub atomar()
Dim vWerte
vWerte = Split(ActiveCell.Value, " bis ")
MsgBox vWerte(0) & " bis " & vWerte(1)
End Sub


wohl zu primitiv, oder was ? (owT)
30.05.2008 16:13:20
Renee

Anzeige
AW: Zeichen von links und rechts zählen
02.06.2008 13:40:00
links
Hach ja... Ich liebe das an diesem Forum: Da programmiert man sich 'nen Wolf, und dann kommt die Antwort mit einem fünfzeiligen Makro... ;)
Danke!
Gruss
Rolf

Sorry, es ging natürlich auch...
02.06.2008 13:57:59
Renee
mit nur 3 Zeilen, Rolf:

Sub photon()
Dim vWerte: vWerte = Split(ActiveCell.Value, " bis "): MsgBox vWerte(0) & " bis " & vWerte(1)
End Sub


GreetZ Renée

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeichen von links und rechts zählen in Excel


Schritt-für-Schritt-Anleitung

Um Zeichen in einer Excel-Zelle bis zu einem bestimmten Zeichen zu zählen oder alles nach einem bestimmten Zeichen auszulesen, kannst Du folgende Schritte befolgen:

  1. Zelle auswählen: Wähle die Zelle aus, die den Text enthält, z.B. "100.00 bis 110.00".
  2. Formel für den linken Teil: Nutze die folgende Formel, um den Text bis zum Wort "bis" zu extrahieren:
    =LINKS(A1;FINDEN("bis";A1;1)-2)
  3. Formel für den rechten Teil: Verwende diese Formel, um den Text nach "bis" zu extrahieren:
    =RECHTS(A1;LÄNGE(A1)-FINDEN("bis";A1;1)-3)
  4. Text in Zahlen umwandeln: Um die extrahierten Werte als Zahlen zu nutzen, multipliziere sie mit 1 oder verwende die Funktion WERT():
    =WERT(LINKS(A1;FINDEN("bis";A1;1)-2))

Mit diesen Formeln kannst Du die Werte für Temperaturbereiche in Grad Celsius auslesen.


Häufige Fehler und Lösungen

  • Fehler: #WERT!

    • Lösung: Stelle sicher, dass die Zelle, die Du analysierst, tatsächlich Text im erwarteten Format enthält und dass kein zusätzliches Leerzeichen vorhanden ist.
  • Fehler: Falsches Dezimaltrennzeichen

    • Lösung: Wenn Du mit Punkt oder Komma als Dezimaltrennzeichen arbeitest, überprüfe die Ländereinstellungen von Excel.

Alternative Methoden

Eine einfache Alternative zu den Formeln ist die Verwendung von VBA (Visual Basic for Applications). Hier ein kurzes Beispiel, wie Du die Werte mit einem Makro extrahieren kannst:

Sub WertenExtrahieren()
    Dim vWerte
    vWerte = Split(ActiveCell.Value, " bis ")
    MsgBox vWerte(0) & " bis " & vWerte(1)
End Sub

Diese Methode benötigt nur eine Zeile, um die Werte zu extrahieren, und ist besonders nützlich, wenn Du regelmäßig mit solchen Daten arbeitest.


Praktische Beispiele

Angenommen, Du hast folgende Werte in Zelle A1:

  • "-10.00 bis 20.00"
  • "100.00 bis 110.00"
  • "-50.00 bis 200.00"

Verwende die oben genannten Formeln, um:

  • Für den Wert "-10.00": =LINKS(A1;FINDEN("bis";A1;1)-2) ergibt "-10.00".
  • Für den Wert "20.00": =RECHTS(A1;LÄNGE(A1)-FINDEN("bis";A1;1)-3) ergibt "20.00".

Diese Formeln helfen Dir, die Excel-Zeichen zu zählen und die Werte für weitere Berechnungen zu nutzen.


Tipps für Profis

  • Excel Funktionen kombinieren: Du kannst auch Kombinationen von Excel-Funktionen wie LÄNGE() und FINDEN() nutzen, um die Anzahl der Zeichen bis zu einem bestimmten Zeichen zu zählen:
    =FINDEN("bis";A1)-1
  • Dynamische Bereiche: Wenn Du mit großen Datenmengen arbeitest, ziehe in Erwägung, die Formeln in einer Matrix oder mit INDEX() und VERGLEICH() zu kombinieren.

FAQ: Häufige Fragen

1. Wie zähle ich die Zeichen bis zum ersten Leerzeichen?
Verwende die Formel:

=FINDEN(" ";A1)-1

2. Kann ich auch mehrere Zellen gleichzeitig analysieren?
Ja, Du kannst die Formeln in mehreren Zellen anwenden, indem Du sie nach unten ziehst oder die Formeln in eine Matrixformel umwandelst.

3. Wie gehe ich mit Leerzeichen in den Werten um?
Nutze die Funktion GLÄTTEN(), um überflüssige Leerzeichen zu entfernen, bevor Du die anderen Formeln anwendest:

=GLÄTTEN(A1)

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige