Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
440to444
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
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

sortieren Teil einer Zelle

sortieren Teil einer Zelle
13.06.2004 08:38:04
Michael_E
Hi Excelspezialisten
mache diesen Tread auf um das ein bißchen Übersicht reinzubekommen,
weil es das gleiche ist wie 2 Postings tiefer
R 10
S 1003 u20
S 1003 u20
W 1005
Das sind die Werte die zB in der Spalte J drinstehen.
Ich möchte einmal nach den Zahlen hinterm 1 Buchstaben sotieren
und nach den U werten
für die Zahlen habe ich von Josef Ehrensberger diese Formel bekommen die Super klappt
=TEIL(J2;3;LÄNGE(J2)-2)
er macht aber die U werte mit rein, ( das ist ds kleinere Übel)
für die 2. sotierung hat mir Josef diese Formel gegeben.
=TEIL(M2;FINDEN(" ";M2;1)+1;LÄNGE(M2)-FINDEN(" ";M2;1))
die klappt auch suuper, aber wenn der U wert nicht drinsteht kommt in der Zelle
# wert
wie kann man das verhindern
gruß Michael

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sortieren Teil einer Zelle
13.06.2004 09:11:37
Josef
Hallo Michael!
War gestern nicht mehr Online!
Probier mal das.
Tabelle1
 JKL
1S 1 U151U15
2D 22 
3W 12 U1312U13
4H 123 U1123U1
5J 16781678 
6J 3456 U233456U23
7L 122 U09122U09
8G 32213 U2032213U20
9M 5 U155U15
Formeln der Tabelle
K1 : =WENN(ISTFEHLER(FINDEN(" ";J1;3));TEIL(J1;3;LÄNGE(J1)-2);TEIL(J1;3;FINDEN(" ";J1;3)-3))
L1 : =WENN(ISTFEHLER(FINDEN(" ";J1;3));"";RECHTS(J1;LÄNGE(J1)-FINDEN(" ";J1;3)))
K2 : =WENN(ISTFEHLER(FINDEN(" ";J2;3));TEIL(J2;3;LÄNGE(J2)-2);TEIL(J2;3;FINDEN(" ";J2;3)-3))
L2 : =WENN(ISTFEHLER(FINDEN(" ";J2;3));"";RECHTS(J2;LÄNGE(J2)-FINDEN(" ";J2;3)))
K3 : =WENN(ISTFEHLER(FINDEN(" ";J3;3));TEIL(J3;3;LÄNGE(J3)-2);TEIL(J3;3;FINDEN(" ";J3;3)-3))
L3 : =WENN(ISTFEHLER(FINDEN(" ";J3;3));"";RECHTS(J3;LÄNGE(J3)-FINDEN(" ";J3;3)))
K4 : =WENN(ISTFEHLER(FINDEN(" ";J4;3));TEIL(J4;3;LÄNGE(J4)-2);TEIL(J4;3;FINDEN(" ";J4;3)-3))
L4 : =WENN(ISTFEHLER(FINDEN(" ";J4;3));"";RECHTS(J4;LÄNGE(J4)-FINDEN(" ";J4;3)))
K5 : =WENN(ISTFEHLER(FINDEN(" ";J5;3));TEIL(J5;3;LÄNGE(J5)-2);TEIL(J5;3;FINDEN(" ";J5;3)-3))
L5 : =WENN(ISTFEHLER(FINDEN(" ";J5;3));"";RECHTS(J5;LÄNGE(J5)-FINDEN(" ";J5;3)))
K6 : =WENN(ISTFEHLER(FINDEN(" ";J6;3));TEIL(J6;3;LÄNGE(J6)-2);TEIL(J6;3;FINDEN(" ";J6;3)-3))
L6 : =WENN(ISTFEHLER(FINDEN(" ";J6;3));"";RECHTS(J6;LÄNGE(J6)-FINDEN(" ";J6;3)))
K7 : =WENN(ISTFEHLER(FINDEN(" ";J7;3));TEIL(J7;3;LÄNGE(J7)-2);TEIL(J7;3;FINDEN(" ";J7;3)-3))
L7 : =WENN(ISTFEHLER(FINDEN(" ";J7;3));"";RECHTS(J7;LÄNGE(J7)-FINDEN(" ";J7;3)))
K8 : =WENN(ISTFEHLER(FINDEN(" ";J8;3));TEIL(J8;3;LÄNGE(J8)-2);TEIL(J8;3;FINDEN(" ";J8;3)-3))
L8 : =WENN(ISTFEHLER(FINDEN(" ";J8;3));"";RECHTS(J8;LÄNGE(J8)-FINDEN(" ";J8;3)))
K9 : =WENN(ISTFEHLER(FINDEN(" ";J9;3));TEIL(J9;3;LÄNGE(J9)-2);TEIL(J9;3;FINDEN(" ";J9;3)-3))
L9 : =WENN(ISTFEHLER(FINDEN(" ";J9;3));"";RECHTS(J9;LÄNGE(J9)-FINDEN(" ";J9;3)))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Gruß Sepp
Anzeige
Suuuper klappt prima
13.06.2004 10:00:07
Michael_E
Hi Sepp
DAAAAAAAAAAAAAAAAAAAAAAAAAAAKKKKKEEEEEEEEEEE
klappt einfach suuuuper
mehr kann man nicht dazu sagen.
werd mal versuchen das zu verstehn was du geschrieben hast.
wünsche dir noch einen schönen angenehmen Tag.
Gruß
Michael
Zusatzfrage
13.06.2004 10:05:52
Michael_E
Hi Sepp
wenn ich die Formel eingegeben hab muß ich sie ja bis zu letzten Zeile runterkopieren.
jetzt sind es erst ca 300 Zeilen später ca. 3000
kann man das vereinfachen?
gruß Michael
AW: Zusatzfrage
13.06.2004 10:19:57
Josef
Hallo Michael1
Um das einfügen der Formeln wirst du wohl nicht rumkommen!
Gruß Sepp
Schade dachte man kann es mit enem Makro lösen
13.06.2004 10:28:34
Michael_E
Schade dachte man könnte ein Makro schreiben welches das automatisch macht.
vieleicht bekomme das hin meine Kenne in VBA ist nicht so doll.
gruß Michael
Anzeige
AW: Schade dachte man kann es mit enem Makro lösen
13.06.2004 10:36:16
Josef
Hallo Michael!
Mit Makro geht's natürlich!
Kopiere diesen Code in ein allgemeines Modul.

