web-dev-qa-db-fra.com

Excel 2007 Nombre sans décimales mais non arrondi automatiquement?

Je semble avoir un problème assez simple avec Excel, bien que je ne puisse pas trouver de solution à celui-ci sans inclure une fonction.

Fondamentalement, je voudrais montrer un prix dans deux champs, un pour dollars et un pour cent.

J'ai ce travail fonctionne bien mais le problème que j'ai est quand je mets dire "24990.55" dans le champ dollars, il montrera "24991" en dollars et "55" dans le champ de cents.

Existe-t-il un moyen de forcer Excel àNOTAuto-Round?

7
adam2510

Si

A1 = 24990.55

puis

  • =INT(A1) retournera 24990
  • =MOD(A1,1) retournera 0,55

Vous avez besoin d'une fonction pour couper les décimales. Int() le fera. Mod() n'affichera que les points décimaux.

Je ne sais pas quel comportement vous attendez sans utiliser des fonctions. Le simple fait de formater un nombre ne modifiera pas sa valeur sous-jacente. Cela signifie que il n'y a pas de formatage pour afficher uniquement la valeur entière et ignorer les décimales sans arrondir. Excel ne fonctionne pas de cette façon. Le formatage sans décimale inclura toujours l'arrondi. Pour contourner ce problème, vous avez besoin d’une fonction permettant de couper les décimales.

Si vous voulez que les centimes s'affichent sous forme de nombres entiers, il vous suffit de multiplier le résultat Mod() par 100.

enter image description here

Edit: Vous parlez des fonctions ci-dessus, mais en lisant d’autres réponses, je pense que ce que vous voulez dire en réalité est vba routine, un fichier UDF ou une autre macro. Vous voudrez peut-être bien comprendre votre terminologie lorsque vous posez une question.

Vous devez vraiment clarifier ce que vous voulez réaliser. Ce n'est pas clair

  • où vous voulez la sortie, par exemple voulez-vous le résultat dans la même cellule où le numéro d'origine est entré? Où vont les centimes alors?
  • voulez-vous que les centimes soient affichés sous la forme 0,55 ou 55?
  • Si vous souhaitez que les valeurs (dollars et cents) s'affichent dans la même cellule, à quoi cela devrait-il ressembler?
  • si vous voulez les valeurs dans deux cellules séparées, veuillez spécifier quelles cellules pour les dollars et quelles cellules pour les cents

Placer une prime sur la question sans spécifier clairement vos besoins n'aide pas beaucoup.

