web-dev-qa-db-fra.com

Obtenir le premier élément de Split ()

J'utilise la fonction SPLIT pour scinder une chaîne qui ressemble à 1.23/1.15.

À l'heure actuelle, il donne deux cellules, comme il se doit. Mais comment puis-je obtenir un certain élément du résultat? J'aimerais faire quelque chose comme ça:

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

extraire 1.23. Quelle est la syntaxe correcte pour cela?

J'ai essayé d'utiliser la fonction INDEX, sans succès: =INDEX(SPLIT("1.23/1.15", "/"), 0,0)

64
filur

Vous pouvez utiliser la fonction index pour sélectionner la valeur à renvoyer. Donc, pour récupérer la deuxième valeur de votre exemple, vous pouvez utiliser:

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

Le dernier argument indique quel column vous voulez récupérer - 1 récupérerait la première valeur.

Vous pouvez également utiliser left/right et find pour extraire l'une ou l'autre valeur de votre exemple. Par exemple, pour obtenir la première valeur que vous pouvez utiliser:

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

Le problème avec les deux solutions ci-dessus est qu'elles ne sont pas prises en charge dans une fonction arrayformula. Si vous intégrez une fonction de requête, vous obtenez le résultat souhaité et vous êtes très flexible en termes d'analyse du champ que vous souhaitez retourner:

Retour 1ère colonne

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

Retour à la 2ème colonne

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

De plus, si vous souhaitez appliquer cela à une plage, vous pouvez utiliser:

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
0
N_Browder