Que faire lorsque la fonction TRIM d'Excel ne fonctionne pas

Table des matières:

Que faire lorsque la fonction TRIM d'Excel ne fonctionne pas
Que faire lorsque la fonction TRIM d'Excel ne fonctionne pas
Anonim

Lorsque vous copiez ou importez des données textuelles dans une feuille de calcul Excel, la feuille de calcul conserve parfois des espaces supplémentaires en plus du contenu que vous avez inséré. Normalement, la fonction TRIM() seule peut supprimer ces espaces indésirables, qu'ils se produisent entre les mots ou au début ou à la fin d'une chaîne de texte. Dans certaines situations, cependant, TRIM() ne peut pas faire le travail.

Sur un ordinateur, un espace entre les mots n'est pas une zone vide mais un caractère - et il existe plus d'un type de caractère espace. Un caractère d'espace couramment utilisé dans les pages Web que TRIM() ne supprimera pas est l'espace insécable.

Si vous avez importé ou copié des données à partir de pages Web, vous ne pourrez peut-être pas supprimer les espaces supplémentaires avec la fonction TRIM() s'ils sont créés par des espaces insécables.

Espaces insécables et réguliers

Image
Image

Les espaces sont des caractères et chaque caractère est référencé par sa valeur de code ASCII. ASCII signifie American Standard Code for Information Interchange - une norme internationale pour les caractères de texte dans les environnements d'exploitation informatiques qui crée un ensemble de codes pour 255 caractères et symboles différents utilisés dans les programmes informatiques.

Le code ASCII pour un espace insécable est 160. Le code ASCII pour un espace régulier est 32.

La fonction TRIM() ne peut supprimer que les espaces dont le code ASCII est 32.

Image
Image

Différents styles de caractères prennent en charge différentes plages de codes ASCII. Le tableau standard propose 127 valeurs possibles; les polices de caractères doivent au moins prendre en charge une carte ASCII de 127 caractères pour être considérées comme valides. Mais les caractères ASCII "étendus", appelés avec des codes supplémentaires, ajoutent fréquemment des caractères supplémentaires à vos polices préférées. En fait, l'espace insécable est lui-même un caractère ASCII étendu, alors qu'un espace standard est… eh bien, standard.

Supprimer les espaces insécables

Supprimez les espaces insécables d'une ligne de texte à l'aide des fonctions TRIM(), SUBSTITUTE() et CHAR().

Étant donné que les fonctions SUBSTITUTE() et CHAR() sont imbriquées dans la fonction TRIM(), la formule doit être saisie dans la feuille de calcul plutôt que d'utiliser les boîtes de dialogue des fonctions pour saisir les arguments.

La formule, en supposant que les données avec les espaces insécables se trouvent dans la cellule A1, est:

Comment fonctionne la formule

Chaque fonction imbriquée exécute une tâche spécifique:

  • La fonction CHAR stipule les codes ASCII pertinents pour les deux espaces différents dans la formule - 160 et 32
  • La fonction SUBSTITUTE remplace ou remplace tous les espaces insécables entre les mots par des espaces réguliers
  • La fonction TRIM supprime les espaces réguliers supplémentaires entre les mots afin que la déclaration apparaisse normalement dans la feuille de calcul

Étant donné la logique d'ordre des opérations des formules Excel, la formule appelle la fonction SUBSTITUTE() et lui dit de remplacer chaque occurrence de CHAR(160) - l'espace insécable - par un espace standard, CHAR (32), contenu dans la cellule A1. Ensuite, la fonction TRIM() supprime les espaces standard de la chaîne substituée.

Considérations

Si TRIM() ne peut pas faire le travail, vous pouvez avoir des problèmes autres que les espaces insécables, en particulier si vous travaillez avec du matériel source original rendu en HTML. Lorsque vous collez le matériau dans Excel, collez-le sous forme de texte brut pour supprimer la mise en forme d'arrière-plan de la chaîne et supprimer la mise en forme spéciale comme les caractères qui sont rendus en blanc sur blanc - qui ressemble à un espace, mais n'en est pas. Vérifiez également les onglets intégrés, qui peuvent être remplacés en utilisant la même formule que ci-dessus, mais en remplaçant le code ASCII 160 par 9.

SUBSTITUTE() est utile pour remplacer n'importe quel code ASCII par n'importe quel autre.

Conseillé: