Le courtier en ligne que j'utilise doit avoir le site Web le plus dysfonctionnel au monde! Ils ne fournissent aucune fonction "d'exportation", mais indiquent à leurs utilisateurs qu'ils peuvent simplement copier les données des tableaux affichés dans leur navigateur et les coller dans Excel. (Vraiment!)
Étonnamment, Excel (2016, pour Mac) peut être amené à convertir les "numéros de texte positifs" en nombres réels pouvant être gérés par les fonctions numériques ( SUM
typiquement). Cependant, les "numéros de texte négatifs" ont défié tous les efforts que j'ai trouvés pour être convertis en un nombre négatif.
Un "numéro de texte positif" est égal à: 123,45 $
Un "numéro de texte négatif" est: - 543,21 $ (notez le caractère de texte en tête) hyphen
)
MODIFIER:
Un "numéro de texte négatif" est: - 299,55 $ (découvert que le personnage principal est NE PAS unehyphen
; ce peut être unem dash
Mes excuses pour la confusion ... Je me demande maintenant quel genre de programmeurs pourraient utiliser unem dash
au lieu d'uneminus sign/hyphen
dans une page Web pleine de chiffres, mais c'est une question pour mon courtier en ligne .
Je suis capable de convertir un "numéro de texte positif" dans la cellule A1 comme suit: =VALUE(RIGHT(A1,6))
Mais cela ne fonctionne pas sur un "numéro de texte négatif". Le nombre est correct, mais le signe négatif est perdu. J'ai essayé de changer le chars
valeur, mais cela n'aide pas.
J'ai aussi essayé ce qui suit sans succès:
1. multipliant par 1
2. texte en colonnes
3. cellules de format ...
Y a-t-il un moyen de le faire - autre que de le ressaisir manuellement?
=VALUE(RIGHT(A1,6))
Vous extrayez une partie du milieu de la valeur de la cellule. Le texte est rempli à gauche avec des espaces? Si c'est le cas, une valeur de texte avec une valeur numérique négative est-elle décalée d'un trait d'union? Ou un trait d'union remplace-t-il un espace en 4ème position?Réponses:
Si la cellule A1 contient texte c'est-à-dire au format "123,45 $" ou "- 543,21 $", vous pouvez utiliser la formule suivante pour obtenir la valeur numérique.
Si le texte commence par un "-", cela prendra la valeur de tout ce qui suit le "-" et le rendra négatif.
la source
=IF(LEFT(I8,1)="–",0-VALUE(RIGHT(I8,LEN(I8)-1)),VALUE(I8))
(Remarque I8 plutôt que A1 est immatériel)Je recommanderais:
$
signe, ne pas utiliser la position fixe$
signe.Donc, la formule peut être
où
"<dash><hyphen>"
- un littéral avec des signes négatifs possibles (remplacez les espaces réservés par des caractères appropriés dans n'importe quel ordre, afin d'obtenir un littéral à 2 symboles dans le cas indiqué)3
- le nombre qui est supérieur au nombre de caractères dans le littéral précédentCes valeurs peuvent être remplacées par une référence à une cellule contenant tous les signes "moins" possibles (comme
Z1
et1+LENGTH(Z1)
respectivement).Mettre à jour. Debugginig la formule.
Créez une table sur une feuille de calcul vide.
Insérez 4 valeurs différentes dans la colonne A (sans / avec les espaces de début, positif / négatif).
Insérer les formules ci-dessous:
Copiez ce pack de formules aux lignes 2 à 4. Vérifiez que vous obtenez une sortie comme ceci:
Les colonnes C-I contiennent des étapes de calcul uniques et la colonne B contient la formule finale avec toutes les substitutions.
Où est l'échec du calcul?
la source
-–
. Le premier caractère est le trait d'union / moins de mon clavier MacBook et le second est le caractère qui se trouvait dans les données que j'ai collées dans Excel. Je pense que c'est un "em dash"? Et oui, j’ai qualifié le personnage principal de "trait d’union" dans ma question, mais j’ai appris lors du test d’une autre réponse ici que c’était ne pas un trait d'union.