Discussion:
Wenn-Formeln zusammenfassen
(zu alt für eine Antwort)
Andreas Mohler
2006-10-13 12:53:02 UTC
Permalink
Hallo NG

Ich habe 2 Formeln welche gewisse Bedingungen (Zahlenwert oder Textwert)
abfragen und ein entsprechenden Wert liefern. Ich würde die beiden Formeln
gerne verknüpfen und weiss nicht wie das genau geht, falls überhaupt.
Wahrscheinlich irgendwie mit der UND Variabel, aber bis ich das alles
ausprobiert hab ists schon Feierabend...

Bei der ersten Formel steht in der Zelle Y12 der Wert aus der 2. Formel,
welche ich durch das Zusammenfassen der beiden Formeln gerne überflüssig
machen würde.

=WENN(I12>99;Y12*2+230;WENN(I12>49;Y12*1.5+230;Y12+230))

=WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))


Danke für eure Hilfe, liebe Grüsse aus Zürich und schönes WE.



Andreas
Claus Busch
2006-10-13 13:19:24 UTC
Permalink
Hallo Andreas,
Post by Andreas Mohler
Hallo NG
Ich habe 2 Formeln welche gewisse Bedingungen (Zahlenwert oder Textwert)
abfragen und ein entsprechenden Wert liefern. Ich würde die beiden Formeln
gerne verknüpfen und weiss nicht wie das genau geht, falls überhaupt.
Wahrscheinlich irgendwie mit der UND Variabel, aber bis ich das alles
ausprobiert hab ists schon Feierabend...
Bei der ersten Formel steht in der Zelle Y12 der Wert aus der 2. Formel,
welche ich durch das Zusammenfassen der beiden Formeln gerne überflüssig
machen würde.
=WENN(I12>99;Y12*2+230;WENN(I12>49;Y12*1.5+230;Y12+230))
=WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))
selektiere die Zelle, in der deine 2. Formel steht und kopiere diese Formel
in der Bearbeitungsleiste. Dann selektiere die Zelle mit der ersten Formel,
gehe in die Bearbeitungsleiste, markiere dort Y2, mache einen Rechtsklick
darauf und kopiere die 2. Formel rein. Damit ist Y2 mit der zweiten Formel
ersetzt.
Ich hoffe, ich habe dich richtig verstanden.
So sollte dann das Ergebnis aussehen:
=WENN(I12>99;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*2+230;WENN(I12>49;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*1.5+230;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))+230))
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
Alexander Wolff
2006-10-13 13:37:16 UTC
Permalink
Post by Claus Busch
=WENN(I12>99;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*2+230;WENN(I12>49;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*1.5+230;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))+230))
Das war die naheliegende Einsetzlösung. Da aber dreimal dort das gleiche
berechnet wird, ziehe ich folgendes vor:

=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230

Beachte dabei 0 / 49,01 /99,01, da es bei Dir > und nicht >= hieß.

Um bei anderen als Deinen Textwerten kein #NV zu erhalten, muss leider auch
bei mir der innere SVERWEIS fehlerbehandelt werden:

=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*WENN(SUMMENPRODUKT(-(B2={"MA";"MT";"MHT"}))
;SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230;1300)
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Alexander Wolff
2006-10-13 13:43:48 UTC
Permalink
Post by Alexander Wolff
Post by Claus Busch
=WENN(I12>99;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*2+230;WENN(I12>49;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*1.5+230;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))+230))
Das war die naheliegende Einsetzlösung. Da aber dreimal dort das
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230
Beachte dabei 0 / 49,01 /99,01, da es bei Dir > und nicht >= hieß.
Um bei anderen als Deinen Textwerten kein #NV zu erhalten, muss
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*WENN(SUMMENPRODUKT(-(B2={"MA";"MT";"MHT"}))
;SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230;1300)
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230

ist da noch etwas kürzer
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Alexander Wolff
2006-10-13 13:47:58 UTC
Permalink
Post by Alexander Wolff
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230
ist da noch etwas kürzer
=SVERWEIS(I12;{0.1;49,01.1,5;99,01.2};2)
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230

jetzt mit richtigen Faktoren (vorher waren sie je nach I12 falsch
absteigend)
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Alexander Wolff
2006-10-13 14:10:12 UTC
Permalink
Post by Alexander Wolff
Post by Alexander Wolff
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230
ist da noch etwas kürzer
=SVERWEIS(I12;{0.1;49,01.1,5;99,01.2};2)
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230
jetzt mit richtigen Faktoren (vorher waren sie je nach I12 falsch
absteigend)
=GANZZAHL((MIN(C9;149)+0,999)/50+2)/2
*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230

und hier noch einmal um 3 Stellen gekürzt und den SVERWEIS in eine Funktion
überführt, falls einmal benötigt.
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Claus Busch
2006-10-13 13:59:09 UTC
Permalink
Hallo Alexander,
Post by Alexander Wolff
Post by Claus Busch
=WENN(I12>99;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*2+230;WENN(I12>49;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*1.5+230;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))+230))
Das war die naheliegende Einsetzlösung. Da aber dreimal dort das gleiche
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230
Beachte dabei 0 / 49,01 /99,01, da es bei Dir > und nicht >= hieß.
Um bei anderen als Deinen Textwerten kein #NV zu erhalten, muss leider auch
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*WENN(SUMMENPRODUKT(-(B2={"MA";"MT";"MHT"}))
;SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230;1300)
schön verkürzt. Diese Arbeit habe ich mir nicht gemacht, denn der OP kommt
aus der Schweiz und dort sind die Spaltentrennzeichen anders als hier in
Duetschland. Zudem haben sie den Punkt als Dezimaltrenner. Zum Testen hätte
ich dann mein System umstellen müssen.
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
Alexander Wolff
2006-10-13 14:26:04 UTC
Permalink
Post by Claus Busch
Post by Alexander Wolff
Post by Claus Busch
=WENN(I12>99;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*2+230;WENN(I12>49;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))*1.5+230;WENN(B2="MT";300;WENN(B2="MH";650;WENN(B2="MAH";1300;1300)))+230))
=SVERWEIS(I12;{0.2;49,01.1,5;99,01.1};2)
*WENN(SUMMENPRODUKT(-(B2={"MA";"MT";"MHT"}))
;SVERWEIS(B2;{"MH".300;"MA".650;"MHT".1300};2;)+230;1300)
schön verkürzt. Diese Arbeit habe ich mir nicht gemacht, denn der OP
kommt aus der Schweiz und dort sind die Spaltentrennzeichen anders
als hier in Duetschland. Zudem haben sie den Punkt als
Dezimaltrenner. Zum Testen hätte ich dann mein System umstellen
müssen.
Interessante Begründung :) Sehr pragmatisch. Und sehr vorsichtig, denn bei
manuellem Editieren macht man tatsächlich fast immer Fehler. Und extra
umstellen würde ich dafür auch nicht.

Aber Andreas kann ja mal kurz auf Deutschland umstellen :)

Ist es in der Schweiz vielleicht so?

=GANZZAHL((MIN(I12;149)+0.999)/50+2)/2
*(1300-SUMMENPRODUKT((B2={"MA"/"MT"/"MHT"})*{1000/650/0}))+230
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Claus Busch
2006-10-13 14:46:11 UTC
Permalink
Hallo Alexander,
Post by Alexander Wolff
Interessante Begründung :) Sehr pragmatisch. Und sehr vorsichtig, denn bei
manuellem Editieren macht man tatsächlich fast immer Fehler. Und extra
umstellen würde ich dafür auch nicht.
Aber Andreas kann ja mal kurz auf Deutschland umstellen :)
Ist es in der Schweiz vielleicht so?
=GANZZAHL((MIN(I12;149)+0.999)/50+2)/2
*(1300-SUMMENPRODUKT((B2={"MA"/"MT"/"MHT"})*{1000/650/0}))+230
der Zeilentrenner ist auch in der Schweiz das Semikolon, der Spaltentrenner
ist aber der Backslash und das Dezimaltrennzeichen der Punkt. Somit sollten
dann deine Formeln so in der Schweiz funktionieren (ungetestet):
=SVERWEIS(I12;{0\2;49.01\1.5;99.01\1};2)*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230
oder
=GANZZAHL((MIN(I12;149)+0.999)/50+2)/2*(1300-SUMMENPRODUKT((B2={"MA";"MT";"MHT"})*{1000;650;0}))+230
--
Mit freundlichen Grüssen
Claus Busch

Win XP Prof SP2; Office 2000 SP3
claus_busch(at)t-online.de
b***@gmail.com
2006-10-13 14:53:57 UTC
Permalink
Hallo Andreas,

schreibe z. B. in die Zellen K1:N3
MT 300 -1E+300 2
MH 650 -99 1.5
=B2 1300 -49 1

Dann liefert
=230+LOOKUP(-I12,M1:M3,N1:N3)*VLOOKUP(B2,K1:L3,2,)
Deine gewuenschte Loesung. Auf deutsch:
=230+VERWEIS(-I12;M1:M3;N1:N3)*SVERWEIS(B2;K1:L3;2;FALSCH)

HTH,
Bernd
Alexander Wolff
2006-10-13 15:23:08 UTC
Permalink
Post by b***@gmail.com
schreibe z. B. in die Zellen K1:N3
MT 300 -1E+300 2
MH 650 -99 1.5
=B2 1300 -49 1
Dann liefert
=230+LOOKUP(-I12,M1:M3,N1:N3)*VLOOKUP(B2,K1:L3,2,)
=230+VERWEIS(-I12;M1:M3;N1:N3)*SVERWEIS(B2;K1:L3;2;FALSCH)
Schöne Sache, das mit der Negativumkehrung! Muss ich mir merken, insb. für
SVERWEISe > statt >=.

Und der Hit ist Dein =B2, gleichzeitig den letzten Bestandteil als auch das
Komplement darstellend (da beide 1300 ergeben). Das geht natürlich so nur
mit ausgelagerten Verweis-Tabellen, die regelmäßig einer Direktlösung in der
Formel vorzuziehen sind.
--
Moin + Gruss Alexander - MVP für MS Excel - XPHomeSP2 mso2000sp3 ----7-2
Alexander Wolff
2006-10-20 08:47:47 UTC
Permalink
Post by Alexander Wolff
Post by b***@gmail.com
Dann liefert
=230+LOOKUP(-I12,M1:M3,N1:N3)*VLOOKUP(B2,K1:L3,2,)
=230+VERWEIS(-I12;M1:M3;N1:N3)*SVERWEIS(B2;K1:L3;2;FALSCH)
Schöne Sache, das mit der Negativumkehrung! Muss ich mir merken, insb. für
SVERWEISe > statt >=.
Ich habe es unter http://xxcl.de/0007.htm mit Nennung Deines Namens
aufgenommen. Den kann ich bei Verlangen auch wieder wegnehmen.
--
Moin+Gruss Alexander - MVP für MS Excel - www.xxcl.de - mso2000sp3 --7-2
b***@gmail.com
2006-10-21 11:17:28 UTC
Permalink
Hallo Alexander,

OT: Zunächst herzlichen Glückwunsch zur MVP Ernennung!

Es ist natürlich nett von Dir, wenn Du eine hier genannte Lösung MIT
Namensangabe in Deine Formelsammlung aufnimmst. Dein Lob macht Freude,
ist aber zuviel der Ehre...

Have fun,
Bernd
Alexander Wolff
2006-10-22 09:36:52 UTC
Permalink
Post by b***@gmail.com
OT: Zunächst herzlichen Glückwunsch zur MVP Ernennung!
Vielen Dank, Bernd!
Post by b***@gmail.com
Es ist natürlich nett von Dir, wenn Du eine hier genannte Lösung MIT
Namensangabe in Deine Formelsammlung aufnimmst. Dein Lob macht Freude,
ist aber zuviel der Ehre...
Dazu fühle ich mich schon verpflichtet, da man auf so eine tolle Lösung
nicht unbedingt kommt. Ich möchte so etwas nicht einfach "klauen", sondern
wenigstens die Quelle in Ehren halten; daher freue ich mich, dass ich Dich
nennen darf.
--
Moin+Gruss Alexander - MVP für MS Excel - www.xxcl.de - mso2000sp3 --7-2
Lesen Sie weiter auf narkive:
Loading...