Frage von Selitos, 98

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

Detaillierung

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

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Oubyi, Community-Experte für Excel, 58

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.

Kommentar von Iamiam ,

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

Kommentar von Iamiam ,

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!

Kommentar von Oubyi ,

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.

Kommentar von Oubyi ,

Danke fürs

Antwort
von Sven8219, 56

Kurze Frage, bevor du von mir eine ausführliche Antwort bekommst: Ist es immer (X?

Also ich meine kommt immer die Klammer und direkt danach die Zahl? Kein Leerzeichen oder sonstiges?

Wie lang kann die Zahl sein? Einstelllig....Zehnstellig?

Antwort
von Distel35, 57

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

Antwort
von Selitos, 25

Kurzes Zwischenstatement meinerseits:

Leider bin ich noch nicht dazu gekommen alle Vorschläge zu testen (bin auf der Arbeit bis dato nicht mehr dazu gekommen).

Nur so viel: Alle Vorschläge, die ich bisher getestet habe, führten nicht zu dem gewünschten Ergebnis.

Ich melde mich wieder, wenn ich mehr weiß.

LG

Selitos

Expertenantwort
von Ninombre, Community-Experte für Excel, 38

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

Kommentar von Oubyi ,

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.

Antwort
von ipuhvhd, 52

Verstehe ich es so richtig:

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

Kommentar von asdundab ,

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

Antwort
von gh7401, 27

=TEIL(A1;2;1)

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

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten