2017-01-04 3 views
0

irgendwie ratlos mit der Split-Funktion, fragte mich, ob jemand mir helfen kann.Splitting-Adresse mit - mit split() Ergebnisse in wierd 5 Ziffern

Ich habe eine Liste von Adressen, wo ich versuche, die Nummer und den Straßennamen zu teilen. Diese Adressen haben in ihnen zum Beispiel einen Hyphen. 10-09 Main St Also ich verwendet = SPLIT (A1, "") < - Spalte A hat alle Adressen.

Das Ergebnis i erhalten ist = 43017 Main St

ich das Menü Registerkarte Daten >>Split Text in Spalten verwenden könnte aber ich versuche, es zu automatisieren ein Skript verwenden. Gibt es eine Möglichkeit, die Split-Funktion zu erzwingen, um die Daten als Text und nicht als Zahl zu behandeln?

Vielen Dank im Voraus

Antwort

0

Haben Sie die Spaltentypen zu flat text Ändern versucht? Ich konnte mehr oder weniger das Verhalten replizieren, wenn ich den Spaltentyp auf number festlegte, aber als ich den Typ in flat text änderte, verhielt es sich wie erwartet.

Versuchen Sie Layout -> Nummer -> flacher Text.

(Da ich Holländer bin, könnten die Optionen etwas anders benannt werden - Entschuldigungen dafür)

+0

für mich in den USA, wäre das Äquivalent FORMAT >> NUMBER >> KLARTEXT sein. Ich habe sie alle auf Klartext eingestellt, aber in dem Moment, in dem die Split-Funktion verwendet wird und Nummer und Text teilt, behandelt sie 10-09 als Zahl und konvertiert sie in 43017 – User125

+0

Haben Sie versucht, SPLIT (TEXT (A1), "") '? Alternativ: Um nur das erste Element nach dem SPLIT zu erhalten, versuchen Sie 'INDEX (SPLIT (A1;" "), 0, -1)' – Nietvoordekat

+0

so TEXT erfordert ein 'Format' und die einzigen Optionen beziehen sich auf Zahlen oder Daten . Ich denke, was du meintest, war SPLIT (T (A1), ""), aber das spuckt immer noch die Zufallszahlen aus. Wenn ich Index verwende, spuckt es nur 1 Spalte aus und ich brauche alle drei. Was ich bemerkte, ist, wenn die Spalte auf automatisch eingestellt ist, teilt sich die Nummer korrekt, aber es denkt, dass es ein Datum ist. Wenn ich es auf reinen Text zurücksetze (was immer passiert, wenn ich nur Werte kopiere/einfüge, spuckt er die 5-stelligen Zahlen aus.) Der Hypen lässt ihn denken, dass es ein Datum ist und ich kann keine googlesheets bekommen tun Sie das nicht als Standardverhalten – User125

0

Dies wird mit diesen beiden benutzerdefinierten Funktionen arbeiten. Angenommen, Ihre Adresse ist in A1.

function nbr(range) { 
    var addr = range.split(" "); 
    return addr[0];// just the nbr 
} 
function street(range) { 
    var addr = range.split(" "); 
    var array=[] 
    for(var i=1;i<addr.length;i++){ 
    array.push(addr[i]) //create an array of split addr starting with second element 
    } 
    return array.toString().replace(/,/g," ")// convert array to string and replace all commas with soaces 
} 

In B1 put = nbr (A1) und in C1 setzen = Straße (A1)

+0

Kann bestätigen, dass dies funktioniert. Außerdem: gerade herausgefunden, dass du scheinbar deine eigenen Funktionen in Google Spreadsheets schreiben kannst - lerne jeden Tag etwas :) – Nietvoordekat