Question Comment convertir du texte avec un espace blanc intermédiaire en un nombre dans Excel?


Je ne suis pas capable de convertir une valeur de texte de 5 205 avec un espace vide du milieu dans 5205 dans Excel. Si je laisse la valeur comme ceci, mon graphique de rapport avec la somme affiche 0.

Si j'essaie de convertir le texte en utilisant la formule suivante:

  VALUE(TRIM(B297))

cela renvoie une erreur.

Même si je convertis la cellule en nombre, elle laisse la valeur telle quelle. Ma somme renvoie toujours 0.

=VALUE(SUBSTITUTE(B297," ","")) ne fonctionne pas non plus.

Screenshot showing the result #VALUE


4
2018-05-10 06:14


origine




Réponses:


Le caractère qui crée la séparation (appelé à l'origine "espace") peut ne pas être un espace du tout.

Essayez - en utilisant votre souris, sélectionnez uniquement le caractère vide et collez-le entre les marques "" dans la formule de remplacement.

ou essayez l'une de ces trois formules

=SUBSTITUTE(A1,CHAR(10),"")

=SUBSTITUTE(A1,CHAR(9),"")

=SUBSTITUTE(A1,CHAR(13),"")

Que font-ils? Ce sont des codes de caractères pour différents types de sauts de ligne / retours chariot.

Essayez-le et faites votre rapport.


3
2018-05-10 07:24



Si le document dont le numéro provient est correctement composé, ce serait probablement un U+202F narrow no-break space, ou éventuellement un U+2009 thin space ou U+00A0 no-break space. Un peu moins probable, il peut aussi être un U+2007 figure space. - Jörg W Mittag


enter image description here

Pour remplacer le blanc " " dans A2 à "" vide, écris la formule ci-dessous:

=VALUE(SUBSTITUTE(A2," ",""))

Copier tous les résultats et pâte spéciale -> valeurs dans une nouvelle colonne pour les manipuler facilement.

Mettre à jour: essayez cette formule:

=VALUE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B297,CHAR(10),""),CHAR(9),""),CHAR(13),"")," ",""))

Il supprime non seulement les espaces, mais aussi les autres caractères vides (HT, FL et CR).


2
2018-05-10 06:22



Ne fonctionne pas non plus - vanessen
Mise à jour de l'article avec l'image pour montrer l'erreur obtenue - vanessen
Non ce n'est pas cela, la fonction utilise, et non; Il semble que la fonction sustitute ne puisse pas remplacer l’espace blanc, donc la formule de valeur meurt - vanessen
Le problème est que la méthode sustititute ne reconnaît pas le blanc "". Si j'essaie de remplacer un autre texte, cela fonctionne :( - vanessen
#valeur! signifie ne pas reconnaître le blanc entre les nombres comme espace vide - Sam


Puisque la réponse était "ce n'est pas un espace" - si vous voulez savoir quels sont tous les caractères dans une cellule, cette macro les imprimera pour vous et vous pourrez les comparer à leurs valeurs ascii

Sub WhatIsThat()
    Dim testCell As Range
    Dim testString As String
    Dim i As Long

    Set testCell = Range("A1")
    testString = testCell.Value

    For i = 1 To Len(testString)
        Debug.Print Asc(Mid(testString, i, 1))
    Next

End Sub

2
2018-05-10 12:28



Je pense que votre approche est meilleure que la mienne ........... estmieux comprendre le problème plutôt que de l’éviter aveuglément. - Gary's Student
C'est, mais c'est aussi beaucoup plus facile d'utiliser une fonction qu'une macro, pour la plupart des utilisateurs. - Raystafarian


Disons que nous avons une chaîne de moins de 256 caractères, dont certains sont des nombres et d'autres non, cela devrait donner les nombres. Cela ne dépend pas de savoir quels caractères ne sont pas des nombres ou de savoir quels sont les non-numéros.

Avec la chaîne de texte dans la cellule A1:

=SUMPRODUCT(MID(0&A1,LARGE(INDEX(ISNUMBER(--MID(A1,ROW($1:$256),1))*ROW($1:$256),0),ROW($1:$256))+1,1)*10^ROW($1:$256)/10)

Quelques exemples:

enter image description here


2
2018-05-10 14:54



Bonnes choses là-bas - Raystafarian
@Raystafarian ....................... merci ................ - Gary's Student


Remplacez les espaces en utilisant le SUBSTITUTE fonction:

=VALUE(SUBSTITUTE(A2," ",""))


1
2018-05-10 06:19





=VALUE(SUBSTITUTE(B297,"$",""))

Double-cliquez ensuite sur B297, sélectionnez la chose entre 5 et 205, copiez-la et remplacez-la par la valeur $ dans la formule. L'espace change à U + 00A0 lorsque je le copie dans Excel.


0
2018-05-10 09:32





Sélectionnez les cellules dont vous souhaitez supprimer l'espace blanc. presse Ctrl+F, aller à find and replace, placez un espace (ou tout caractère que vous souhaitez remplacer) dans le find entrée et rien sur le replace entrée, poussez la replace all bouton, fait.


0
2018-05-10 08:42



Il dit ne peut pas trouver une correspondance - vanessen
@vanessen quelle version d'Excel utilisez-vous? - madalinivascu
@ 06chakin réponse est celui-là. Apparemment, ce n'était pas un caractère vierge. Je l'ai sélectionné en utilisant ma souris puis remplacer entre le devis dans la formule, il le remplace bien :) - vanessen