Seite 1 von 1

Formel Auswerten

Verfasst: Mi, 29.12.2004 19:25
von ChrisLuet
Hallo,
ich habe in Zelle A1 Werte wie 2+12 oder 2,3 +14 stehen, diese Summe möchte ich mit dem Wert Zelle aus B1 multiplizieren.
Da aber StarCalc den Wert als Text erkennt, kann er damit nicht rechnen.
In Excel gibt es die Formel AUSWERTEN, gibt es in StarCalc was ähnliches ?
Der Wert in Zelle A1 muß aber wie oben ( mit Pluszeichen ) dargestellt werden !
Wer weiß Rat ? :?:
Thx
Chris

Verfasst: Mi, 29.12.2004 20:54
von FranzX
Hallo Chris,

eine Frage: Wo kommen denn diese Werte her?
sind dies als Textstring verknüpfte Zellenwerte oder direkt erfasste Zahlen?

Gruß
FranzX

Verfasst: Mi, 29.12.2004 21:09
von Stephan
Für Dein Beispiel geht das mit der Formel:

=SUMME(WERT(LINKS(A1;FINDEN("+";A1;1)-1));WERT(RECHTS(A1;LÄNGE(A1)-FINDEN("+";A1;1))))*B1

Zwischen "2" und "+" und "+" und "12" dürfen keine Leerzeichen stehen, sonst in der Formel A1 durch GLÄTTEN(A1) ersetzen.

Gruß
Stephan

Frage

Verfasst: Do, 30.12.2004 07:54
von chris1
Hallo,
danke für die prompte Hilfe !!
Die Werte ( 2 + 12 ) werden von Usern eingegeben.
Die Formel funktioniert auch sehr gut, was aber wenn nur z.B. eine einfache Zahl eingegeben wird, dann zeigt mir die Funktion #Wert an !!
Es ist eben auch möglich das nur eine Zahl eingegeben wird oder eine Kombination wie 3+14 !!
Wie kann ich das Problem umschiffen, wenn kein Pluszeichen in der Zelle steht.
Bitte um Hilfe ich steh auf dem Schlauch.
Thx
Chris

Verfasst: Do, 30.12.2004 10:12
von Gast
Am einfachsten wäre es wohl, Du könntest die User anweisen, ein Gleichheitszeichen voranzustellen. Dann wird der Zellinhalt als Zahl interpretiert und Du brauchst überhaupt keine Umformungen. Wenn Du die Formel-Ansicht brauchst, könntest Du ja in einer zusätzlichen Zelle =FORMEL(A1) hinterlegen.
Wenn das nicht geht, musst Du eine Unterscheidung finden, wie z.B. die Prüfung ISTZAHL() und die Formel von Stephan da hineinpacken:
=WENN(ISTZAHL(A1);A1*B1;FormelFuerTextZelle)
Gruss, Lenu

Verfasst: Do, 30.12.2004 16:48
von Stephan
=WENN(ISTFEHLER(FINDEN("+";A1;1));A1*B1;SUMME(WERT(LINKS(A1;FINDEN("+";A1;1)-1));WERT(RECHTS(A1;LÄNGE(A1)-FINDEN("+";A1;1))))*B1)

Gruß
Stephan

Verfasst: Do, 30.12.2004 19:12
von TenBaseT
Stephan hat geschrieben:=WENN(ISTFEHLER(FINDEN("+";A1;1));A1*B1;SUMME(WERT(LINKS(A1;FINDEN("+";A1;1)-1));WERT(RECHTS(A1;LÄNGE(A1)-FINDEN("+";A1;1))))*B1)

Gruß
Stephan
Hüstel :roll: Wenn ich solche Formeln sehe, dann überkommt mich ein Schauder.

Jetzt versteh ich nicht soviel von Calc, aber kann man sich da nicht eine Makrofunktion schreiben, die den Inhalt der Zelle zurückgibt? Gibt es für die Zellen kein Property .TEXT oder ähnliches ?

Hans

Verfasst: Do, 30.12.2004 20:29
von Gast
TenBaseT hat geschrieben:
Stephan hat geschrieben:=WENN(ISTFEHLER(FINDEN("+";A1;1));A1*B1;SUMME(WERT(LINKS(A1;FINDEN("+";A1;1)-1));WERT(RECHTS(A1;LÄNGE(A1)-FINDEN("+";A1;1))))*B1)