Sub michael()
Dim rng As Range
Dim lngE As Long
lngE = Range("J65536").End(xlUp).Row 'letzen Eintrag in Spalte "J" ermitteln
For Each rng In Range("J2:J" & lngE) 'Startet in Zeile 2
If rng <> "" Then
rng.Offset(0, 1).FormulaR1C1 = _
"=IF(ISERROR(FIND("" "",RC[-1],3)),MID(RC[-1],3,LEN(RC[-1])-2),MID(RC[-1],3,FIND("" "",RC[-1],3)-3))"
rng.Offset(0, 2).FormulaR1C1 = _
"=IF(ISERROR(FIND("" "",RC[-2],3)),"""",RIGHT(RC[-2],LEN(RC[-2])-FIND("" "",RC[-2],3)))"
End If
Next
End Sub

Gruß Sepp
Anzeige
und weil du ja nur die Werte brauchst, ...
13.06.2004 10:46:38
Josef
kannst du auch dieses Makro verwenden.

Sub michael2()
Dim rng As Range
Dim lngE As Long
lngE = Range("J65536").End(xlUp).Row 'letzen Eintrag in Spalte "J" ermitteln
Range("K2:L65536").ClearContents
For Each rng In Range("J2:J" & lngE) 'Startet in Zeile 2
If rng <> "" Then
rng.Offset(0, 1).FormulaR1C1 = _
"=IF(ISERROR(FIND("" "",RC[-1],3)),MID(RC[-1],3,LEN(RC[-1])-2),MID(RC[-1],3,FIND("" "",RC[-1],3)-3))"
rng.Offset(0, 2).FormulaR1C1 = _
"=IF(ISERROR(FIND("" "",RC[-2],3)),"""",RIGHT(RC[-2],LEN(RC[-2])-FIND("" "",RC[-2],3)))"
End If
Next
Range("K2:L" & lngE) = Range("K2:L" & lngE).Value
End Sub

Gruß Sepp
Anzeige
will erst von (0,1) auf (0,3)
13.06.2004 10:57:06
(0,1)
Hi sepp
will erst später auf 0,3 setzen noch hab ich es nicht gemacht.
weil man ja die RC werte auch ändern muß
gruß michael
Er kopiert die formel aber
Michael_E
Hi Sepp
erst mal Danke für die schnelle Antwort
er kopiert die Formel solange in Spalte "J" was steht
gibt aber keine Werte raus.
Irgendwo ist noch ein kleiner Fehler.
habe rng.offset(0,1) auf (0,3) gesetzt weil die Auswerung in Spalte "K" anfangen soll.
das andere ist zu hoch für mich um es eventuell anzupassen.
gruß Michael
AW: Er kopiert die formel aber
13.06.2004 10:55:33
Josef
Hallo Michael!
Also bei mir funktioniert es prima!
Mit .Offset(0,1) werden die Formeln in Spalte "K" geschrieben.
Gruß Sepp
Anzeige
die Formel wird in die Zelle geschrieben, aber
13.06.2004 10:59:54
Michael_E
Hi Sepp
du hast recht die Formel wird reingeschrieben aber der wert zb 130 bz U20 kommt nicht als Lösung raus.
gruß Michael
dann halt ganz ohne Formeln!
13.06.2004 11:10:14
Josef
Hallo,
dann versuchen wir's so.

Sub michael3()
Dim rng As Range
Dim lngE As Long
lngE = Range("J65536").End(xlUp).Row 'letzen Eintrag in Spalte "J" ermitteln
Range("K2:L65536").ClearContents
For Each rng In Range("J2:J" & lngE) 'Startet in Zeile 2
If rng <> "" Then
If InStr(3, rng, " ") > 0 Then
'feststellen ob nach dem dritten Zeichen noch eine Leerstelle enthalten ist
rng.Offset(0, 1) = Mid(rng, 3, InStr(3, rng, " ") - 3)
rng.Offset(0, 2) = Mid(rng, InStr(3, rng, " ") + 1)
Else
rng.Offset(0, 1) = Mid(rng, 3)
End If
End If
Next
End Sub

