Wenn Formel

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Wenn Formel

Beitrag von Wilfried »

Hallo,

ich hab hier ein Problem:

Und zwar möchte ich in ein Rechnungsformular Ergebnisse aus einem anderen Tabellenblatt anzeigen.

Nach dem Schema Wenn x1 dann xy3
x2 dann xy4
x3 dann xy8 usw..

Nun stellt sich das ja eigentlich ganz einfach da, nur wenn ich mehr als 40 Möglichkeiten habe, bekomme
ich einen Überlauf?!! Außerdem wird die Formel unendlich lang. :(

Code: Alles auswählen

=WENN(E19=1;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S2;WENN(E19=2;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S3;WENN(E19=3;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S4;WENN(E19=4;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S5;WENN(E19=5;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S6;WENN(E19=6;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S7;WENN(E19=7;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S8;WENN(E19=8;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S9;WENN(E19=9;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S10;WENN(E19=10;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S11;WENN(E19=11;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S12;WENN(E19=12;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S13;WENN(E19=13;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S14;WENN(E19=14;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S15;WENN(E19=15;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S16;WENN(E19=16;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S17;WENN(E19=17;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S18;WENN(E19=18;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S19;WENN(E19=19;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S20;WENN(E19=20;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S21;WENN(E19=21;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S22;WENN(E19=22;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S23;WENN(E19=23;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S24;WENN(E19=24;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S25;WENN(E19=25;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S26;WENN(E19=26;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S27;WENN(E19=27;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S28;WENN(E19=28;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S29;WENN(E19=29;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S30;WENN(E19=30;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S31;WENN(E19=31;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S32;WENN(E19=32;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S33;WENN(E19=33;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S34;WENN(E19=34;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S35;WENN(E19=35;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S36;WENN(E19=36;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S37;WENN(E19=37;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S38;WENN(E19=38;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S39;WENN(E19=39;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S40;WENN(E19=40;'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S41;""))))))))))))))))))))))))))))))))))))))))
Gibt es hier keine ander Möglichkeit? Eine die sagen wir mal 100 Optionen möglich macht??

Vielen Dank schon mal vorab für Eure Mühe
Wilfried
AhQ
*******
Beiträge: 1096
Registriert: Fr, 15.06.2007 11:03
Wohnort: Regensburg
Kontaktdaten:

Re: Wenn Formel

Beitrag von AhQ »

Hallo,

ich könnte mir vorstellen, daß Dir der SVERWEIS hilft.

Leg irgendwo eine Tabelle an, in der in Spalte 1 die Werte x1, x2, x3 usw. untereinander stehen und rechts daneben in Spalte 2 die Werte, die eingesetzt werden sollen. Dann kannst Du aus der ganz leicht mit dem SVerweis die richtigen Werte raussuchen.

Viele Grüße
AhQ
Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Re: Wenn Formel

Beitrag von Wilfried »

Hi,

nein, das funktioniert leider nicht. Die Werte stehen in einem Info Formular und daraus sollen in die Rechnung die Werte übernommen werden.
eine weitere Tabelle würde nur Verwirrung stiften. Außerdem gebe ich im Rechungsformular immer an ob "1" oder "X" .
AhQ hat geschrieben: SVERWEIS

Leg irgendwo eine Tabelle an, in der in Spalte 1 die Werte x1, x2, x3 usw. untereinander stehen und rechts daneben in Spalte 2 die Werte, die eingesetzt werden sollen. Dann kannst Du aus der ganz leicht mit dem SVerweis die richtigen Werte raussuchen.
AhQ
Trotzdem Vielen Dank !

Wilfried
Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Re: Wenn Formel

Beitrag von Wilfried »

Hi,

leider trifft das nicht zu. ist nicht immer um 1 größer.
paljass hat geschrieben:Hi,
oder du verwendest "Indirekt".
Aus deiner Formel ergibt sich, dass die Zeile die angezeigt werden soll, immer um 1 größer ist als der Wert in E19.
Daher könntest du in der Zelle die den Wert aufnehmen soll, folgende Formel schreiben:
=Indirekt("file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S" & E19+1)

paljass
Gruß Wilfried
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Wenn Formel

Beitrag von balu »

Hallo Wilfried,

ich weiss jetzt nicht ob Du den Sinn von paljass vorschlag richtig verstanden hast. Aber wenn dein Rechungsformular immer nach dem gleichen Schema aufgebaut ist, so wie deine Beispielformel, dann passt das schon. Denn der Sinn der =Indirekt(... Formel besagt ja, wenn in E19 eine Zahl steht, dann adiere eine 1 hinzu und dadurch wird dann die Zelladresse für dein Info-Formular erstellt.
Die 1 bezieht sich nicht auf die differenz von einer zelle zu der nächsten in deinem Info-Formular, sondern zu der Zahl in E19.
Wilfried hat geschrieben: leider trifft das nicht zu. ist nicht immer um 1 größer.
Nach welchen kriterien entsteht denn dann die differenz zwischen der Zahl in E19, und der Zelladresse in deinem Info-Formular? Oder sollen etwa in anderen intervallen die Zelladressen dort ausgelesen werden?

Du könntest aber auch noch wie fologt vorgehen.

Code: Alles auswählen

=Indirekt("file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S"&E19+G10)
In G10 gibst Du die Differenz zwischen E19 und der auszulesenden Zelle ein.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Re: Wenn Formel

Beitrag von Wilfried »

Hallo Balu,

nein leider verstehe ich nur Bahnhof :? "paljass " habe ich nicht verstanden.
Bestünde die Möglichkeit, die o.g. Formel wenigstens zum Teil so umzuschreiben das sie funktioniert?
Ich denke dann wäre es für mich um einiges leichter den Vorgang nach zu vollziehen.

Wilfried
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Wenn Formel

Beitrag von balu »

Hallo Wilfried,

warum funktioniert denn die Formel von paljass nicht :roll: ?
Egal wo Du deine gepostete "Monsterformel" stehen hast, schmeiß die raus, und setze die INDIREKT Formel da rein.

Mit INDIREKT "bastelt" man sich z.B. seine Zellbezüge zusammen. Dazu findest Du hier im Forum, und auch im Wiki weitere informationen.

Aber nehmen wir mal ein konkretes Beispiel.

Code: Alles auswählen

'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S2'
So sieht dein Bezug zu der Adress S2 im Tabellenblatt Okt. in der Datei B - F - I - Zahlen 2008.ods aus, wenn man ihn direkt schreibt. Das ist eine feste schreibweise, an der man nichts automatisch ändern kann.
Nun wollen wir aber die Zelladresse S2 variabel gestallten. Wobei die Spalte S eine unveränderbare Konstante ist, jedoch die Zeile variieren soll. Und zu diesem Zweck setzen wir die INDIREKT Formel von paljass ein.

Code: Alles auswählen

=Indirekt("file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S" & E19+1)
Beim genaueren betrachten siehst Du, dass der Bereich von file bis zu dem S in doppelten Anführungszeichen steht. Das bedeutet, dass dies unverändert bleibt. Nur steht da jetzt aber keine Zahl mehr hinter dem S, sondern & E19+1.
Und wenn jetzt in E19 z.B. die Zahl 16 steht, dann wird jetzt E19+1, also 16+1 = 17 ausgerechnet. Und dieses Ergebnis (17) wird jetzt an den unveränderten Bereich angehängt. Dadurch würde jetzt im Klartext der Bezug wie folgt aussehen.

Code: Alles auswählen

='file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S17'
Ändert sich die Zahl in E19, dann ändert sich auch automatisch die Zeilennummer hinter dem S in Okt.S
E19 gleich 15 -> Okt.S16
E19 gleich 30 -> Okt.S31

Ich hoffe, das ich es jetzt etwas verständlicher rüberbringen konnte :roll: .


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Re: Wenn Formel

Beitrag von Wilfried »

Hallo Balu,

erstmal vielen Dank für Deine Erklärungen und für die Mühe die Du Dir gemacht hast.

Ich verstehe die Formel, auch wenn mir der Begriff "INDIREKT" neu war.

Aber wenn ich =INDIREKT("file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S" & E19+1) einfüge (er sollte doch an jeder Stelle funktionieren,
bekomme ich nur Err:502.

Also ich weiß nicht weiter....

Gruß Wilfried
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Wenn Formel

Beitrag von balu »

Hallo Wilfried,

das kommt davon, wenn man die Formeln selber nicht überprüpft. Sorry, meine schuld :oops: :oops:
He Leute! Balu geht mal wieder Asche duschen :mrgreen:

Spaß beiseite.
Hättest Du gleich gesagt, dass Du eine Fehlermeldung bekommst, einen Err:502, dann wären wir schon früher am Ziel angelangt. Ich musste aber erst selbst einmal kurz recherchieren, obwohl ich einen Verdacht hatte. Und BINGO! :D Ich hab den Übeltäter. Er ist schnell zu übersehen. Es ist das Apostroph, oder das einfache Anführungszeichen (') welches vor file kommt. Hier jetzt die geänderte Formel.

Code: Alles auswählen

=Indirekt("'file:///C:/temp/B - F - I - Zahlen 2008.ods'#$Okt.S" & E19+1)
Wenn ich die bei mir so eingebe, bekomme ich sofort die Fehlermeldung, dass die Datei nicht existiert. Is ja auch logisch. Das muss ich dann so ungefahr zweimal bestätigen, und bekomme dann wohl auch den Err:502, aber das ist jetzt nachvollziehbar. Ohne das Apostroph bekomme ich keine Rückmeldung, sondern nur den Err:502.
Ich habe das jetzt hier bei mir mit einer anderen Datei getestet, und es funzt wirklich. :D

Ich bin mir jetzt sehr sicher, dass sie nun auch bei dir funktionieren wird. :D

Schönen abend noch
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Wilfried
*
Beiträge: 10
Registriert: Di, 03.04.2007 21:44
Wohnort: Glückstadt
Kontaktdaten:

Re: Wenn Formel

Beitrag von Wilfried »

Vielen herzlichen Dank !!!! :D
Du hast mir sehr geholfen !!!

Ciao Wilfried
Antworten