Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1548to1552
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zahl aus String extrahieren

Zahl aus String extrahieren
21.03.2017 11:27:42
Christian
Hallo Leute!
Ich benötige Eure Hilfe bei folgendem Problem
Ich habe in der Zelle G1 diverse Abkürzungen stehen. Beispiel: 1-FL, FL-2, 12-FL, FL-23, EC, MC
Nun möchte ich in Zelle H1 die Anzahl der Zahlen ermitteln. Im Beispiel wären es dann 4, also die 1, die 2, die 12, und die 23.
Ich habe schon etliche Formeln ausprobiert aber leider werden immer ALLE Zahlen gerechnet. Also 12 werden als 2 Ziffern gerechnet, das ist aber falsch.
Und das Ganze bräuchte ich dann von Zelle G1:G100, also für jede zeile extra.
Sollte jemand eine Lösung in Form einer Formel oder VBA haben, dann bitte ich um HIlfe!
Danke, Christian

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nur so ne Idee ...
21.03.2017 11:34:13
Matthias
Hallo
Wenn der Aufbau immer so ist
1-FL, FL-2, 12-FL, FL-23, EC, MC
zähle doch das "-"
Gruß Matthias
Die Umsetzung sieht dann so aus ...
21.03.2017 11:43:13
Matthias
Hallo
Wie erwähnt geht das nur so wenn die Zahlen/Textkombination immer mit einem "-" verbunden sind
und die anderen Texte ohne "-"
Tabelle1

 AB
11-FL, FL-2, 12-FL, FL-23, EC, MC4
21-FL, FL-2, 12-FL, FL-23, FL-46, EC, MC5

Formeln der Tabelle
ZelleFormel
B1=LÄNGE(A1)-LÄNGE(WECHSELN(A1;"-";""))
B2=LÄNGE(A2)-LÄNGE(WECHSELN(A2;"-";""))


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8
Gruß Matthias
Anzeige
AW: Nur so ne Idee ...
21.03.2017 11:45:20
Christian
Danke für die Antwort, ich bin aber eben selbst draufgekommen.
Das funktioniert in allen möglichen Kombinationen.
H1 = LÄNGE(G1)-LÄNGE(WECHSELN(G1;",";""))+1
Aber danke für die Hilfe!
Das ergibt aber für...
21.03.2017 11:49:12
Case
Hallo Christian, :-)
... Dein Beispiel 6. Du wolltest 4?
Servus
Case

