Autor Thema: [Excel 2007] "Wenn"-Funktion unter Einbeziehung von 2 Spalten  (Gelesen 2395 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Timberwere

  • Chicken Pyro-Pyro
  • Moderator
  • Titan
  • *****
  • Tanelorns Hauswerwölfin
  • Beiträge: 15.885
  • Geschlecht: Weiblich
  • Username: Timberwere
    • Timbers Diaries
Ich muss mal wieder um eure Hilfe bitten. Und zwar geht es um eine Wenn-Funktion, die Daten aus 2 Spalten abfragen soll. Dazu reicht mein Excel-Fu irgendwie nicht, aber ich vertraue wie immer auf eure überlegenen Kenntnisse.

Also.

Ich habe eine Liste mit Mitarbeitern (im Original ca. 250 Einträge lang), die aus unterschiedlichen geographischen Regionen kommen können und entweder extern oder intern sein können. Je nach Region und Status werden unterschiedliche Kosten veranschlagt.

Es kann folgende Konstellationen geben:

Extern + AP
Extern + EU
Extern + US
Intern + EU
Intern + US
Rally Intern + AP
Rally Intern + EU

Ich würde jetzt gerne eine WENN-Formel basteln, die beides abfragt: also "Wenn Extern und AP, dann Betrag X", "Wenn Extern und EU, dann Betrag Y", "Wenn Rally Intern und EU, dann Betrag Z", usw. usw.

Versteht ihr, was ich meine? Ist das möglich, die WENN-Funktion derart zu verknüpfen?

Eine kleine Beispiel-Datei hängt an.



Edit: Ich sehe gerade, dass man bei den US-Externen je nach Provider auch noch mit unterschiedlichen Zahlen rechnet. Das ist ja unfair. Dann wären es ja ggf. sogar 3 Variablen, die abgefragt werden müssen. Aber das wäre die Kür. Die Variante mit 2 Variablen würde mir für den Anfang erstmal reichen.

[gelöscht durch Administrator]
« Letzte Änderung: 7.09.2011 | 14:13 von Timberwere »
Zitat von: Dark_Tigger
Simultan Dolmetschen ist echt kein Job auf den ich Bock hätte. Ich glaube ich würde in der Kabine nen Herzkasper vom Stress bekommen.
Zitat von: ErikErikson
Meine Rede.
Zitat von: Shield Warden
Wenn das deine Rede war, entschuldige dich gefälligst, dass Timberwere sie nicht vorher bekommen hat und dadurch so ein Stress entstanden ist!

Offline sir_paul

  • Muffin-Fanboy
  • Legend
  • *******
  • Beiträge: 4.749
  • Geschlecht: Männlich
  • Username: sir_paul
Mein Google-Fu bringt mir folgendes Beispie für eine WENN-UND-Verknüpfung:

=WENN(UND(B3>50;C3<1100);"SUPER PLUS";"SUPER")

auf dieser Seite "http://www.online-excel.de/excel/singsel.php?f=96" gibt es auch ein Beispiel mit drei Variablen.

Ich hoffe mal das Hilft dir weiter!

EDIT: Da ich nur die englische Version von Office habe hier mal anhand deiner Beispiel Datei:

=IF(AND(D2="External";E2="AP"); "Betrag X"; IF(AND(D2="Rally Internal";E2="EU"); "Betrag Y"))
« Letzte Änderung: 7.09.2011 | 14:28 von sir_paul »

Online Imion

  • Legend
  • *******
  • GURPShead
  • Beiträge: 4.861
  • Username: Imion
So wie's sir_paul sagt kann man's machen. Bekommt dann aber ne ellenlange Formel und stösst vllt ans Verschachtelungslimit.

Einfacher wäre vllt ein SVERWEIS und drei Tabellen für Intern, Extern, und Rally Intern. Da kann man dann auch einfacher den jeweiligen Output ändern.

=SVERWEIS(E2;WENN(D2="Extern";[Tabellenbereich für Extern];WENN(D2="Intern";[Tabellenbereich für Intern];[Tabellenbereich für Rally Intern]));2;FALSCH)

Dann die jeweiligen Tabellen wie folgt aufbauen

US  IntUS
AP  IntAP
EU  IntEU

usw, usf

EDIT: Gegebenenfalls bei drei Variablen einfach die Schrittweite mit WENN() anpassen und die Tabellen erweitern.

EDIT2: Nicht vergessen den Tabellenbereich beim Kopieren der Formel zu fixieren.
« Letzte Änderung: 7.09.2011 | 16:15 von Imion »
If the internet has shown us anything... anything... it has shown us that there is no such thing as "too batshit crazy to operate a computer."

Everybody's a book of blood. Wherever we're opened, we're red.

Außerirdische sind nicht rechtsfähige, bewegliche, herrenlose Sachen. Wer sie findet und mitnimmt darf sie behalten.

Offline Timberwere

  • Chicken Pyro-Pyro
  • Moderator
  • Titan
  • *****
  • Tanelorns Hauswerwölfin
  • Beiträge: 15.885
  • Geschlecht: Weiblich
  • Username: Timberwere
    • Timbers Diaries
=IF(AND(D2="External";E2="AP"); "Betrag X"; IF(AND(D2="Rally Internal";E2="EU"); "Betrag Y"))

Superklasse, danke, Sir Paul! Diese Musterformel habe ich gestern genommen und auf meine 7 Fälle erweitert und kam damit bei nur 2 Variablen wunderbar hin.

Aber als ich dann versuchte, für meine External-US-Fälle auch noch den Vendor mit einzubauen, geschah genau das:

... und stösst vllt ans Verschachtelungslimit.

Danke für die Bestätigung, dass man das offensichtlich nicht umgehen kann, sondern 7 wohl wirklich die Grenze ist, Imion. An der Stelle hatte ich gestern nämlich erstmal vorläufig aufgegeben.

Einfacher wäre vllt ein SVERWEIS und drei Tabellen für Intern, Extern, und Rally Intern. Da kann man dann auch einfacher den jeweiligen Output ändern.

Huh. Das sind Sphären, in die ich kleiner Excel-vergleichsweise-Basic-Nutzer bisher noch nicht vorgestoßen war.
Muss ich mal sehen, ob ich den Mut (und vor allem die Zeit :P) habe, mich durch die Hilfe zu "SVERWEISEN" durchzuwurschteln.

Vor allem, weil ich gerade etwas gesehen habe, dass es mindestens einen Fall gibt, wo 4 Externen, die in derselben Region für denselben Vendor arbeiten, 3 unterschiedliche Kosten zugeordnet sind. Da müsste ich dann also mit "Company1", "Company2" und "Company3" arbeiten, um die zu unterscheiden, und ich weiß nicht, ob der Nerv sich lohnt, oder ob ich nicht einfach bei der Standard-2-Variablen-Formel von Sir_Paul bleibe und die paar Ausnahmen mit der Hand überschreibe. (Auch wenn das natürlich Häresie ist, ich weiß :P)

Vielen lieben Dank jedenfalls, euch beiden, und vielleicht melde ich mich nochmal, Imion, wenn ich an deiner Idee bastele und nicht weiterkomme. :)
Zitat von: Dark_Tigger
Simultan Dolmetschen ist echt kein Job auf den ich Bock hätte. Ich glaube ich würde in der Kabine nen Herzkasper vom Stress bekommen.
Zitat von: ErikErikson
Meine Rede.
Zitat von: Shield Warden
Wenn das deine Rede war, entschuldige dich gefälligst, dass Timberwere sie nicht vorher bekommen hat und dadurch so ein Stress entstanden ist!

Offline Merlin Emrys

  • Famous Hero
  • ******
  • Beiträge: 2.948
  • Username: Merlin Emrys
Sofern Du nicht sparsam mit Spalten und Zeilen sein mußt, kann es sich eventuell auch anbieten, Zwischenergebnisse anzulegen, um das Verschachtelungslimit auszuhebeln.

Offline Timberwere

  • Chicken Pyro-Pyro
  • Moderator
  • Titan
  • *****
  • Tanelorns Hauswerwölfin
  • Beiträge: 15.885
  • Geschlecht: Weiblich
  • Username: Timberwere
    • Timbers Diaries
Merlin: Zwischenergebnisse? Spalten kann ich theoretisch einbauen, soviele ich will, in den Zeilen sollten nur die Namen der Leute stehen, und diese Datenbasis wird sich über die Zeit auch noch verändern, Leute dazukommen und gehen. Aber wie würden Zwischenergebnisse das Verschachtelungslimit aushebeln? Mehr als 7 unterschiedliche Bedingungen hätte ich doch sowieso?

Imion: Eigentlich ist einer der Hauptgründe der Tabelle, auch alle Mitarbeiternamen in einer Tabelle zu haben und durchsuchen und filtern etc zu können. Wenn ich die Leute in 3 Tabellen aufteilen würde, hätte ich das nicht mehr, deswegen habe ich das vorläufig wieder verworfen, muss da aber nochmal drüber nachdenken.

