Wie kann ich in Excel aus einer Zelle eine Zahl auslesen die in Klammern gesetzt ist und die Text enthält?
In Zelle A1 steht folgender Text: (1 Raporte)
Jetzt benötige ich in der Zelle B1 nur die Information "1"
Gibt es eine Formel, die mir das ausließt?
Ich habe es bereits mit folgenden Formeln versucht:
- =TEIL($A1;FINDEN("(";$A1;1)+1;LÄNGE($A1)-(FINDEN("(";$A1;1)+1))
- Ergebnis ist dann aber: 1 Raporte
- {=LINKS(A1;MAX(ISTZAHL(TEIL(A1;SPALTE(A1:IQ1);1)1)SPALTE(A1:IQ1)))*1}
- Ergebnis ist dann aber: #WERT!
An dieser Stelle sei gesagt, dass ich mir diese Formeln ergoogelt habe und daher nur bedingt deren Funktion verstehe. Eine dieser Formeln also auf meine Bedürfnisse anpassen liegt außerhalb meiner Kompetenzen.
Ich bedanke mich für jeden konstruktiven Vorschlag.
LG
Selitos
7 Antworten
Ich beziehe mich jetzt mal auf Deinen Kommentar:
Nein inder Stelle steht eine Zeichenkette (beliebig lang) und die 2.
Stelle soll ausgeöesen und in einer anderen Zelle ausgegeben werden.
Das wäre:
=TEIL(A1;2;1)
Wenn das nicht reicht, dann erkläre bitte mal, welche Varianten vorkommen können. Also mehrstellige Zahlen? Zahlen an anderer Stelle? Zahlen immer hinter dem ( ?. Immer eine Leerstelle hinter der Zahl? Ist das immer die erste Leerstelle? Usw.
ich hab sie! (leider nimmt GF die Kopie aus der Zwischenablage nicht an!)
www.gutefrage.net/frage/excel-funktion-wie-stellen
dort hast Du sie in meine AW reingeschrieben!
STIMMT!
Daran habe ich gar nicht mehr gedacht.
Ich habe sie sogar noch in meiner personl.xlsb.
Public Function ZahlAusText(Bereich As Range)
Dim intKontr As Integer
Dim i As Integer
Dim Text As String
Dim strTeil As String
Dim strZahl As String
Text = Bereich.Value
For i = 1 To Len(Text)
strTeil = (Mid(Text, i, 1))
If IsNumeric(strTeil) Or strTeil = "," Then
If intKontr = 0 Or i = intKontr + 1 Then
strZahl = strZahl & strTeil
intKontr = i
Else
MsgBox "Mehr als eine Zahl!" & Chr(10) & "Es wird nur die erste Zahl angezeigt!"
Exit For
End If
End If
Next i
ZahlAusText = CDbl(strZahl)
End Function
Das würde natürlich auch passen.
Aber evtl. lässt sich das ja auch ohne VBA regeln.
Bin gespannt, auf die - hoffentlich kommende - Rückmeldung.
Hallo Selitos,
kannst du irgendein Schema erkennen, also etwa so
Zahl steht immer links und ist durch eine Leerstelle (blank) vom Text getrennt
Zahl ist immer durch ein und dasselbe Zeichen (blank, Komma, Semikolon, ...) vom Text getrennt
Kann man den Erzeuger der Daten dazu bewegen, anstelle Zahlen mit Text in einer Zelle zu liefern, dass er die Zahl und der Text in zwei verschiedenen Zellen liefert oder dass er nur die Zahl liefert unter der Spaltenüberschrift "Raporte".
Dann wäre es schon mal viel einfacher.
Gruß Distel
vielleicht so versuchen:
=TEIL($A1;FINDEN("(";$A1;1)+1;FINDEN(" ";$A1;FINDEN("(";$A1;1))-1),
Du hast den Beginn ja mit der Suchen der ( schon. Wenn nach der Zahl dann immer ein Leerzeichen kommt, würde ich das abfragen als Ende des Teils
Deine Formel klappt bei mir nur einwandfrei, wenn das "(" als erstes Zeichen steht. Dann könnte man sich die Suche danach aber auch sparen:
=TEIL($A1;2;FINDEN(" ";$A1;FINDEN("(";$A1;1))-1)
Falls vor der "(" noch Zeichen stehen können, sollte das so klappen:
=TEIL(A1;FINDEN("(";$A1;1)+1;FINDEN(" ";A1)-FINDEN("(";$A1;1)-1)
Aber ich hoffe ja noch, dass eine Rückmeldung des FS auf meine und Distels Nachfrage kommt, welche Varianten möglich sind.
Verstehe ich es so richtig:
In der Zelle steht ein Text und dahinter die Anzahl und Du möchtest nun die Anzahl auslesen?
Nein inder Stelle steht eine Zeichenkette (beliebig lang) und die 2. Stelle soll ausgeöesen und in einer anderen Zelle ausgegeben werden.
=TEIL(A1;2;1)
Wenn in A1 steht: '(1 Raporte)' und nur die Information '1' benötigt wird.
@Oubyi: Du hattest mal eine UdF, die die Zahlen mitten aus einem Text ausliest
(ist mindestens 2 Jahre her, ich finde ihre Spur nicht mehr)