Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
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

Finden der Position der 1. Zahl in einem Text

Finden der Position der 1. Zahl in einem Text
vux
Hallo,
ich brauche eine Formel die folgende löst (Formeln in Englisch bitte):
Sum of 4.5F.8 Training (academy)
Sum of 4.5F.9 Real estate
Sum of 4.5F.10 Retail system
Sum of 4.5F.11 Network development
Sum of 4.5F.12 Complaint/customer care mgmt.
Ich möchte nur den Text rechts von der letzten Zahl haben:
Training (academy)
Real estate
Retail system
Network development
Complaint/customer care mgmt.
Ich habe überlegt, dass man von recht abzählen sollte, wann zum ersten mal eine Ziffer in dem String vorkommt. Mit dieser Position als Marker, kann man über die RIGHT Funktion der String von Rechts passend abschneiden.
Ich weiss nur nicht, wie man die Position des erstmaligen Aufkommens einer Ziffer von rechts in einem String ermittelt...
Würde mich über Hilfe freuen!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Text ab letzter Ziffer
26.05.2011 17:21:45
WF
Hi,
folgende Arrayformel:
=TEIL(A1;MAX(ISTZAHL(TEIL(A1;ZEILE(1:99);1)*1)*ZEILE(1:99))+2;99)
übersetzen tust Du's selber
Salut WF
AW: Text ab letzter Ziffer
26.05.2011 19:31:22
vux
Hi, klasse es klappt - leider versteh ich nicht was die Formel macht - diese Array und TEIL Sachen sind recht abstrakt...
Es klappt aber nur Teilweise, für die ersten 13 Zeilen, danach wird der Text nicht richtig erfasst -> Siehe unten:
Formel (B3 Startzelle, 169 Zeilen):
MID(B3;MAX(ISNUMBER(MID(B3;ROW(1:169);1)*1)*ROW(1:169))+2;169)

Sum of 4.1A.1 Product and marketing strategy
Sum of 4.1A.2 Product planning
Sum of 4.1A.3 Adaptation configuration and engineering
Sum of 4.1A.4 Market introduction
Sum of 4.1A.5 Pricing
Sum of 4.1A.6 Product information
Sum of 4.1A.7 Services development
Sum of 4.2A.1 Branding
Sum of 4.2A.2 Marketing communication
Sum of 4.2A.3 Visiting
Sum of 4.3A.1 Sales planning
Sum of 4.3A.2 Account mgmt.
Sum of 4.3A.3 Vehicle sales
Sum of 4.3A.4 Used vehicle sales
Sum of 4.3A.6 Warranty
Sum of 4.3A.7 Sales support
Sum of 4.3A.8 Order management
Product and marketing strategy
Product planning
Adaptation configuration and engineering
Market introduction
Pricing
Product information
Services development
Branding
Marketing communication
Visiting
Sales planning
Account mgmt.
Vehicle sales
um of 4.3A.4 Used vehicle sales
um of 4.3A.6 Warranty
um of 4.3A.7 Sales support
um of 4.3A.8 Order management
Eine Idee woran es liegt?
Anzeige
feste Bezüge
26.05.2011 19:38:56
WF
Hi,
Du wirst die Formel runterkopiert haben - dann wird aus ROW(1:169) ROW (2:170)) usw.
schreib also zwei mal ROW($1:$169) in die Formel
dann kopieren
Salut WF
AW: feste Bezüge
26.05.2011 20:14:23
vux
Perfekt, genau das wars - hätte ich auch selber drauf kommen können!
Nur aus interesse, wenn es keine Aufwand verursacht: wäre es möglich die Logik der Formel kurz in ihren Bestandteilen und Zusammenspiel zu erklären? Hab schon nachgeschaut was die Einzelfunktionen machen, aber keine Ahnung wie das Ergebnis letztlich so zustande kommt...
mit F9
26.05.2011 20:25:27
WF
Hi,
zu eine genauen Formelerläuterung hab ich jetzt keine Lust - ist zu umfangreich.
Markiere aber die einzelnen Formelteile (nach außen) - immer öffnende bis schließende Klammer und betätige F9. Dann siehst Du, was diese Formeln bzw. Formelkombinationen bewirken.
Salut WF
Anzeige
AW: Finden der Position der 1. Zahl in einem Text
26.05.2011 18:11:06
Peter
Hallo vux,
als Makro so:
Option Explicit
Public Sub Text_Rechts()
Dim lZeile   As Long
Dim iLaenge  As Integer
With ThisWorkbook.Worksheets("Tabelle1")
For lZeile = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
For iLaenge = Len(.Range("A" & lZeile).Value) To 1 Step -1
If InStrRev("0123456789", Mid(.Range("A" & lZeile).Value, iLaenge, 1)) > 0 Then
.Range("B" & lZeile).Value = Trim$(Mid(.Range("A" & lZeile).Value, iLaenge + 1))
Exit For
End If
Next iLaenge
Next lZeile
End With
End Sub

Gruß Peter

343 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige