Hallo Leute, ich möchte dass mir Excel z.B. die Zahl "3,9E-3" als "3,9 ms" anzeigt. Für Megahertz habe ich es mit folgendem benutzerdefinierten Zahlenformat geschafft: #.##0.. "MHz" "150E+6" wird als "150 MHz" angezeigt. Für den oben genannten Fall finde ich jedoch das richtige Format nicht :( Danke für etwaige Tipps! lg, Martin K.
Ich denke dafür brauchst Du eine Funktion: http://excel.tips.net/T002928_Engineering_Calculations.html
Danke, werde mir das mal angesehen und die Lösung ggf hier posten!
Wenn das Analyse-Addin installiert ist, geht z.B auch =UMWANDELN(3,9E-03; "sec"; "msec") http://office.microsoft.com/de-de/excel-help/umwandeln-funktion-HP010062311.aspx
Mit Hilfe des Links von hp-freund habe ichs mit folgender Funktion geschafft:
1 | Function ToSciNum(BaseNum As Double, Unit As String) As String |
2 | |
3 | Dim OrigNum As Double |
4 | Dim Pref As Integer |
5 | Dim Temp As String |
6 | |
7 | Pref = 0 |
8 | OrigNum = BaseNum |
9 | |
10 | Select Case BaseNum |
11 | Case Is >= 1 |
12 | While Abs(BaseNum) > 1000 |
13 | BaseNum = BaseNum / 1000 |
14 | Pref = Pref + 1 |
15 | Wend |
16 | Case 0 |
17 | Pref = 99 |
18 | Case Else |
19 | While Abs(BaseNum) < 1 |
20 | BaseNum = BaseNum * 1000 |
21 | Pref = Pref - 1 |
22 | Wend |
23 | End Select |
24 | |
25 | Select Case Pref |
26 | Case -6 |
27 | Temp = "a" & Unit |
28 | Case -5 |
29 | Temp = "f" & Unit |
30 | Case -4 |
31 | Temp = "p" & Unit |
32 | Case -3 |
33 | Temp = "n" & Unit |
34 | Case -2 |
35 | Temp = "µ" & Unit |
36 | Case -1 |
37 | Temp = "m" & Unit |
38 | Case 0 |
39 | Temp = Unit |
40 | Case 1 |
41 | Temp = "k" & Unit |
42 | Case 2 |
43 | Temp = "M" & Unit |
44 | Case 3 |
45 | Temp = "G" & Unit |
46 | Case 4 |
47 | Temp = "T" & Unit |
48 | Case 5 |
49 | Temp = "P" & Unit |
50 | Case 6 |
51 | Temp = "E" & Unit |
52 | Case Else |
53 | Temp = "" |
54 | End Select |
55 | |
56 | ToSciNum = Format(BaseNum, "0.0") & " " & Temp |
57 | |
58 | End Function |
Zwei unbedeutend kleine Probleme habe ich dabei noch: 1) Damit ich die Funktion aufrufen kann, muss ich den ganzen Dateinamen/Modul-Wulst angeben: =PNM_FFT_Timing.xlsm!ToSciNum.ToSciNum(...) 2) Da die Funktion einen String zurückgibt (Wert + Einheit) kann ich natürlich damit nicht mehr weiterrechnen. Gäbs dafür auch noch eine Lösung (Ohne die Einheit in einer anderen Zelle anzeigen zu lassen!)? @Arc Net: Beider deiner Funktion muss ich a) die Größenordung fix angeben, und b) wird die Einheit nicht angezeigt. Danke für den Tip, ist aber nicht das was ich suche.
Hallo MtheK, ich habe deine Funktion in LibreOffice getestet. Funktioniert. Hier ist es so das ich die Funktion/das Makro direkt in das Dokument einfüge. Unter Makros: Dokument -> Standard -> Module1 -> ToSciNum Dann erfolgt der Aufruf wie im Bild. Excel/Window$ ist aber schon zu lange her. Weiss ich nicht mehr wie das da war. Zu 2) : Du hast doch noch die originale Zahl ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.