online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon jojo5 vom 18.11.2020, 15:08 Options

Ziffern innerhalb einer Zelle ermitteln - durch Komma und ggf. blank getrennt

Hallo,

ich habe eine Zelle, in der bspw. folgendes steht (als Text):
13,14, 16
(man beachte mit und ohne Leerzeichen nach dem Komma).

Wie kann ich jetzt per Formel ermitteln, dass es sich bei diesem Zellinhalt um die Zahlen 13 14 und 16 handelt?

Viele Grüße
Jojo


Antwort schreiben

Antwort 1 von Saarbauer vom 18.11.2020, 15:43 Options

Hallo,

da angaben zur Anzahl der durch komme getrennten Zahl fehlen, die erste Teilung

in A1 Steht die Zahlengruppe

in B1 =LINKS(A1;FINDEN(",";A1;1)-1)
in C1 =LINKS(A1;FINDEN(",";A1;1)-1)

und dann in D1 so weiter wie in B1, jedoch anstelle A1 hier C1

Gruß

Helmut

Antwort 2 von rainberg vom 18.11.2020, 15:51 Options

Hallo JoJo,

die einfachste Lösung ist meines Erachtens die Menüfunktion "Text in Spalten".

Als Trennzeichen wählst Du Komma und Leerzeichen.

Gruß
Rainer

Antwort 3 von jojo5 vom 18.11.2020, 15:56 Options

Hallo,

zunächst zu Helmut:
in B1 und C1 steht das gleiche (copy-Fehler???) - d.h. ich bekomme in beiden Zellen 13 geliefert. Ich muss ja jetzt neu aufsetzen und ab der 13 erneut suchen ...

und zu Rainer:
ich muss das in einer Formel haben, weil es wiederkehrend in vielen Zeilen passiert.

Danke
Jojo

Antwort 4 von rainberg vom 18.11.2020, 15:59 Options

Hallo jojo,

Text in Spalten kannst Du auch über viele Zeilen anwenden und ist einfacher als Formeln.

Gruß
Rainer

Antwort 5 von Saarbauer vom 18.11.2020, 16:06 Options

Hallo,

in Zele D1 ist falsch e Formel, beim rüberkopieren nicht aufgepasst, nach D1

=TEIL(A1;FINDEN(",";A1;1)+1;100)

Gruß

Helmut

Antwort 6 von rainberg vom 18.11.2020, 16:36 Options

Hallo jojo,

wenn Du auf Formeln bestehst, kann ich Dir folgende anbieten:

B1
=LINKS(A1;FINDEN(",";A1)-1)

C1
=GLÄTTEN(TEIL(A1;FINDEN(",";A1)+1;FINDEN(",";A1;FINDEN(",";A1)+1)-1-FINDEN(",";A1)))

D1
=GLÄTTEN(RECHTS(A1;VERGLEICH(",";LINKS(RECHTS(A1;SPALTE(1:1));1);0)-1))

Formeleingabe in D1 mit Strg+Shift+Enter abschließen (Matrixformel)

Gruß
Rainer

Antwort 7 von jojo5 vom 18.11.2020, 16:49 Options

Hallo Rainer,

danke - das ist super. Allerdings funktioniert es nur bei max. 3 Werten. Es können aber bis zu 15 in einer Zelle auftauchen.

Welche der beiden letzten Formeln muss ich denn dann kopieren und entsprechend erweitern?

Gruß
Jojo

Antwort 8 von rainberg vom 18.11.2020, 16:53 Options

Hallo jojo,

auch das geht mit Formeln oder Makro, aber sorry das tue ich mir nicht an.

Ich hatte nicht umsonst auf "Text in Spalten" verwiesen.

Gruß
Rainer

Antwort 9 von jojo5 vom 18.11.2020, 16:55 Options

alles klar - trotzdem vielen Dank. Das hat mir schon weitergeholfen.

Gruß
Jojo

Antwort 10 von nighty vom 18.11.2020, 17:06 Options

hi all :-)

dann diese benutzerdefinierte formel

gruss nighty

der parameter 1 gibt die position des zahlenblockes wieder entsprechend anzupassen in den jeweiligen zellen bzw welcher wert angezeigt werden soll

= SumZahlen(Range("A2"), 1)

