Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Zahlenwerte in einer Zelle trennen





Frage

Ich habe eine Webabfrage erstellt. Das habe ich im 3. Datenblatt gemacht. Dort kommen nun die Daten in dieser Form an: 104.13 (100) die Zahl 104.13 brauche ich aber nun im 2. Datenblatt in Zelle Q3 und die 100 im 1. Datenblatt in Zelle Q3. Außerdem bräuchte ich eine Möglichkeit wie die Zahl 104.13 in 104,13 geändert wird. Weiss jemand dort Möglichkeiten? Kann mir jemand helfen?

Antwort 1 von Saarbauer

Hallo,

den Punkt durch ein Komma zu ersetzten geht mit "Bearbeiten""Ersetzen" oder willst du eine Funktion bzw. VBA-Lösung?

Für die 2 Frage, sind die Zahlen gleich lang oder kann die Länge variieren.

Gruß

Helmut

Antwort 2 von Esnabur

Also die Zahlen in der Klammer können von 0 - 100 liegen und die davor von 0.0 - 109.99

eine VBA-Lösung um den Punkt durch ein Komma zu ersetzten wäre warscheinlich praktikabler da die Werte jeden Tag aktualisiert werden und ich die immer per Hand ändern müsste.

aus dem 3. Datenblatt hole ich ja die Werte hiermit: =´Import´!Q3

nun habe ich im 2. Datenblatt ja diese Zahlen stehen und brauche ja nur einen Teil davon.

Antwort 3 von Saarbauer

Hallo,
wäre es möglich die Datei mal per Email zu bekommen, da ich so auf Anhieb mir das nicht richtig vorstellen kann.

Teil mir deine Emailadresse mal mit.

Gruß

Helmut

Antwort 4 von rainberg

Hallo Esnabur,

Tabelle3!A1=104.13(100)
Tabelle2!Q3=WECHSELN(LINKS(A1;FINDEN("(";A1)-1);".";",")*1
Tabelle1!Q3=TEIL(A1;FINDEN("(";A1);99)

Gruß
Rainer

Antwort 5 von Esnabur

Sir_Roland@gmx.net ist meine Email

Antwort 6 von Esnabur

danke rainberg.

nur wo muss ich das reinschreiben?

Antwort 7 von rainberg

Hallo Esnabur,

sorry noch ne Korrektur

Tabelle3!A1=104.13(100)
Tabelle2!Q3=WECHSELN(LINKS(Tabelle3!A1;FINDEN("(";Tabelle3!A1)-1);".";",")*1
Tabelle1!Q3=TEIL(Tabelle3!A1;FINDEN("(";Tabelle3!A1);99)

es steht vor jeder Formel, wo du diese reinschreiben musst.
Beim Ausgangswert bin ich davon ausgegengen dass er in Tabelle3!A1 steht, weil du keine Angaben gemacht hast.

Gruß
Rainer

Antwort 8 von Esnabur

Tabelle3!F27=104.13(100)
Tabelle2!Q3=WECHSELN(LINKS(Tabelle3!F27;FINDEN("(";Tabelle3!F27)-1);".";",")*1
Tabelle1!Q3=TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27);99)

also so z.b.

nur was mache ich wenn beim nächsten aktualisieren die Zahlen anders sind? 103.99(100) z.b. oder 99.0(99)

Antwort 9 von michel123

hi all :)

hier eine function bzw formel die deinen flexiblen wuenschen entspricht,in einem allgemeinen modul abzulegen ist und dann als formel benutzbar ist

gruss michel

Rem schreibweise bzw. beispiel
Rem es wird die ERSTE zahl eines string uebergeben und der punkt in ein komma gewandelt
Rem Sumtext(A1;0)
Rem es wird die ZWEITE zahl eines string uebergeben und der punkt in ein komma gewandelt
Rem Sumtext(A1;1)

Function Sumtext(Zelle As Range, posX As Long) As Double
Dim zahl1 As String
Dim zahl2 As Boolean
Dim zeich1 As Integer
Application.Volatile
For zeich1 = 1 To Len(Zelle)
If Asc(Mid$(Zelle, zeich1, 1)) > 47 And Asc(Mid$(Zelle, zeich1, 1)) < 58 _
Or Asc(Mid$(Zelle, zeich1, 1)) = 44 Or Asc(Mid$(Zelle, zeich1, 1)) = 46 Then
zahl1 = zahl1 & Mid$(Zelle, zeich1, 1)
Else
If posX = 0 Then
Exit For
End If
If posX = 1 Then
zahl2 = False
zahl1 = ""
End If
End If
If Mid$(Zelle, zeich1, 1) = "." Then
zahl2 = True
End If
Next zeich1
If zahl2 = True Then
Sumtext = Sumtext + zahl1 / 100
Else
Sumtext = Sumtext + zahl1
End If
End Function