Gruß
Stephan
Hüstel :roll: Wenn ich solche Formeln sehe, dann überkommt mich ein Schauder.

Jetzt versteh ich nicht soviel von Calc, aber kann man sich da nicht eine Makrofunktion schreiben, die den Inhalt der Zelle zurückgibt?
:? Da überkommt nun mich ein Schauder. Bandwurm-Formeln mag ich zwar auch nicht, aber es sind immerhin 'Bordmittel'. Wenn man anfängt, Makros einzubauen, können nur noch die was damit anfangen, die auch StarBasic programmieren können. So eine Formel hingegen kann man aber mit dem Formel-Assistenten immer noch auseinandernehmen.
Womit ich nicht grundsätzlich etwas gegen Makros sagen möchte, aber nach Möglichkeit dazu tendiere, die ausprogrammierten Funktionen vorzuziehen.
Gruss, Lenu

Verfasst: Do, 30.12.2004 21:50
von Stephan
Hallo,

was soll ich sagen, beide habt ihr etwas Recht.
(a)
Einerseits ist die Formel lang, kann aber schlimmstenfalls 512 Zeichen lang sein :wink: , andererseits muß man die ebend entsprechend zerlegen um sie zu analysieren/verstehen. Wenn ich sie nicht selbst geschrieben hätte würde ich sie auf einen Blick auch nicht verstehen.
(b)
ich habe mir keine Gedanken gemacht ob es für das konkrete Beispiel nicht doch eine elegantere Lösung gibt, sondern nur eine funktionierende Formel hingeschrieben.
(c)
ich würde eine benutzerdefinierte Funktion ("Makro"/"Function") in solchen Fällen immer bevorzugen, aber viele Nutzer lehnen das ab weil sie es nicht verstehen oder weil sie keine Makrowarnung wollen etc. Ist also in dem Sinne auch eine Frage persönlicher Vorlieben.


Gruß
Stephan

Re: Formel Auswerten

Verfasst: Mi, 23.03.2011 20:12
von Gronko
Hallo zusammen,
der Dialog ist ja nun schon ein paar Jahre her!
Hat sich seitdem was getan in dieser Richtung?

Ich habe ein ähnliches Problem, nur leider stehen bei mir nicht nur eine Multiplikation in einer Zelle, sondern verschiedene Grundrechenarten. Das ganze soll auch lesbar bleiben - von wegen nachvollziehbarer Ansatz - und trotzdem brauch ich ein berechnetes Ergebnis.
In Excel funktionierts über Namen so:
Name definieren und Spalte B ausweren: Name_xy=AUSWERTEN(Tabelle_1!$B:$B)
dann im Feld daneben einfach eingeben =Name_xy
und schon habe ich sowohl Formel als auch Berechnung.

Leider gibt´s bei OOo calc aber kein "auswerten".
Gibt´s da mittlerweile eine Lösung??

Wäre für Hilfe dankbar!

Re: Formel Auswerten

Verfasst: Di, 15.05.2018 00:27
von Gast
Bei Excel tippt man die Formel (ohne "=") ein und kann die Zelle auswerten.
In Libre office tippt man die Förmel mit "=" ein, in der Eingabezelle steht dann das Rechnenergebnis und in einer anderen Zelle kann man die Formel einblenden mit "=Formel(zellbezug)".

Re: Formel Auswerten

Verfasst: Di, 15.05.2018 07:20
von Gast
Moin!
Sowohl in Excel als auch in LO braucht man kein = eingeben, um sofort eine Auswertung des "Textes" zu erreichen.
Dies geht viel einfacher und vor allem schneller mit der Eingabe des Vorzeichens der ersten Zahl mittels Ziffernblock(!).
-8+2 ergibt -6
+8-2 ergibt 6

Anzeige der "Formel" dann mittels =FORMEL(A1) (LO) bzw. =FORMELTEXT(A1) (Excel)

Gruß Ralf

Re: Formel Auswerten

Verfasst: Di, 15.05.2018 18:08
von lorbass
Moderationshinweis
Bitte keine „alten“ Threads aufwärmen. Siehe auch Allgemeine Hinweise zur Forumsbenutzung (dort unter: „Eröffnet neue Threads“).
Thread ≈14½ Jahre nach Start gesperrt.

lorbass, Moderator