Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeichen aus Zelle auslesen
#1
Guten Morgen,

ich habe ein eigentlich triviales Problem, das ich aber trotzdem nicht hinbekomme:

Die Zelle (1 Zelle!) hat folgenden Inhalt variabler Länge (da die Zeiten in min ein- zwei oder dreistellig seine können):

Einschleusen - Umbettung: 07:40 - 09:51 (131 min); Rüstzeit Beginn/Ende: 07:45 - 08:15 (30 min); Beginn - Ende Anästhesie: 08:00 - 09:42 (102 min); Freigabe Anä - Ende OP-Maßnahme: 08:10 - 09:41 (91 min); Vorbereitung: 08:11 - 08:36 (25 min); Beginn - Ende Säule: 08:15 - 09:43 (88 min); Schnitt/OP-Beginn - Naht: 08:37 - 09:29 (52 min)


bitte nicht fragen, warum das so ist, die Tabelle wird von einem anderen Programm als CSV-Datei generiert, man kann das nicht ändern.

1. Schritt: Die Schnitt-Naht-Zeit soll ausgelesen werden, d.h. das, was ganz am ende am rechten Rand der Zelle steht.
Wie löse ich das Problem, dass alles zwischen der 5. Stelle von rechts bis zur offenen Klammer ausgelesen wird? Die Zahl kann ein- zwei- oder dreistellig sein.

2. Schritt (Luxus): kann mir jemand helfen, wie ich die Zelle aufspalte, so dass ich jede der Zeitmarken (zwischen den Semikolon) auswerten kann?


Besten Dank,

Carsten
Antwortento top
#2
Moin Carsten,


zuerst Schritt 2: das Zauberwort heißt Text-in-Spalten aus dem Menü Daten. Du aktivierst "getrennt" und wählst dann als Trenner das Semikolon aus. Ergebnis siehe Zeile 1
Dann kannst du alle Zeiten auslesen; Formel in die erste Zelle eingeben und nach rechts ziehen.

Arbeitsblatt mit dem Namen 'Tabelle1'
ABCDEFG
1Einschleusen - Umbettung: 07:40 - 09:51 (131 min)Rüstzeit Beginn/Ende: 07:45 - 08:15 (30 min)Beginn - Ende Anästhesie: 08:00 - 09:42 (102 min)Freigabe Anä - Ende OP-Maßnahme: 08:10 - 09:41 (91 min)Vorbereitung: 08:11 - 08:36 (25 min)Beginn - Ende Säule: 08:15 - 09:43 (88 min)Schnitt/OP-Beginn - Naht: 08:37 - 09:29 (52 min)
207:40 - 09:5107:45 - 08:1508:00 - 09:4208:10 - 09:4108:11 - 08:3608:15 - 09:4308:37 - 09:29

ZelleFormel
A2=TEIL(A1;FINDEN(":";A1)+2;13)
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antwortento top
#3
Sehr gut, danke!
Das hilft schon mal weiter.
Und das andere Problemchen?
hast Du da auch einen Tipp?

Gruß, C.
Antwortento top
#4
Hi Carsten,

mal auf die Schnelle (sicherlich noch verbesserungswürdig - bin aber gerade "auf dem Sprung"):
Arbeitsblatt mit dem Namen 'Tabelle1'
G
1Schnitt/OP-Beginn - Naht: 08:37 - 09:29 (52 min)
208:37 - 09:29
352

ZelleFormel
G2=TEIL(G1;FINDEN(":";G1)+2;13)
G3=TEIL(G1;FINDEN(")";G1)-5-1;FINDEN(")";G1)-5-FINDEN("(";G1))
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antwortento top
#5
Hallo Carsten,

oder alternativ mit 2 kleinen VBA-Fkt. (s. Mappe).

Sigi


Angehängte Dateien
.xlsm   Zelle auslesen.xlsm (Größe: 16,73 KB / Downloads: 1)
Antwortento top
#6
a) =--RECHTS(WECHSELN(WECHSELN(A1;" min)";);"(";"  ");3)

b) =WECHSELN(GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN(WECHSELN(A1;" ";"#");":#";" ");";";" "));" ";WIEDERHOLEN(" ";599));SPALTE(A:G)*599*2-598;599));"#";" ")

In Zeilen statt Spalten: ZEILE(1:7) statt SPALTE(A:G). In altem Excel b) als Array.

c) =GLÄTTEN(WECHSELN(GLÄTTEN(TEIL(WECHSELN(GLÄTTEN(WECHSELN(WECHSELN(A1;" ";"#");";";" "));" ";WIEDERHOLEN(" ";599));SPALTE(A:G)*599-598;599));"#";" "))

enthält zusätzlich auch das jeweilige Label, wie "Einschleusen - Umbettung:"
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste