Sida 1 av 1
Prefixrepresentaion i Excel?
Postat: 21 januari 2006, 23:01:15
av Loial
Sitter och gör ett litet kalkylark med formler man använder ofta (eller inte)
Men jag får inte talrepresentationen att fungera. Inom elektronik vill man ju gärna använda k,M,G,T resp. m,u(mikro),n,p o.s.v.
Nån som vet om det går att fixa? Om inte, skulle det vara bra om det går att "låsa" exponenter till 0,3,6,9 osv. istället.
Som det är nu, skriver man "10E-9" (10n) så ändrar excel direkt till "1E-8".
Postat: 21 januari 2006, 23:17:38
av matseng
Utan att använda en egenskriven funktion för att formaterra värdena känner jag inte till något sätt att få K/M/G osv..
Men för att låsa till exponenter med jämna multiplar av 3 brukar jag använda formatet: ##0.0E+0 (en decimal) eller ##0+0 (inga decimaler)
Postat: 22 januari 2006, 00:12:48
av Loial
Hmm... hur låser det exponenten? får samma resultat som ovan ändå.
Postat: 22 januari 2006, 13:07:29
av matseng
Det gör det hos mig med Excel 2003... Tja, exakt hur den formatteringen egentligen fungerar jag jag ärligt talat ingen aning om. Det nåt jag har antecknat från ett gammalt tips jag såg för nåt år sen.
Kod: Markera allt
1 1.0E+0
12 12.0E+0
123 123.0E+0
1234 1.2E+3
12345 12.3E+3
123456 123.5E+3
1234567 1.2E+6
12345678 12.3E+6
123456789 123.5E+6
1234567890 1.2E+9
12345678901 12.3E+9
0.1 100.0E-3
0.01 10.0E-3
0.001 1.0E-3
0.0001 100.0E-6
0.00001 10.0E-6
0.000001 1.0E-6
0.0000001 100.0E-9
0.00000001 10.0E-9
0.000000001 1.0E-9
Postat: 22 januari 2006, 14:28:25
av Loial
Delvis löst. Talformatet ###,000E+0 fungerade bra.
Återstår bara att se om någon vet hur man kan få p,n,u,m,k,M,G,T också då =)
EDIT: Såg nu vad det var med ditt exempel som strulade till det, det var punkten i talformatet, som ska vara ett komma istället!
Postat: 22 januari 2006, 16:10:30
av matseng
Tja, du kan göra ett macro i stil med så här
Kod: Markera allt
Function Suf(v)
Select Case v
Case Is >= 1000000
Suf = Format(v / 1000000) & " M"
Exit Function
Case Is >= 1000
Suf = Format(v / 1000) & " K"
Exit Function
Case Is >= 1
Suf = Format(v)
Exit Function
Case Is >= 0.001
Suf = Format(v * 1000#) & " m"
Exit Function
Case Is >= 0.000001
Suf = Format(v * 1000000#) & " u"
Exit Function
Case Is >= 0.000000001
Suf = Format(v * 1000000000#) & " n"
Exit Function
Case Is >= 0.000000000001
Suf = Format(v * 1000000000000#) & " p"
Exit Function
Case Else
Suf = v
End Select
End Function
Och sedan istället för att skriva =U*I i en rutan så skriver du =Suf(U*I)
Postat: 30 januari 2006, 23:56:36
av JimmyAndersson
Nu har jag inte Excel framför mig, men det finns funktioner typ som ersätter/lägger till info i ett fält om innehållet är enligt vissa regler.
Postat: 31 januari 2006, 00:38:12
av RRacer
matseng skrev:Tja, du kan göra ett macro i stil med så här [snip]
Det ser ut att kunna funka fint, men du behöver väl inte alla "Exit Function"? Select-satser blir väl nöjda vid första träffen och hoppar vidare?