wake-up-neo.com

Excel 2007-Zahl ohne Dezimalstellen, aber nicht automatisch gerundet?

Ich habe anscheinend ein ziemlich einfaches Problem mit Excel, obwohl ich keine Lösung dafür finden kann, außer eine Funktion einzuschließen.

Grundsätzlich möchte ich einen Preis in zwei Feldern anzeigen, eines für Dollar und eines für Cent.

Ich habe das funktioniert gut, aber das Problem, das ich habe, ist, wenn ich sage "24990.55" in das Dollar-Feld wird es zeigen "24991" in Dollar und "55" im Cent-Feld.

Kann ich Excel auf irgendeine Weise zwingen,NICHTautomatisch zu runden?

7
adam2510

Ob

A1 = 24990.55

dann

  • =INT(A1) gibt 24990 zurück
  • =MOD(A1,1) gibt 0,55 zurück

Sie benötigen eine Funktion zum Abschneiden der Dezimalstellen. Int() wird das tun. Mod() zeigt nur die Dezimalstellen an.

Ich weiß nicht, welches Verhalten Sie erwarten, ohne Funktionen zu verwenden. Durch einfaches Formatieren einer Zahl wird der zugrunde liegende Wert nicht geändert . Dies bedeutet, dass keine Formatierung vorhanden ist, um nur den ganzzahligen Wert anzuzeigen und die Dezimalstellen ohne Rundung zu ignorieren. Excel funktioniert so nicht. Bei der Formatierung ohne Dezimalstellen wird immer gerundet. Um das zu umgehen, benötigen Sie eine Funktion, um die Dezimalstellen abzuschneiden .

Wenn Sie möchten, dass die Cents als ganze Zahlen angezeigt werden, multiplizieren Sie einfach das Ergebnis Mod() mit 100.

enter image description here

Bearbeiten: Sie sprechen über Funktionen oben, aber das Lesen anderer Antworten, ich denke, was Sie tatsächlich bedeuten, ist VBA Routine, eine UDF oder ein anderes Makro. Wenn Sie eine Frage stellen, möchten Sie möglicherweise die richtige Terminologie verwenden.

Sie müssen wirklich klarstellen, was Sie erreichen möchten. Es ist nicht klar

  • wo Sie die Ausgabe möchten, z. Möchten Sie das Ergebnis in derselben Zelle haben, in der die ursprüngliche Nummer eingegeben wurde? Wohin sollen dann die Cent gehen?
  • möchten Sie, dass die Cent als 0,55 oder als 55 angezeigt werden?
  • Wenn die Werte (Dollar und Cent) in derselben Zelle angezeigt werden sollen, wie sollte das aussehen?
  • wenn Sie die Werte in zwei separaten Zellen anzeigen möchten, geben Sie bitte an, welche Zellen für die Dollars und welche für die Cent

Nur ein Kopfgeld auf die Frage zu setzen, ohne Ihre Anforderungen klar zu spezifizieren, hilft nicht viel.

Hier ist ein anderer Ansatz, der auf den folgenden Annahmen basiert:

  • der Wert mit Dezimalstellen wird in Spalte A eingegeben
  • der Wert sollte in Spalte A geändert werden, um nur die Dollars (die ganze Zahl) anzuzeigen.
  • die Dezimalstellen des Wertes werden in Spalte C angezeigt
  • die Dezimalstellen werden in Spalte B als ganze Zahlen angezeigt

Dies kann durch das folgende Änderungsereignismakro erreicht werden:

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

Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte, klicken Sie auf "Code anzeigen" und fügen Sie den obigen Code in das Codefenster ein.

Natürlich ist es viel einfacher, ohne Funktionen, ohne Makros und ohne VBA genau dasselbe zu erreichen, als wenn Sie die Nummer in eine Zelle eingeben.

Vergleichen Sie diese beiden Tastenanschläge

2499.55

mit

2499Tab55

Bei der zweiten Tastenkombination werden die Cents in ihre eigene Zelle eingefügt und als ganze Zahl angezeigt.

Ich würde mich sehr über Feedback zu den vielen Vorschlägen freuen, die Sie in diesem Thread erhalten haben.

16
teylyn

Sie können eine zweite Zelle verwenden, um den Wert zu berechnen. Wenn sich Ihr Wert in Zelle A1 befindet, lautet die Formel 

=A1-MOD(A1,1)

enter image description here

Wenn es sich um eine Option handelt, platzieren Sie Ihre Dateneingabe auf einem Arbeitsblatt (Registerkarte) und geben Sie die ungerundete Ausgabe dort aus, wo Sie die endgültige Antwort benötigen.

3
B-Rell

Dies ist nicht möglich. Wenn Sie jedoch eine odd -Lösung wünschen:

  • Wenn der Wert in A1 ist, geben Sie die Formeln in B1 und C1 ein, siehe Abbildung.
  • Einfügen eines TextBox. Halten Sie beim Ziehen zum Erstellen über Zelle A1 die Taste Altgedrückt, damit die Zelle perfekt in die Zelle passt.
  • Klicken Sie auf den Rand des Textfelds und geben Sie =C1 in die Formelleiste ein.
  • Klicken Sie auf der Multifunktionsleiste auf die Schaltfläche Rechts ausrichten. Sie können für andere Optionen mit der rechten Maustaste auf Form formatieren klicken.
  • Formatieren Sie das Textfeld mit einem weißen Hintergrund und ohne Umrandung (Rand).
  • Sie können Spalte C ausblenden.

enter image description here

Sie können die Form in A2 kopieren und einfügen. Die Formel ändert sich in =C2. Verwenden Sie die Alt-Taste erneut, um die Form ggf. anzupassen, damit sie in die Zelle passt.

BTW: Ich bin empfehle diesen Ansatz nicht, aber es ist eine (ungewöhnliche) Antwort auf Ihre Frage.

2
Andy G

Nur zum Kichern, hier ist eine andere Lösung.

Vorausgesetzt, Sie haben Daten in Spalten und möchten die Dollars und Cents in zwei separate Spalten aufteilen, können Sie die Funktion Text to Columns verwenden.

In Excel 2007:

On the Data tab, select Text to Columns

Beachten Sie, dass wir uns auf der Registerkarte Daten befinden. Wenn Ihre Spalte hervorgehoben ist, wählen Sie Text in Spalten aus. Daraufhin wird das folgende Dialogfeld angezeigt. Ausgewählt Begrenzt und klicken Sie auf Weiter.

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

Wählen Sie auf diesem Bildschirm Other aus und geben Sie einen Punkt in das Feld ein:

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

An diesem Punkt können Sie auf Fertig stellen klicken und es wird sie in zwei Spalten aufgeteilt! Woohoo!

Wenn Sie das Ziel und die Formatierung für die Felder auswählen möchten, klicken Sie auf Weiter.

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

Schick!

Oh und hier sind die Ergebnisse:

Dollars and cents!

Hurra, Excel!

1
Charles Wood

Können Sie die Zelle einfach als Allgemein oder als Text formatieren? Diese Formate werden nicht rund werden.

Alternativ können Sie ROUNDDOWN Ihre Dollarzelle so ändern, dass immer die richtige Dollarzahl angezeigt wird.

Sie können auch eine Formel verwenden

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

dollar und Cent in getrennte Zellen aufzuteilen. Dafür gibt es mehrere Möglichkeiten. Es muss nicht kompliziert sein, wenn Sie ein wenig kreativ sein möchten.

Welchen Weg Sie auch wählen, Sie müssen 3 Zellen anstelle von 2 Zellen verwenden. 1 Zelle für die volle Menge, 1 Zelle für Dollar und 1 Zelle für Cent. Sie müssen über eine Eingabezelle und 2 Zellen mit Formeln verfügen, wenn Sie dazu keinen Code verwenden möchten. 

1
Eric J

Die TRUNC-Funktion rundet Zahlen nicht. ... Mit der TRUNC-Funktion (Abkürzungskürzel) wird der Dezimalteil einer Zahl aus einem Satz entfernt

0

Die Anzahl der anzuzeigenden Dezimalstellen kann im Menü Extras unter Optionen eingestellt werden. Wählen Sie unter Dezimalstellenoptionen die Anzahl der Dezimalstellen aus. Alternativ können Sie die INT-Funktion verwenden, um nur den ganzzahligen Teil des Dezimalwerts zu extrahieren .

0
rangan

Dies ist auf jeden Fall möglich! Es gibt eine clevere Lösung, um Dezimalzahlen als ganze Cent in einem Zahlenformat anzuzeigen und OHNE den tatsächlichen Wert in der Zelle zu ändern. Klicken Sie mit der rechten Maustaste auf die Zelle und wählen Sie Zellen formatieren aus. Wechseln Sie auf der Registerkarte Nummer zu Benutzerdefiniert.

Kopieren Sie im benutzerdefinierten Zahlenformat "Typ" Folgendes:

# ¢

Geben Sie dann diese Tastenkombination ein:

CTRL + J

Und schlussendlich:

%

Klicken Sie auf OK, um das benutzerdefinierte Zahlenformat zu speichern. Setzen Sie dann das Zellenformat auf "Text umbrechen".

Das% -Symbol multipliziert die Zahl mit 100, sodass 0,37 als 37 angezeigt wird. Außerdem fügt es dem gewünschten Format ein Prozentzeichen hinzu.

STRG + J blendet das Prozentzeichen aus, indem Sie eine CHR (10) -Zeile einfügen, durch die das Prozentzeichen in eine zweite Zeile in der Zelle verschoben wird. Die Zeilenhöhe für diese Zelle wird in Excel nicht automatisch erhöht, sodass sie ausgeblendet bleibt.

Das Endergebnis ist, dass ein Zellenwert von 0,37 als 37 [] angezeigt wird. Für mich ist das viel besser, als den Zellenwert mit einer Formel zu ändern.

0
ChrisB

Soweit ich es verstehe, müssen Sie so etwas anzeigen ... enter image description here

Und um dies zu erreichen, müssen Sie diese Zelle und das Format formatieren, indem Sie dies tun. enter image description here

0
Nisarg Shah

Leider sehe ich nicht, wie dies ohne Funktionen möglich ist.

Die gewünschte Funktion ist TRUNC. Dadurch wird der Dezimalteil Ihrer Zahl einfach gelöscht.

0
Charles Wood

sie müssen nur die Linke verwenden und die Anzahl der Dezimalstellen nach dem Suchvorgang addieren. Z. B. =LEFT(H4,FIND(".",H4)+2)

0
Tim