so zählst Du aber falsch! siehe meine Antwort oT
21.03.2017 11:49:33
Matthias
Der Name deiner UDF verrät dein Metier, ...
21.03.2017 14:46:29
Luc:-?
…Case, ;-]
dank unnötiger „UN-Warze“ quasi deine Pgmmierer-Sozialisierung. Keine einzige Xl-StandardFkt beginnt mit fnc~ oder FKT~, nur manche mit der speziellen Kennzeichnung DB~, was man ja noch, im Ggsatz zu deinem „Vorhängsel“ als sinnvoll ansehen kann. Wäre ja auch super-über­sichtlich, wenn die Sortierung nach FktsNamen erst ab der 4.Stelle greifen würde…! Trennt euch doch endlich mal von dem Gedanken an eine UDF = Fkt als Pgmmier­Hilfsmittel! Denkt lieber an den Nutzer und das Gesamt­Konzept von Xl, sonst kommen wie bei dir und Daniel (hier deutet der UDF-Name noch deutlicher darauf hin) nur sehr spezielle „Eintagsfliegen“, quasi Einweg- bzw Wegwerf-Fktt heraus! Da wird allerorten soviel Wert auf Nachhaltigkeit u/o Recycling gelegt, nur hier offenbar nicht… :-|
Jeder Fml-Crack muss sich mehr anstrengen, um eine Lösung des Problems nur mit Standard-Fktt hinzu­bekommen. Ihr müsst doch hier nicht beweisen, dass ihr ein Einzel­Problem pgm­technisch lösen könnt! Wesentlich anspruchsvoller wäre doch eine gute Fml­Erstellung, zu der man als Pgmmierer ja auch ein paar immer wieder verwendbare Verein­fachungen beisteuern könnte. Das ver­stehe ich unter sinnvoller, uni­verseller UDF-Pgmmierung!
Mit 2 im Archiv bereits vorhandenen UDFs, auf dein Bsp angewendet, ergäbe sich auch dein Ergebnis mit folgd Fml:
=ANZAHL(VSplit(MaskOn(G1;"num");;1))
MaskOn und VSplit
🙈 🙉 🙊 🐵 Gruß, Luc :-?
Besser informiert mit …
Anzeige
Herzlichen Dank...
22.03.2017 14:24:08
Case
... Luc :-?, \o/
und wieder ist es Ihnen gelungen mich zum Lachen zu bringen. Danke.
Die UDFs beginne ich doch nur so um Sie zu ärgern - ich weiß doch, dass Sie darauf anspringen wie Nachbars Lumpi auf Schmitts Katze.
Herrlich wie das immer wieder klappt.
Bitte unterlassen Sie doch solche Anspielungen wie "dein Metier..." bzw. "Ihr müsst doch hier nicht beweisen..." oder "deine Pgmmierer-Sozialisierung...". Das können nur Menschen beurteilen die mich kennen - und da zählen Sie nicht dazu. Auch "Jeder Fml-Crack muss sich mehr anstrengen..." kann ich nicht beurteilen.
Zusammenfassend: Vor Formel-Cracks habe ich Hochachtung - Meckerzausel verachte ich. Das ist jetzt keine Einordnung Ihrer Person - nur eine allgemeine Feststellung meiner Position. ;o)
Nur noch eines, dann bin ich raus, für Stringmanipulationen per VBA eignet sich RegExp am Besten - das zum Thema Nachhaltigkeit (das "Pattern" etwas anpassen und staunen). "Eintagsfliege" kann das nur für Personen sein, die RegExp nicht kennen respektive beherrschen.
Einen schönen Tag wünsche ich
Anzeige
Na, eben, aber RegEx kann auch allgemeiner ...
27.03.2017 20:35:37
Luc:-?
…angewendet wdn, Case,
damit der NormalNutzer auch etwas davon hat! Das nur für ganz konkrete Fälle sporadisch zu tun, ist nicht sonderlich hilfreich und ebenfalls pgmmierer-typisch, denn idR ist diese Berufsgruppe nicht daran inter­essiert, dass der Normal­Nutzer ohne sie zurecht­kommt.
Und übrigens, ich glaube nicht, dass die „Pseudo-UN-Warzen“ meinetwegen angebracht wurden. Außerdem wüsste ich nicht, was Sie (da Sie ja offen­sicht­lich diesen fach­forums­untypi­schen Abstand wünschen) so lächerlich finden. Diese Arroganz steht Ihnen schlecht zu Gesicht, denn wieviel komplexe UDFs haben Sie denn schon geschrieben‽ Was Sie hier zeigen, ist doch höchstens eine Fingerübung gewesen!
Und, wer eine eigene WebSite betreibt, verrät schon einiges über sich… :-]
Luc :-?
Anzeige
Nachtrag:
28.03.2017 01:08:18
Luc:-?
Ansonsten scheinen Sie mich gründlich missverstanden zu haben, Case,
denn es kommt nicht nur darauf an, etwas zu können, sondern gerade auch darauf, Ideen zu haben und etwas weiter zu denken als leider allgemein üblich zu sein scheint. Klecker-Klecker ist was für den Strand­Urlaub; will man Bleibendes schaffen, sollte es wenig­stens Sand­stein sein…
Deshalb versuche ich abundan, darauf hinzuweisen — leider mit geringem Erfolg, auch und gerade bei Leuten, von denen ich ver­mute, dass sie das Potenzial dazu hätten (bei den Profis, die die Forums­arbeit offen­sichtlich nur als eine Art von Zer­streuung betrach­ten, versuch' ich's gar nicht erst)…
Luc :-?
Anzeige
Viel...
28.03.2017 05:42:25
Case
... Glück. \o/
AW: Zahl aus String extrahieren
21.03.2017 11:47:04
Daniel
Hi
füge folgenden Code ins Modul1 ein:
Function AnzahlZahlen_Christian(txt As String) As Long Dim TeilText For Each TeilText In Split(txt, ",") If TeilText Like "*#*" Then AnzahlZahlen_Christian = AnzahlZahlen_Christian + 1 Next End Function schreibe dann in die Zelle H1 die Formel: =AnzahlZahlen_Christian(G1)
und kopiere sie nach unten.
die Formel zählt die Anzahl der mit Komma getrennten Textblöcke, welche mindestens eine Ziffer enthalten.
ansonsten bitte prüfen, ob es wie von Matthias vorgeschlagen nicht einfach ausreicht, die "-" zu zählen:
=Länge(G1)-Länge(Wechseln(G1;"-";""))
funktioniert natürlich nur dann, wenn der Bindestrich immer nur in Verbindung mit einer Ziffer auftritt.
Gruß Daniel
Anzeige
AW: die Gesamtanzahl mit einer Formel ...
21.03.2017 11:49:25
...
Hallo Christian,
... so:

=SUMME(INDEX(--((MMULT(ISTZAHL(SUCHEN(SPALTE(A1:J1)-1;G1:G100))*1;ZEILE(A1:A10)^0)>0));))
Gruß Werner
.. , - ...
AW: sorry, das gilt natürlich nur, wenn ...
21.03.2017 11:54:17
...
Hallo,
... die einzelnen Werte getrennt in einer Zelle stehen und nicht in einer Zelle mehrere Datenwerte getrennt durch Komma auszuwerten sind.
Gruß Werner
.. , - ...

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige