Ich brauche eine Tabellenblattfunktion für Excel 2010(07), die zwei Zahlen(mit Punkt davor) in die einzelnen Ziffern zerlegt, und diese dann nach dem Prinzip der schriftlichen multiplikation multipliziert. Das Ergebniss wird mit Punkt davor ausgegeben.
Vielen Dank im Vorraus
Grüezi Hans
Ich brauche eine Tabellenblattfunktion für Excel 2010(07), die
zwei Zahlen(mit Punkt davor) in die einzelnen Ziffern zerlegt,
und diese dann nach dem Prinzip der schriftlichen
multiplikation multipliziert. Das Ergebniss wird mit Punkt
davor ausgegeben.
Hmmm, kannst Du da bitte ein paar Beispiele machen wie deine ‚Zahlen‘ im Moment aussehen und was genau das Ergebnis der Funktion sein soll?
Anschliessend könnte man wohl eine Benuterdefinierte Funktion mit VBA programmieren, die Du dann wie eine normale Funktion in den Zellen des Tabellenblattes verwenden kannst.
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -
Grüezi Hans nochmal
Wie ich gerade im Archiv sehe, hast du diese Frage schon mehrfach auch unter anderem Namen gestellt, bist aber nicht wirklich auf die Antworten die Du erhalten hast eingegangen.
Bist Du überhaupt noch an einer Lösung interessiert, oder geht es mehr darum, andere zu beschäftigen (mal etwas provokant gefragt…)
Mit freundlichen Grüssen
Thomas Ramel
- MVP für MS-Excel -
Hallo,
kannst du mir eine Beispieldatei senden.
Beste Grüße
H. Schuster
Als Funktion gibt es sowas nicht. Nur mittels VBA-Makro möglich.
diese zB. ist gut für eine bis zu 7-stellige Zahl mit Punkt davor:
="." & WENN(LÄNGE(A1)>8;TEIL(A1;9;1);1)*WENN(LÄNGE(A1)>7;TEIL(A1;8;1);1)*WENN(LÄNGE(A1)>6;TEIL(A1;7;1);1)*WENN(LÄNGE(A1)>5;TEIL(A1;6;1);1)*WENN(LÄNGE(A1)>4;TEIL(A1;5;1);1)*WENN(LÄNGE(A1)>3;TEIL(A1;4;1);1)*WENN(LÄNGE(A1)>2;TEIL(A1;3;1);1)*WENN(LÄNGE(A1)>1;TEIL(A1;2;1);1)
Hallo Hans,
hat der Punkt davor irgend eine Bedeutung?
Wäre ein Beispiel wie folgt ok?:
A1: .7
A2: .20
Ergebnis in A3: .20
Dann wäre die Formel in A3 z.B.:
="."&Wert(Ersetzen(A1;1;1;""))*Wert(Ersetzen(A2;1;1;""))
Gruss,
e-a-s-y
Sorry, als Ergebnis meinte ich natürlich
A3: .140
Gruss,
e-a-s-y
Hallo
Angenommen Du hast in der Zelle C8 den Wert „.23“ dann gehe z.B. in Zelle D8 und füge dort den Befehlehl:
=Links(C8;2;1)
ein. Analog gehe in Zelle E8 und füge dort den Befehl:
=Links(C8;3;1)
ein.
In der zelle F8 kannst Du die Zahlen multiplizieren mit dem Punkt vorne an durch einfügen vom Befehl:
="." & D8*E8
Viel Spass beim testen!
Grüsse Sebastian
Hallo Hans,
für die Zellen, die vor den Zahlen einen Punkt zeigen sollen würde ich ein benutzerdefiniertes Format festlegen: "."0
Für Deine Rechnung würde sich die Funktion Teil eignen. Der Rechenweg könnte nach folgendem Muster laufen:
=TEIL(A1;1;1)*TEIL(A1;2;1)…
Das erste Argument in der Klammer verweist auf die Zahl in A1.
Das Zweite Argument auf die Position der Ziffer in der Zahl.
Das dritte Argument sagt, dass nur 1 Ziffer zur Multiplikation gewählt wird.
Gruß Maria
Sorry,
zeitbedingt kann ich leider nicht helfen.
Und das Prinzip der schriftlichen Multiplikation sagt mir sagt auch nichts.
Bitte um Verständnis.
Es wäre schön, wenn Sie mal ein Beispiel nennen würden. Da kann man sich es besser vorstellen.
Mir ist nicht klar, in welchem Format die Ausgangszahlen vorliegen. Ein Beispiel würde zum Verständnis beitragen!
Viele Grüße, BellHouse
Hallo,
eine solche Funktion musst Du dir selbst mit VBA basteln.
Unter http://www.wer-weiss-was.de/app/query/display_query?.. habe ich dazu mal ein paar Ideen zusammengestellt.
Gruß
Vincenz
Hallo Hans,
ich habe deine Fragestellung nicht vollständig verstanden.
Gib mal mehrere Beispiele für die Ausgangszahlen, die Zerlegung und das Ergebnis.
Gruß
Franz
Hallo,
wie genau soll die vorgegebene Zahl aussehen und welcher Teil davon soll mit welchem multipliziert werden?
Beste Grüße
F.Seiler
Hallo,
das klappt nur mit einem kleinen VBA-Programm.
Dieses BSP setzt voraus, dass Du Deine beiden Zahlen
in A1 und A2 stehen hast.
Das Ergebnis steht dann in A3.
Hier das Programm:
Sub test()
Dim erg, zahl As Integer
Dim erg2 As String
wert1 = Range(„A1“).Value
wert2 = Range(„A2“).Value
gesamt = wert1 & wert2
Länge = Len(gesamt)
For i = 1 To Länge
zahl = Mid(gesamt, i, 1)
If i = 1 Then
erg = zahl
End If
If i > 1 Then
erg = erg * zahl
End If
Next i
erg2 = „.“ & erg
Range(„A3“).Value = erg2
End Sub
Gruß,
Jochen
Es wäre schön, wenn Sie mal ein Beispiel nennen würden. Da
kann man sich es besser vorstellen.
z.B.
.555 * .2= .1110
Hallo Hans Bauer,
ich war lediglich irritiert von dem Begriff „schriftl.“ Multiplikation. Sie meinen also die normale Multiplikation der Zahlenwerte in den beiden Zellen, die rechts vom Punkt stehen.
Dazu kann man diese Formel benutzen, wenn z.B. die 1.Zeichenfolge in D4, die 2. in E4 stehen:
="." & WERT(RECHTS(D4;LÄNGE(D4)-1))*WERT(RECHTS(E4;LÄNGE(E4)-1))
Die Zelleninhalte sind ja durch den Punkt Textwerte, die unterschiedlich lang sein können. Dafür gibt es die Funktion RECHTS, in der die Zelle und die Anzahl der Zeichen von rechts beginnend angegeben werden muss. Die Anzahl wiederum wird mit der Funktion LÄNGE vermindert um 1 ermittelt. Dann erhält man die Ziffernfolge ab dem Punkt, die immer noch im Textformat vorliegt. Durch die Funktion WERT wird die Ziffernfolge in eine Zahl umgewandelt.
Das Ergebnis wird dann noch um den Punkt ergänzt.
Ich hoffe, ich habe Ihr Anliegen richtig verstanden.
MfG
Jürgen Donath
Ich entschulige mich, dass ich nicht geantwortet habe. Ich war in der Zeit im Krankenhaus.
BFR