Antwort 10 von rainberg

Hallo Esnabur,

probier´s doch einfach mal aus mit anderen Ausgangswerten, die Formel sollte das können.

Gruß
Rainer

Antwort 11 von Esnabur

@ rainberg
Ich weiss immer noch nicht wo genau in Excel ich das schreiben soll.

@ michel123
Ich habe das nun in VB unter Allgemein drinn. mit welcher Formel benutze ich das denn nun? ka wie ich das rausfinden soll

Antwort 12 von michel123

hi :)

nachdem die function in einem allgemeinen modul abgelegt ist,ist diese unter ihren namen,hier waere es Sumtext unter einfuegen/function benutzbar

Sumtext(A1;0) entspricht der ersten zahl

Sumtext(A1;1) entspricht der zweiten zahl

bei beiden varianten wird der punkt durch ein komma ersetzt

wobei mit formeln auch einiges geht :)) die ich net kenne :))

gruss michel

Antwort 13 von rainberg

Hallo Esnabur,

nun noch mal gaaaaanz langsaaaam:-))

In Tabelle3 Zelle F27steht dein Ausgangswert
z. B. 104.13(100)

In Tabelle2 Zelle Q3 schreibst du die Formel
=WECHSELN(LINKS(Tabelle3!F27;FINDEN"(";Tabelle3!F27)-1);".";",")*1

In Tabelle1 Zelle Q3 schreibst du die Formel
=TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27);99)

Gruß
Rainer

Antwort 14 von Esnabur

ok, habe verstanden.

=TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27);99)
das funktioniert soweit, nur die Klammer soll er ja nicht ausgeben. Also jetzt so: (100) und so brauche ich das: 100

=WECHSELN(LINKS(Tabelle3!F27;FINDEN"(";Tabelle3!F27)-1);".";",")*1
wenn ich das so eingebe kommt so eine Alert wo steht: Die eingegebene Formel hat einen Fehler. usw.
Wenn ich dann auf OK gehe dann markiert er einen Bereich der Formel: FINDEN"

Antwort 15 von rainberg

Hallo Esnabur,

anstatt
=TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27);99)
nimmst du
=WECHSELN(TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27)+1;99);")";"")*1

anstatt
=WECHSELN(LINKS(Tabelle3!F27;FINDEN"(";Tabelle3!F27)-1);".";",")*1
nimmst du
=WECHSELN(LINKS(Tabelle3!F27;FINDEN("(";Tabelle3!F27)-1);".";",")*1

Bei dieser Formel fehlte nur eine Klammer

Gruß
Rainer

Antwort 16 von Saarbauer

Hallo @raiberg,

in der Formel für Tabelle1 Q3 würdeich schreiben

=TEIL(´Tabelle3´!F27;FINDEN("(";´Tabelle3´!F27)+1;LÄNGE(´Tabelle3´!F27)-FINDEN("(";´Tabelle3´!F27)-1)

Damit funktioniert es auc bei unterschiedlicher Länge

Gruß

Helmut

Antwort 17 von rainberg

Hallo Helmut,

es führen immer viele Wege nach Rom, aber so wie du deine Formel geschrieben hast, funktioniert sie überhaupt nicht, da du anstatt der Apostrophe (die hier gar nicht erforderlich sind, da der Dateiname keine Leerzeichen enthält) irgendwelche andere Zeichen verwendet hast.

So wäre sie richtig:
=TEIL(Tabelle3!F27;FINDEN("(";Tabelle3!F27)+1;LÄNGE(Tabelle3!F27)-FINDEN("(";Tabelle3!F27)-1)*1

Das *1 wandelt den String in eine wirkliche Zahl um.
Übrigens meistert meine Formel die unterschiedlichen Längen auch.

Gruß
Rainer

Antwort 18 von Esnabur

Super danke an euch. Nun klappt das so wie ich es wollte :)

nur noch eine Frage. Warum geht nur eine Webabfrage pro Datenblatt? oder gibt es eine möglichkeit mehrere Webabfragen auf einem Datenblatt zu erstellen?

Antwort 19 von michel123

hi all :)

bei mir ist noch kleiner fehler,da lustiges problem ist folgt die korrigierte variante,bald :))

gruss michel

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: