S-Verweis auf Formeln?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

tomvondeek
Beiträge: 5
Registriert: Do, 14.04.2011 11:07

S-Verweis auf Formeln?

Beitrag von tomvondeek »

Hallo allerseits,

ich stehe vor folgendem Problem wo mir der SVerweis nicht weiterhilft und es mir an alternativideen mangelt.

Tabelle 1:

Code: Alles auswählen

		A				B			C		D
1	Name			Anzahl	Preis		Berechnung
2	Hammer			10		100		= Formeln in Tab2, Werte aus dieser Zeile
3	Hammer			20		90		= Formeln in Tab2, Werte aus dieser Zeile
4	Hammer			15		110		= Formeln in Tab2, Werte aus dieser Zeile
5	Spaghetti		100		1		= Formeln in Tab2, Werte aus dieser Zeile
6	Spaghetti			5		2		= Formeln in Tab2, Werte aus dieser Zeile
7	Vogel				40		10		= Formeln in Tab2, Werte aus dieser Zeile
8	Kaugummi			50		1		= Formeln in Tab2, Werte aus dieser Zeile

Tabelle 2:

Code: Alles auswählen

		A			B
1	Hammer		Formel:Anzahl(if>15then15)*Preis*0,9
2	Spaghetti		Formel:(Anzahl-2)*Preis*1,2
3	Vogel			Formel:Anzahl+Preis
4	Kaugumm		Formel:Anzahl-Preis
Als Ergebnis hätte ich entsprechend den Werten und Formeln in Tabelle 1 die jeweiligen Ergebnisse in der Spalte D.
Dies sollte von sich aus geschehen, ohne weiteres zutun.

Meine Problemstellung ist stark vereinfacht, die Formeln sind Komplexer und die Zahl der Variablen etwas größer. Auch die Formeln unterscheiden sich deutlicher voneinander und es gibt mehrere.

Es braucht sich also niemand die Mühe zu machen für oben genanntes Beispiel eine perfekt laufende Lösung zu präsentieren, das brauche ich garnicht.

Für Tips und Ideen über welche ich mein Ziel erreichen kann wäre ich aber dankbar, sprich eine Möglichkeit wie ich in einem Feld eine Werteabhängige Formel einbinden kann.

Die Problematik hatte ich schon auf Office-loesung gepostet, dort bekam ich als antwort ein Excel Marko (ich beherrsche ein wenig VBA, 0 OO-Basic), welches das macht was ich möchte:

Code: Alles auswählen

Sub formelberechnen()

Dim zelle As Range

For Each zelle In Range("A2:A8")
    If Not IsEmpty(zelle) Then
        Range("D" & zelle.Row).FormulaLocal = "=" & Application.WorksheetFunction.VLookup(zelle, Worksheets("Tabelle1").Range("A16:B19"), 2, False)
    End If
Next zelle
End Sub
mit dem Bespiel der Formel für Hammer:

Code: Alles auswählen

WENN(INDIREKT(ZEICHEN(SPALTE()-2+64)&ZEILE())>15;15;INDIREKT(ZEICHEN(SPALTE()-2+64)&ZEILE()))*INDIREKT(ZEICHEN(SPALTE()-1+64)&ZEILE())*0,9 
Kann man das relativ einfach in OO-Basic ummodeln? (Falscher Theard für diese Frage, ich weiß), oder gibt es eine ganz andere Möglichkeit mein Problem zu lösen?
Die Formeln selber bekomme ich hin. Prinzpiell geht es mir nur um das "heranholen" einer Formel in Abhängigkeit eines Wertes...

MfG
Tom
delta9
****
Beiträge: 131
Registriert: Fr, 19.03.2010 15:28

Re: S-Verweis auf Formeln?

Beitrag von delta9 »

Hallo Tom,
eine etwas unelegante Möglichkeit wäre: Du rechnest immer für alle Formeln (z.B: in jeder Spalte eine Formel) und wählst dann mit Wverweis , aus welcher Spalte das Ergebnis genommen werden soll.
Stefan
tomvondeek
Beiträge: 5
Registriert: Do, 14.04.2011 11:07

Re: S-Verweis auf Formeln?

Beitrag von tomvondeek »

Das ist in der Tat eine sehr unschöne Variante :)

Ich muss gestehen, ich habe die Originaltabelle nämlich deutlich vereinfacht. Ich bin ein Freund eigener Arbeit, aber hier komme ich nicht weiter,...
Korrekterweise ist die Formel von 2 Variablen (Also die Wahl welche Formel überhaupt genommen werden soll), die Berechnung selber beruht auf bis zu 5 Parametern.
Formeln selber gibt es ca 120 :-p

Ich stelle mir gerade vor wie eine solche Tabelle aussehen würde.... *schauder*

Eigentlich sehe ich gerade nur noch 3 Möglichkeiten:

a) Ein kompliziertes Marko (*grummel* Soviel zum Thema OO ist ebenbürtig zu Excel, das Excelmakro läuft :-p)
b) Ich lese mich gerade in den Datenpiloten ein, könnte ich die Formeln einem Filter zuordnen o.ä.?
c) Ich schreib mir ein Programm welches die Tabelle ausliest, alles berechnet und wieder ordentlich ausspuckt...

Gruß,
Tom
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: S-Verweis auf Formeln?

Beitrag von Karolus »

Hallo
Ich kann mir irgendwie nicht vorstellen, das eine einfache Formel zur Gesamtbetragsberechnung im Kontext Produkt→Anzahl→Einzelpreis zu 120 *unterschiedlichen* Formel führt.
Kannst du mal deine Datei hier anhängen, damit man mal schauen kann was du da anstellst ?

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
tomvondeek
Beiträge: 5
Registriert: Do, 14.04.2011 11:07

Re: S-Verweis auf Formeln?

Beitrag von tomvondeek »

Hallo


Das rührt daher dass ich mir eine solche Beispieltabelle schnell aus den Fingern gesogen habe, um das Problem zu verdeutlichen.

Gruß,
Tom
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: S-Verweis auf Formeln?

Beitrag von Karolus »

Hallo
Mit "aus den Fingern gezogenen" Informationshäppchen darfst du aber keine konstruktive Mithilfe erwarten.

Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
tomvondeek
Beiträge: 5
Registriert: Do, 14.04.2011 11:07

Re: S-Verweis auf Formeln?

Beitrag von tomvondeek »

Hallo Karo,

dann bekomme ich hier keine konstruktive Hilfe. Ok.

Dennoch möchte ich nochmal auf mein Ursprungspost verweisen:
Ich habe eine komplexe Tabelle, ein -so hoffte ich- einfaches Problem. Ich möchte hier weder meine Originaltablle noch die Originalformeln reinstellen.

Also habe ich zur veranschaulichung ein einfaches Beispiel gestickt. Ich habe sogar dazu geschrieben, dass ich keine perfekte Lösung möchte (ausarbeiten kann ich selber).
Vielleicht war das mit dem aus den Fingern gezogen auch ein wenig frech Formuliert, es ging darum für mein grundsätzliches Problem ein einfaches Beispiel zu haben.
Da es wohl scheinbar doch keine Lösung für mein grundsätzlichen Problem gibt (ich rede jetzt bewusst von meinem grundsätzlichen Problem, NICHT von meiner Tabelle für die ich eine Lösung vorgekaut haben möchte).

Das bringt mich zu aber zu einem interessanten Punkt, ist es wirklich lieber dass die Leute ihre Tabelle in den Anhang kleben, ich komm nicht weiter, bitte lös mir das?
Oder sich selber schon Gedanken um das Problem gemacht haben, es vielleicht ein wenig vereinfacht haben?

Dann guck ich, dass ich mir halt ein Makro in Javascript o.ä. programmiert bekomme.


Ich kann auch, wie bereits im ersten Post einen konkreten Vorschlag machen: Das Excel Marko läuft, ich kenne mit mich OOBasic etc nicht aus, gibts ne einfache Möglichkeit das auf OOBasic umzuschreiben?


