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?
Si
A1 = 24990.55
puis
=INT(A1)
retournera 24990=MOD(A1,1)
retournera 0,55Vous 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.
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
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:
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.
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)
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.
Ce n'est pas possible de faire cela. Cependant, si vous voulez une solution odd :
=C1
dans la barre de formule.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.
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:
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.
Sur cet écran, sélectionnez Autre et mettez un point dans le champ, comme suit:
À 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.
Fantaisie!
Oh et voici les résultats:
Hourra, Excel!
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.
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.
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. .
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.
Autant que je sache, vous devez afficher quelque chose comme ceci ...
Et pour y parvenir, vous devez formater cette cellule et vous devez le faire de la même manière.
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.
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)