einzufuegen
alt+f11/projektexplorer/allgemeinesModul

nun ist die function unter einfuegen/funktion/benutzerdefiniert verfuegbar

Function SumZahlen(Zellen As Variant, zaehler1 As Integer) As String
Dim Zelle As Range
Dim zeich1 As Integer
Dim schalter As Boolean
Dim zaehler3 As Integer
ReDim zaehler2(Len([Zellen])) As String
zaehler3 = 1
Application.Volatile
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[0-9]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[0-9]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
SumZahlen = zaehler2(zaehler1)
End Function

Antwort 11 von jojo5 vom 18.11.2020, 17:16 Options

Hallo nighty,

vielen Dank. Ich versteh' zwar nur Bahnhof, aber wenn ich die Funktion auswähle, erhalte ich meine erste Ziffer in der Zelle. Wie komme ich jetzt zu den weiteren?

Gruß
Jojo

Antwort 12 von nighty vom 18.11.2020, 17:20 Options

hi jojo :-)

beachte den parameter der zur zeit 1 ist und den ersten zahlenblock von links liest

parameter 2 waere nun der zweite zahlenblock usw.

= SumZahlen(Range("A2"), 2)

gruss nighty

Antwort 13 von jojo5 vom 18.11.2020, 17:30 Options

Hallo,

sagenhaft! Das hatte ich eigentlich versucht - jetzt funktioniert's auf jeden Fall. Das ist echt irre. In ein paar ruhigen Minuten muss ich mal sehen, ob ich das checke.

Eine Anmerkung noch dazu: Bei "=SumZahlen(Range("A2"), 1)" erscheint #WERT, aber bei "=SumZahlen(A2;1)" kommt das richtige Ergebnis.

Noch was: Es reicht hoffentlich, dass die Funktion "in dieser Datei steckt", damit sämtliche user - auch an anderen Rechnern - damit arbeiten können, oder muss ich noch irgendwas aktivieren (z.B. wie bei Analyse-Funktionen)?

VIELEN DANK, Gruß
Jojo

Antwort 14 von nighty vom 18.11.2020, 17:37 Options

hi jojo :-)

diese schreibweise ist falsch daher der fehler

"=SumZahlen(Range("A2"), 1)"

richtig ist es so

erste zahlenblock
"=SumZahlen("A2", 1)"

zweite zahlenblock
"=SumZahlen("A2", 2)" usw.

die benutzerdefinierte formel MUSS auf jeden rechner eingefuegt sein da es keine allgemein gueltige ist

gruss nighty

Antwort 15 von nighty vom 18.11.2020, 17:40 Options

hi jojo :-)

auf jeden rechner war falsch,die formel ist in der datei

wenn du also die datei weitergibst funktioniert die formel dort ohne jegliche einstellungen wie z.B. wie bei Analyse-Funktionen

gruss nighty

Antwort 16 von jojo5 vom 18.11.2020, 17:42 Options

Hallo nighty,

alles klar - vielen Dank für alles und einen schönen Abend.

Gruß
Jojo

Antwort 17 von nighty vom 18.11.2020, 17:42 Options

hi all :-)

*hihi* jojo wenn die routine fehlt,wehe lacht einer grrrr *ich hab da was gehoert*

gruss nighty

Antwort 18 von jojo5 vom 18.11.2020, 17:46 Options

sorry - muss ich das verstehen????

Antwort 19 von rainberg vom 18.11.2020, 17:47 Options

Hallo jojo,

sorry, dass ich mich noch mal einmische.

Angenommen Dei Zahlenblock steht in A2, dann gib in B2 folgende Formel ein und kopiere sie nach Bedarf nach rechts.

=sumZahlen($A2;SPALTE()-1)

Gruß
Rainer

Antwort 20 von nighty vom 18.11.2020, 17:48 Options

hi jojo :-)

das war indirekte eigenkritik ,der range fehler wie die angabe auf rechner bezogen war doch falsch von mir :-(

gruss nighty

Ähnliche Themen

Ziffern vergleichen
Uwz  04.07.2007 - 7 Hits - 4 Antworten

Zusammengehörige Zeilen nach Kriterium prüfen, ggf. löschen
jeany  05.02.2008 - 30 Hits - 1 Antwort

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Mon Jan 26 16:59:01 2026