Allgemein: Inzwischen habe ich festgestellt, dass Externen in EU und US eigentlich grundsätzlich dieselben Kosten zugeteilt sind (habe also eine Verschachtelung rauswerfen können), aber es gibt in EU und US jeweils ein, zwei Ausnahmen. UND es gibt ein paar Leute, die nur zu 50% oder 60% arbeiten, das muss natürlich auch in den Kosten auftauchen. Ich habe schon mit ISTZAHL und SUCHE rumgespielt, aber das bisher noch nicht gescheit integriert bekommen. Da ist ja auch noch das Verschachtelungslimit.
Zitat von: Dark_Tigger
Simultan Dolmetschen ist echt kein Job auf den ich Bock hätte. Ich glaube ich würde in der Kabine nen Herzkasper vom Stress bekommen.
Zitat von: ErikErikson
Meine Rede.
Zitat von: Shield Warden
Wenn das deine Rede war, entschuldige dich gefälligst, dass Timberwere sie nicht vorher bekommen hat und dadurch so ein Stress entstanden ist!

Online Imion

  • Legend
  • *******
  • GURPShead
  • Beiträge: 4.861
  • Username: Imion
(...)
Imion: Eigentlich ist einer der Hauptgründe der Tabelle, auch alle Mitarbeiternamen in einer Tabelle zu haben und durchsuchen und filtern etc zu können. Wenn ich die Leute in 3 Tabellen aufteilen würde, hätte ich das nicht mehr, deswegen habe ich das vorläufig wieder verworfen,
(...)

Du sollst ja nicht die Datensätze aufteilen, sondern einfach drei Tabellen anlegen, die dann durch den SVERWEIS mit den Datensätzen abgeglichen werden und einen Output bringen.

Bsp. Wenn Person A Intern ist nimmt man Tabelle 'Intern' zur Hand. Da wird dann geschaut, ob es USA, AP oder EU ist, eine Spalte nach rechts gegangen und der Output der dort steht geliefert.


(...)
Aber wie würden Zwischenergebnisse das Verschachtelungslimit aushebeln? Mehr als 7 unterschiedliche Bedingungen hätte ich doch sowieso?
(...)

Das bedeutet, dass man bei bestimmten Werten (zb 'Intern) einfach auf eine andere Zelle verweist, in der dann weiter nach EU, USA, AP unterschieden wird. Damit umgeht man das Verschachtelungslimit.

If the internet has shown us anything... anything... it has shown us that there is no such thing as "too batshit crazy to operate a computer."

Everybody's a book of blood. Wherever we're opened, we're red.

Außerirdische sind nicht rechtsfähige, bewegliche, herrenlose Sachen. Wer sie findet und mitnimmt darf sie behalten.

Offline Timberwere

  • Chicken Pyro-Pyro
  • Moderator
  • Titan
  • *****
  • Tanelorns Hauswerwölfin
  • Beiträge: 15.885
  • Geschlecht: Weiblich
  • Username: Timberwere
    • Timbers Diaries
Aaaah! Vergib mir, ich bin anscheinend doch ein ganz gewaltiger N00b. :)
Das werde ich mal ausprobieren, vielen lieben Dank. (Und garantiert wieder schreien, ich kenn mich :P)
Zitat von: Dark_Tigger
Simultan Dolmetschen ist echt kein Job auf den ich Bock hätte. Ich glaube ich würde in der Kabine nen Herzkasper vom Stress bekommen.
Zitat von: ErikErikson
Meine Rede.
Zitat von: Shield Warden
Wenn das deine Rede war, entschuldige dich gefälligst, dass Timberwere sie nicht vorher bekommen hat und dadurch so ein Stress entstanden ist!

Offline Merlin Emrys

  • Famous Hero
  • ******
  • Beiträge: 2.948
  • Username: Merlin Emrys
Das ist in Ordnung. Dann hat wenigstens jemand was von den vielen Stunden, die ich mich damit herumquälen mußte, Excels Eigenheiten und Beschränkungen kennzulernen und Auswege zu finden... :-)

Offline Timberwere

  • Chicken Pyro-Pyro
  • Moderator
  • Titan
  • *****
  • Tanelorns Hauswerwölfin
  • Beiträge: 15.885
  • Geschlecht: Weiblich
  • Username: Timberwere
    • Timbers Diaries
So, liebe Freunde, nach Wochen des Bastelns hat die Timber es geschafft!!

Ich bin soooo stolz und hüpfe hier regelrecht im Kreis, deswegen muss ich euch das jetzt zeigen. :)

Das hier ist die fertige Formel (mit Zeilenumbrüchen zur besseren Lesbarkeit):

=WENN(UND(Location="GER";HiLo="H");"1";
WENN(UND(Location="US";HiLo="H");"2";
WENN(UND(Location="GER";HiLo="L");"3";
WENN(UND(Location="US";HiLo="L");"4";
WENN(UND(Location="GER";HiLo="A");"5";
WENN(UND(Location="GER";HiLo="B");"6";
WENN(UND(Location="GER";HiLo="C");"7";
WENN(UND(Location="GER";Vendor="XYZ"); "8";
WENN(UND(Type="Internal";Location="IRL");"9";
WENN(UND(Type="Internal";Location="AP");"10";
WENN(UND(Type="External";Location="GER"); "11";
WENN(UND(Type="External";Location="US");"12";
WENN(UND(Type="External";Location="AP"); "13";
))))))))))*FTE

Eigentlich ganz einfach. Ist ja nur eine Aneinanderreihung von "Wenns". Aber ich musste halt meine 3 unterschiedlichen Preise für Mitarbeiter im selben Land beim selben Vendor unterbringen, und da musste der Knoten erstmal platzen. Das ging dann dank der neuen Spalte, die ich wegen "High" oder "Low" ohnehin einbauen musste, und da war es nur ein kurzer Denkschritt, diese Spalte dann zusätzlich auch mit Merkmalen für meine 4 "Ausreißer" zu belegen.

Aber ohne eure Hilfe und Anregungen hätte ich es jedenfalls nicht geschafft. Vielen lieben Dank!
« Letzte Änderung: 1.11.2011 | 16:02 von Timberwere »
Zitat von: Dark_Tigger
Simultan Dolmetschen ist echt kein Job auf den ich Bock hätte. Ich glaube ich würde in der Kabine nen Herzkasper vom Stress bekommen.
Zitat von: ErikErikson
Meine Rede.
Zitat von: Shield Warden
Wenn das deine Rede war, entschuldige dich gefälligst, dass Timberwere sie nicht vorher bekommen hat und dadurch so ein Stress entstanden ist!