Wie kann ich in Excel aus einer Zelle eine Zahl auslesen die in Klammern gesetzt ist und die Text enthält?

7 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
Iamiam  01.04.2016, 01:51

@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)

0
Oubyi, UserMod Light  01.04.2016, 03:04
@Iamiam

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.

1

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

Oubyi, UserMod Light  01.04.2016, 16:04

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.

0

Verstehe ich es so richtig:

In der Zelle steht ein Text und dahinter die Anzahl und Du möchtest nun die Anzahl auslesen?

asdundab  31.03.2016, 22:59

Nein inder Stelle steht eine Zeichenkette (beliebig lang) und die 2. Stelle soll ausgeöesen und in einer anderen Zelle ausgegeben werden.

1

=TEIL(A1;2;1)

Wenn in A1 steht: '(1 Raporte)' und nur die Information '1' benötigt wird.