Was für Informationen fehlen denn? Mein Problem ist ausreichend beschrieben.

Gruß,
Tom
delta9
****
Beiträge: 131
Registriert: Fr, 19.03.2010 15:28

Re: S-Verweis auf Formeln?

Beitrag von delta9 »

Hallo Tom,
also eine eigene Formel zu schreiben ist gar nicht so schwer.
Schön wäre es, wenn es immer gleich viele Parameter sind. ansonsten gehts in etwa so, ich hoffe ich hab's richtig im Kopf

Function hundertzwanzigineiner (Formelwahl, Parameter1, parameter2, parameter3)
selct case Formelwahl
case 1: hundertzwanzigineiner = Parameter1 + parameter2
case 2: hundertzwanzigineiner = Parameter1 - parameter2 + 314
case 3: hundertzwanzigineiner = Parameter2 + parameter3/Parameter2
...
...
case 120: hundertzwanzigineiner = "ich kann nicht mehr"
case else: msgbox "Die Formelnummer " & Formelwahl & " gibt es nicht"
end select
end function

Wie gesagt, Tippfehler nicht ausgeschlossen.

Wobei, mit Verlaub, ich in den Eindruck habe, dass Du mit der ganzen Fragestellung irgendwie auf dem Holzweg bist, nur so ein Gefühl.

Stefan
tomvondeek
Beiträge: 5
Registriert: Do, 14.04.2011 11:07

Re: S-Verweis auf Formeln?

Beitrag von tomvondeek »

Hallo Stefan,

das sind Gedanken die ich mir auch schon gemacht habe.
Eine Gigantische Select-case Formelwahl - Die Parameter Summe der Parameter ist immer gleich, es werden nur nicht immer alle benötigt.

So formuliert ist mein Problem nichts anderes als das, wie auch schon erwähnt sind Makros etc nicht so meine Stärke, würde mein Makro aus dem Ursprungspost umgemodelt funktionieren hätte ich die Formeln einfach in Tabelle 2 übersichtlich schreiben können.

Aber das mit dem Select Case Makro sieht so schwer garnicht aus.

Die Formel gibt sich aus 2 Kriterien... ist es möglich zu sagen select Case mit Zeichenketten? Die haben nämlich leider Namen...

Also Function berechneErgebnis(Formelwahl, Parameter 1, .... Parameter 5)
select case Formelwahl
case Formel1VarianteA: blablabla
case Formel2VarianteB: hier machst du was anderes
case FormelxyVarianteC:
end select
end funtion

Aufruf wäre dann entsprechend mit berechneErgebnis(FormelNr+Variante, Parameter 1...5)

(Syntaxfehler etc können noch enthalten sein, da noch nicht angeschaut)

Schaut so aus als würd ich so zu einer akzeptablen Lösung kommen, dankeschön...

Also doch meine schon angedachte Lösungsvariante a), wenn auch nicht kompliziert :)

Gruß und Dank,
Tom
Karolus
********
Beiträge: 7533
Registriert: Mo, 02.01.2006 19:48

Re: S-Verweis auf Formeln?

Beitrag von Karolus »

Hallo
Das bringt mich zu aber zu einem interessanten Punkt, ist es wirklich lieber dass die Leute ihre Tabelle in den Anhang kleben, ich komm nicht weiter, bitte lös mir das?
Das Problem besteht darin: Du fragst: "Ich habe hier x , das möchte ich mit y lösen, wie mach ich das mit y?"
Ich möchte mehr Informationen zu x weil ich vermute das es evtl. noch einen Lösungsweg z gibt, mit dem sich das Problem ohne Makrogewurstel lösen lässt.

Ich hoffe du kannst Stefans Vorschlag umsetzen.

Gruß Karo
LO7.4.7.2 debian 12(bookworm) auf Raspberry5 8GB (ARM64)
LO25.2.3.2 flatpak debian 12(bookworm) auf Raspberry5 8GB (ARM64)
Antworten