Grüezi Klaus
Klaus "Perry" Pago schrieb am 09.06.2006
Post by Klaus "Perry" PagoPost by Thomas RamelAls weitere Alternative (da ich Zahlen nicht gerne mit String-Operationen
=KÜRZEN(REST(A1/(10^(B1-(B1>0)));10);0)
nicht schlecht - auch die "Komma-Thematik" ist "sauber" gelöst :)
Danke für die Blumen - es zahlt sich offenbar aus, dass Mathematik seit
einiger Zeit wieder zu meinen Schulfächern gehört ;-)
Verbesserungswürdig wäre noch die Behandlung der '0', da 10^0 eben '1'
ergibt und andererseits versagt REST() bei grossen Werten....... :-(
Das REST()-Problem könnte man dann so lösen:
=KÜRZEN((A1/(10^(B1-(B1>0))))-(GANZZAHL((A1/(10^(B1-(B1>0))))/10)*10);0)
...bleibt noch die Sache mit der '0', die ich im ersten Anlauf dann gerne
so gelöst hätte (mit dem Zellenformat '0;0;;'):
=(B1<>0)*KÜRZEN((A1/(10^(B1-(B1>0))))-(GANZZAHL((A1/(10^(B1-(B1>0))))/10)*10);0)
Das hat den Vorteil, dass neben dem Komma (bei Angabe '0' in B1') auch alle
zu grossen oder zu kleinen Stellenangaben als leere Zelle ausgegeben
werden. :-)
...der Nachteil ist dann allerdings, dass eine eventuell in der Zahl
enthaltene '0' ebenfalls nicht ausgegeben wird :-(
Also dann folgendes mit Zellenformat 'Standard':
=WENN(B1<>0;KÜRZEN((A1/(10^(B1-(B1>0))))-(GANZZAHL((A1/(10^(B1-(B1>0))))/10)*10);0);"")
und alle zu grossen/kleinen Stellenangaben werden ebenfalls als '0'
ausgegeben.
Post by Klaus "Perry" Pago- Ich hätte im 1. Step wieder eine komplizierte WENN-Konstruktion
gebraucht
...da stehen wir dann auch wieder, wenn wir alle oben genannten Fälle (und
die, welche ich nun noch nicht bedacht habe, berücksichtigen will....
Ich denke, wir überlassen nun Roland mal die Qual der Wahl ;-)
Mit freundlichen Grüssen
Thomas Ramel
--
- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2000 SP-3]
Microsoft Excel - Die ExpertenTipps:
(http://tinyurl.com/9ov3l und http://tinyurl.com/cmned)