Ottieni il primo elemento da Split ()


104

Uso la funzione SPLIT per dividere una stringa che assomiglia a qualcosa di simile 1.23/1.15.

In questo momento produce due celle, come dovrebbe. Ma come ottengo un determinato elemento dal risultato? Vorrei fare qualcosa del genere:

SPLIT("1.23/1.15", "/")[0]

estrarre 1.23. Qual è la sintassi corretta per questo?

Ho provato a utilizzare la INDEXfunzione, senza successo:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

Risposte:


158

È possibile utilizzare la funzione indice per selezionare il valore da restituire. Quindi per recuperare il secondo valore dal tuo esempio potresti usare:

=index(SPLIT("1.23/1.15", "/"), 0, 2)

L'ultimo argomento dice quale columnsi desidera recuperare - 1recupererebbe il primo valore.

In alternativa puoi usare left/ righte findper estrarre uno dei valori dal tuo esempio. Ad esempio, per ottenere il primo valore potresti utilizzare:

=left("1.23/1.15", find("/", "1.23/1.15"))

1
Oh, ho solo presunto che l'indice fosse a base zero. Grazie
— filur

Ho provato left/ rightcon splite ha sempre restituito il primo valore. Solo un avvertimento per chiunque là fuori non si accorga che devi usare findinvece.
— logicbloke

24

Il problema con le due soluzioni precedenti è che non sono supportate all'interno di una funzione arrayformula. Se esegui il wrapping in una funzione di query, ottieni il risultato desiderato ed è molto flessibile in termini di analisi solo del campo che stai cercando di restituire:

Restituisci la prima colonna

=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")

Ritorno seconda colonna

=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")

se vuoi usarlo in un arrayformula ricordati di impostare l'header a vuoto: =query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")
— arno

1

Inoltre, se desideri applicarlo a un intervallo, puoi utilizzare:

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.