Voici une autre approche, basée sur les hypothèses suivantes:

  • la valeur avec décimales est entrée dans la colonne A
  • la valeur doit être modifiée dans la colonne A pour afficher uniquement les dollars (l'entier)
  • les décimales de la valeur seront affichées dans la colonne C
  • les décimales seront affichées sous forme de nombres entiers dans la colonne B

Ceci peut être réalisé à l'aide de la macro d'événement de changement suivante:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A:A")) Is Nothing Then
    On Error Resume Next
    Application.EnableEvents = False
    Target.Offset(0, 2) = Target - Int(Target)
    Target.Offset(0, 1) = (Target - Int(Target)) * 100
    Target = Int(Target)
    Application.EnableEvents = True
End If
End Sub

Cliquez avec le bouton droit sur l'onglet de la feuille, cliquez sur "Afficher le code" et collez le code ci-dessus dans la fenêtre de code.

Bien sûr, un moyen beaucoup plus facile de réaliser exactement la même chose, sans fonctions, sans macros, sans VBA, peut être effectué avec exactement le même nombre de frappes au clavier que lors de la saisie du numéro dans une cellule.

Comparez ces deux séries de frappes

2499.55

avec

2499Tab55

La deuxième série de frappes va mettre les centimes dans leur propre cellule, en les affichant sous forme de nombre entier.

J'apprécierais vraiment vos commentaires sur les nombreuses suggestions que vous avez reçues dans ce fil.

16
teylyn

Vous pouvez utiliser une deuxième cellule pour calculer la valeur. Si votre valeur est dans la cellule A1, la formule serait: 

=A1-MOD(A1,1)

enter image description here

Si c'est une option, placez votre saisie de données sur une feuille de calcul (onglet) et indiquez le résultat non arrondi à l'endroit où vous avez besoin de la réponse finale.

3
B-Rell

Ce n'est pas possible de faire cela. Cependant, si vous voulez une solution odd :

  • En supposant que la valeur soit dans A1, entrez les formules dans B1 et C1, voir capture d'écran.
  • Insérer une TextBox . Lorsque vous faites glisser le curseur pour le créer sur la cellule A1, maintenez la touche Alt afin qu’elle s’adapte parfaitement à la cellule.
  • Cliquez sur le bord de la zone de texte et tapez =C1 dans la barre de formule.
  • Cliquez sur le bouton Aligner-Droite du ruban. vous pouvez cliquer avec le bouton droit de la souris sur, Mettre en forme la forme, pour d’autres options.
  • Formatez la zone de texte sur un arrière-plan blanc, sans contour (bordure).
  • Vous pouvez masquer la colonne C.

enter image description here

Vous pouvez copier et coller la forme dans A2, cela changera la formule en =C2. Utilisez à nouveau la touche Alt pour redimensionner la forme, si nécessaire, afin qu'elle s'adapte à la cellule.

BTW: Je ne recommande pas cette approche , mais c'est une réponse (inhabituelle) à votre question.

2
Andy G

Juste pour rire, voici une autre solution.

En supposant que vous avez des données existantes dans les colonnes et que vous souhaitez fractionner les dollars et les cents en deux colonnes distinctes, vous pouvez utiliser la fonction Texte en colonnes .

Dans Excel 2007:

On the Data tab, select Text to Columns

Notez que nous sommes sur l'onglet Données. Avec votre colonne en surbrillance, sélectionnez Text to Columns et vous obtiendrez la boîte de dialogue ci-dessous. Sélectionné Délimité et cliquez sur Suivant.

Excel 2007 text-to-columns wizard, step 1 of 3

Sur cet écran, sélectionnez Autre et mettez un point dans le champ, comme suit:

Excel 2007 text-to-columns wizard, step 2 of 3

À ce stade, vous pouvez cliquer sur Terminer et les séparer en deux colonnes! Woohoo!

Si vous voulez choisir la destination et le formatage des champs, cliquez sur Suivant.

eExcel 2007 text-to-columns wizard, step 2 of 3

Fantaisie!

Oh et voici les résultats:

Dollars and cents!

Hourra, Excel!

1
Charles Wood

Pouvez-vous simplement formater la cellule en général ou en texte? Ces formats ne seront pas arrondis.

Sinon, vous pouvez ROUNDDOWN votre cellule en dollars afin qu’elle affiche toujours le montant en dollars approprié.

Vous pouvez également utiliser une formule comme

=LEFT(A1,FIND(".",A1,1)-1)    

pour séparer les dollars et les cents dans des cellules séparées. Il y a plusieurs moyens de le faire. Il n'est pas nécessaire que ce soit compliqué si vous êtes prêt à être un peu créatif.

Quelle que soit la route choisie, vous devez utiliser 3 cellules au lieu de 2. 1 cellule pour le montant total, 1 cellule pour les dollars et 1 cellule pour les cents. Vous devez avoir une cellule d'entrée et 2 cellules avec des formules si vous n'utilisez pas de code pour cela. 

1
Eric J

La fonction TRUNC n’arrondit pas les chiffres. ... La fonction TRUNC, abréviation de la fonction troncature, est utilisée pour supprimer la partie décimale d'un nombre en un ensemble.

0
chetan k trivedi

Le nombre de décimales à afficher peut être défini dans le menu Outils sous options. Sélectionnez le nombre de décimales sous Options décimales fixes. Vous pouvez également utiliser la fonction INT pour extraire uniquement la partie entière de la valeur ayant des décimales. .

0
rangan

C'est définitivement possible! Il existe une solution astucieuse pour afficher les décimales sous forme de centimes entiers à l’aide d’un format numérique et SANS modifier la valeur réelle dans la cellule. Cliquez avec le bouton droit de la souris sur la cellule et sélectionnez Formater les cellules. Sous l'onglet Nombre, accédez à Personnalisé.

Dans le format numérique "Type", copiez/collez ce qui suit:

# ¢

Puis tapez cette combinaison de clavier:

CTRL + J

Et enfin:

%

Cliquez sur OK pour enregistrer le format numérique personnalisé. Puis définissez le format de cellule sur "Wrap Text".

Le symbole% multiplie le nombre par 100 pour que votre 0,37 indique 37. Il ajoute également un symbole de pourcentage au format que vous ne souhaitez pas.

CTRL + J masque le symbole de pourcentage en insérant un saut de ligne CHR (10) qui déplace le symbole de pourcentage sur une deuxième ligne de la cellule. Excel n'augmentera pas automatiquement la hauteur des lignes pour cette cellule, elle restera donc masquée.

Le résultat final est qu'une valeur de cellule de 0,37 s'affiche sous la forme 37 ¢. Pour moi, c'est beaucoup mieux que de changer la valeur de la cellule avec une formule.

0
ChrisB

Autant que je sache, vous devez afficher quelque chose comme ceci ... enter image description here

Et pour y parvenir, vous devez formater cette cellule et vous devez le faire de la même manière. enter image description here

0
Nisarg Shah

Malheureusement, je ne vois pas comment cela est possible sans fonctions.

La fonction que vous voulez est TRUNC. Cela supprimera simplement la partie décimale de votre nombre.

0
Charles Wood

vraiment vous avez juste besoin d’utiliser la gauche et de rechercher puis d’ajouter le nombre de décimales que vous souhaitez après la recherche. Par exemple, =LEFT(H4,FIND(".",H4)+2)

0
Tim