Dann kannst du den Offset verändern wie du es gerne hättest!
Gruß Sepp
Anzeige
SUUUUUUUUUUUUUUUUUUPER!!!!!!!!!!!!!!!!
13.06.2004 11:25:24
Michael_E
Hi Sepp
KLAAAAAPT SUUUUUUUUUUUPER
Einfach suuuper Danke vielmals.
und endgülig einen schönen Tag noch.
bin wunschlos glücklich für heute
gruß Michael
auch dir einen schönen Tag! o.T.
13.06.2004 11:26:17
Josef
Gruß Sepp
AW: und ich...
FP
Hi Sepp,
bewundere Deine unendliche Geduld mit Michael ;-)
1) hat er sein "Format" so geschildert: xL9999LU99
( x = bel.Buchstabe, L = Leerstelle, U = Buchstabe U, 9 = Ziffer )
2) waren die L plötzlich nicht immer vorhanden
3) war auch der Teil hinter U plötzlich nicht mehr immer vorhanden
4) wollte er das ganze nicht "mit Formel" machen - "viel zu umständlich" ?
usw.
Mich hätte nicht mehr gewundert, wenn er noch entdeckt hätte, dass
a) auch der Teil vor dem "U-Teil" nicht immer vorhanden ist, oder
b) manchmel mehrere Buchstaben vorhanden sind
c) manchmal überhaupt keine Zahl vorkommt
Na ja, aber das ist ja doch nicht eingetroffen :D :D :D
Schönen (Rest)-Sonntag und
Servus aus dem Salzkammergut
Franz
Anzeige
@Franz
13.06.2004 11:51:43
Josef
Hallo Franz!
Ich sehe das meistens nicht so eng!
Vor allem wenn sich der Aufwand, wie hier, in Grenzen hält.
Aber speziell bei komplexen Problemen ist es manchmal schon
sehr ärgerlich, wenn man, nachdem man viel Zeit in eine
Formel- oder VBA-Lösung investiert hat, feststellt das daß
Problem total falsch geschildert wurde und die erarbeitete Lösung
nichts wert ist.
Aber ich denke das niemand absichtlich Informationen vorenthält,
sondern das ein weniger geübter User einfach nicht immer auf Anhieb
den ganzen Umfang eines Problemes erkennt.
Und wenn wir ehrlich sind, ist es doch jedem von uns auch schon so ergangen ;-)
Also bis dann, und auch dir ein schönes rest-WE.
Gruß Sepp
Anzeige
@ Franz @ Josef
Michael_E
Hi Franz Hi Sepp
Ich muß mich vieleicht ein bißchen entschuldigen und ein bißchen aufklären.
ein Arbeitskollege arbeitet in SAP und für die Auswertung exportiert er die dateien nach Excel.
gestern Morgen kam er an und sagte daser diese Spalte ausgewertet soll für die Analyse.
Es handelt sich bei den Daten um kosten für Klimaanlagen und Störungsanalyse.
im Prinzip ist die Datei gestern bzw. vorgestern erst entstanden.
Die ersten Zahlengruppe ist die Anlagen Nr.
Der Buchstabe davor ist die Art der Kosten.
Das "S" bededeutet das es sich um ne Störung handelt und dann wird die Störursache reingeschrieben.
habe dann bei Recherche gesucht um was ähnliches zu finden.
um dann die Formel eventuell anzupassen reicht meine Kenne, mehr aber auch nicht.
also VBA in besseren Anfänger Stadium.
da ich nichts passendes gefunden habe schrieb ich diesen Thread.
Sorry das ich mich so blöd audgedrückt habe und hatte in dem Moment auch nicht daran gedacht daß das "U.." nur bei der Störung reinkommt.
aber in meinen Alter kann man da vieleicht verzeihen bin über 55Jahre alt.
Trotzdem Danke ich euch alle beide das ihr mir geholfen habt.
und das du Franz es nicht gefunden hast lag garantiert daran das ich so blöd geschrieben habe.
Aber das haben so Leute mit so wenig erfahrung so an sich. habt ein bißchen Verständnis dafür.
wenn ich gewußt hätte wie ich ein screenshot reinbekomme hätte ich es gemacht und es wäre verständlicher gewesen.
Danke nochmals das ihr diese Mühe mit mir gemacht habt.
gruß an Sepp und Franz aus dem Salzkammergut
von Michael
Anzeige
AW: @ Franz @ Josef
13.06.2004 16:41:40
Josef
Hallo Michael!
Deshalb hab ich ja an Franz geschrieben das
ich das nicht so eng sehe
und das
ich verständniss habe, das der ungeübte User, manchmal den Umfang eines Problemes nicht von anfang an überblickt
Ich wünsche dir noch einen schönen Sonntag Abend,
Sepp

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige