2016-07-26 5 views
-2

Ich habe diese Zeichenfolge in einer meiner Excel-Felder:Extrakt Werte von String in Excel

"a:3:{ 
i:0; 
a:1:{s:10:"Adult Name";s:11:"Mohamed";} 
i:1; 
a:1:{s:10:"Adult Name";s:11:"Mathew";} 
i:2; 
a:1:{s:10:"Adult Name";s:11:"Paul"; 
i:3; 
a:1:{s:10:"Adult Name";s:11:"John";} 
}" 

Ich möchte wie die Namen in seprate Felder extrahieren:

A   B 
  1. Erwachsener 1: Mohamed
  2. Erwachsene 2: Mathew
  3. Erwachsene 3: Paul
  4. Erwachsene 4: John
+0

nur zu klären, dass ganze Reihe ist in einer Zelle passen? –

+0

Sind es immer 4 Namen oder variiert die Anzahl der Namen? Ist die Syntax/Struktur immer gleich –

+1

was hast du bisher probiert? SO ist ein Ort, an dem andere Ihnen bei Ihren Bemühungen helfen und nicht Probleme von Grund auf lösen – YakovL

Antwort

0

Example

Sie Zeichenfolge wurde in F5 platziert. A5 wurde manuell eingegeben und nach unten gezogen. Da es im letzten Zeichen eine Ziffer gab, wurde die Zahl beim Ziehen automatisch um 1 erhöht.

Ich identifizierte eine wiederkehrende Zeichenfolge, die vor jedem Namen begann und nannte das Start-Tag. Ich tat dasselbe für einen Charakter, der am Ende eines Namens auftauchte. Diese Werte wurden in C3 bzw. D3 eingegeben.

die folgende Formel I dann die Startposition für jeden in der Zeichenfolge gefunden Starttag in C3 vorgesehen:

=SEARCH(C$3,$F$5,C4+1) 

Die C4 + 1 teilt den Fund aus dem nächsten Zeichen des vorherigen Suchergebnisses zu starten . Daher muss C4 leer sein.

die folgende Formel gefunden: Verwenden Sie dann das Ende des Namens der End-Tag-Wert in D3 mit:

=SEARCH(D$3,$F$5,C5+LEN($C$3)) 

sobald die Start- und Endpositionen bekannt waren, wurden der Name aus dem String in F5 gezogen mit die folgende Formel:

=MID($F$5,C5+LEN($C$3),D5-C5-LEN($C$3)) 

Diese Formeln wurden in Zeile 5 und kopierte unten platziert, um die Liste „Adult #“