web-dev-qa-db-fra.com

Supprimer une partie d'une valeur de cellule après un caractère spécifique

J'ai une cellule qui contient une longue chaîne de plusieurs valeurs séparées par "|".

EXEMPLE dans la cellule B5

title | time | location | cost

J'ai besoin d'une formule qui montrera la valeur de B5, mais uniquement les caractères avant le premier "|".

Est-il possible de tout couper, y compris et après un caractère spécifique?

2
Mr. B
=REGEXEXTRACT(B5, "[^\s|]+")

0

  • \s un espace
  • \s| un espace suivi de | personnage
  • ^ le premier
  • ^\s| la première correspondance d'un espace suivi de | caractère
  • [] un groupe
  • [^\s|] un groupe trouvé avant la première correspondance d'un espace suivi de | caractère
  • + plusieurs caractères si possible
  • [^\s|]+ extrait un groupe de caractères avant la première occurrence d'un espace suivi de | caractère
1
user0

La formule scindée peut répondre à vos besoins:

=split(B5, "|")

étape suivante: utilisez index pour renvoyer les mots séparés:

=TRIM(INDEX(split(B5, "|"),1))

changez 1 en votre numéro, il s'agit de l'index d'un mot à renvoyer

3
Max Makhrov

Vous pouvez juste l'envelopper avec des garnitures

=Trim (split (B5,"|"))
2

Vous pouvez essayer =LEFT(B5,SEARCH("|",B5)-1).

1
Stefan

J'ai besoin d'une formule qui montrera la valeur de B5, mais uniquement les caractères avant le premier "|".

=TRIM(LEFT(B5,SEARCH("|",B5)-1)

Le résultat est title

1
Rubén