Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

WENN Funktion mit mehr als 7 Bedingungen?





Frage

Hallo ich habe in 348 Zeilen mehrstellige Nummern stehen. Diese Nummer sind Wirtschaftszweige und sollen aggregiert werden. Für eine zweifelsfreie Identifikation brauche ich nur die ersten beiden Stellen, das hab ich mit: =TEIL(Zielzelle;2) hinbekommen Nun soll anhand der ersten beiden Stellen dem Wirtschaftszweig eine neues Bezeichnung zugeordnet werden, das hab ich mit folgender Formel versucht: =WENN(AZ4>98;"Q";WENN(AZ4>94;"P";WENN(AZ4>89;"O";WENN(AZ4>80;"N";WENN(AZ4>79;"M";WENN(AZ4>74;"L";WENN(AZ4>69;"K";WENN(AZ4>64;"J";WENN(AZ4>59;"I";WENN(AZ4>54;"H";WENN(AZ4>49;"G";WENN(AZ4>44;"F";WENN(AZ4>39;"E";WENN(AZ4>35;"DN";WENN(AZ4>33;"DM";WENN(AZ4>29;"DL";WENN(AZ4>28;"DK";WENN(AZ4>26;"DJ";WENN(AZ4>25;"DI";WENN(AZ4>24;"DH";WENN(AZ4>23;"DG";WENN(AZ4>22;"DF";WENN(AZ4>20;"DE";WENN(AZ4>19;"DD";WENN(AZ4>18;"DC";WENN(AZ4>16;"DB";WENN(AZ4>14;"DA";WENN(AZ4>5;"C";WENN(AZ4>4;"B";WENN(AZ4>0;"A";"XX")))))))))))) Leider klappt es nicht, ich vermute, da ich mehr als 7 Verschachtelungen gewählt hab. Woran kann es liegen und wie löse ich mein Problem? 1000 Dank! MfG Marquis

Antwort 1 von landibaer

hi,

ich würde das mit einem SVERWEIS auf eine Hilfstabelle machen. Das geht dann recht schnell.

Gruß
Michael

Antwort 2 von Aliba

Hi Marquis,

entweder Du legst Dir eine Hilfstabelle an, mit den entsprechenden Wert-Buchstaben-Gegenüberstellung und machst es über die SVERWEIS-Formel, oder Du schreibst es direkt in die SVERWEIS-Formel, z.B.:

=WENN(ODER(AZ4="";ISTNV(SVERWEIS(AZ4;{0."A";5."B";6."C";....98."Q"};2;1)));"XX";SVERWEIS(AZ4;{0."A";5."B";6."C";....98."Q"};2;1))

CU Aliba

Antwort 3 von Marquis79

Hallo,

wenn ich zitieren darf:

"WENN ;-) dein einziges Werzeug ein Hammer ist, dann wirst du genaigt sein, in jedem Problem einen Nagel zu sehen."

Ich probiere es mal mit SVERWEIS und meld mich wieder, wenn ich damit nicht zurecht komme!

Eine erste Frage hab ich aber, ich habe keine Wert-Buchstaben-Gegenüberstellung, sondern eine Wertbereiche-Buchstaben-Gegenüberstellung, wie mache ich das?

So?

A | 01-02
B | 05
C | 10-14

usw.

Erstmal danke!!


MfG

Marquis

Antwort 4 von Marquis79

Also das hier ist meine Formel:

=WENN(ODER(AZ4="";ISTNV(SVERWEIS(AZ4;{0."A";5."B";10."C";15."DA";17."DB";19."DC";20."DD";21."DE";23."DF";24."DG";25."DH";26."DI";27."DJ";29."DK";30."DL";34."DM";36."DN";40."E";45."F";50."G";55."H";60."I";65."J";70."K";75."L";80."M";85."N";90."O";95."P";98."Q"};2;1)));"XX";SVERWEIS(AZ4;{0."A";5."B";10."C";15."DA";17."DB";19."DC";20."DD";21."DE";23."DF";24."DG";25."DH";26."DI";27."DJ";29."DK";30."DL";34."DM";36."DN";40."E";45."F";50."G";55."H";60."I";65."J";70."K";75."L";80."M";85."N";90."O";95."P";98."Q"};2;1))

mit der hat es leider nicht geklappt, ich bekomme immer XX ausgegeben.

Woran kann es liegen?

MfG

Marquis

Antwort 5 von pelle

Hallo Marquis,

deine lange Formel in Antwort 4 möchte ich mir nicht näher angucken, ist mir zu lang!

Aber um mal auf deinen Hammer in Antwort 3 zurück zukommen, würde ich folgendes vorschlagen:

Lege doch für jeden Wert im deinem Wertebereich eine Zeile an, dann klappt auch der Sverweis!

gruss
pelle

Antwort 6 von Marquis79

Also ich hab nun folgende Formel

=SVERWEIS(D4;$F$4:$G$61;2)

In D4 ist mein Suchkriterium

F4:G61 gibt meine Matrix an

F-Spalte in den einzelnen Zellen:
zwei Zahlen von 01-99, als Text formatiert (das 01 erhalten bleibt ist wichtig), nicht alle Zahlen dazwischen sind vorhanden.

G-Spalte in den einzelnen Zellen:
Jeder Zahl aus Spalte F hat einen oder zwei Buchstaben zugeordnet, nicht alle Buchstaben des Alphabet sind vorhanden.

Ich möchte nun über die Formel aus der Suchmatrix die zweite Spalte, in meinem Fall Spalte G ausgegeben haben.

Es klappt leider nicht bei allen Zellen, einige Zuordnungen funktionieren, andere nicht???


MfG

Marquis

Antwort 7 von pelle

Hallo Marquis,

ohne Tabelle ist dies etwas problematische nachzuvollziehen.

Es könnte vielleicht an der Sortierung deiner Tabelle liegen.

Ändere mal deine Formel wie folgt:

=SVERWEIS(D4;$F$4:$G$61;2;Falsch)

dann ist die Sortierung egal!

gruss
pelle

Antwort 8 von Marquis79

Hi,

also mit deiner Formel:

Zitat:
=SVERWEIS(D4;$F$4:$G$61;2;Falsch)


macht er nun folgendes:

Alle denen vorher die richtige Buchstabenkombi zugeordnet wurde, sind wieder ausgegeben und richtig :-)

Alle denen vorher die falsche Buchstabenkombi zugeordnet wurde, werden nun als #NV ausgegeben.

Verdammt und zugenäht..., manchmal ist es zum verzweifeln. Ich will wieder ein HAMMER-Problem ;-)


Dank dir!


MfG

Marquis

Antwort 9 von pelle

Hallo Marquis,

dann sind wir ja schon mal ein Stück weiter! :-)

Wenn du jetzt die #NV Meldung bekommst, heisst das ganz klar, dieser Schlüssel ist nicht vergeben!!!!

Entweder stimmt was nicht in deiner "Ausgangstabelle" (?) unbekannte/falsche Wirtschaftszweige oder du hast den Wertebereich nicht vollständig angelegt!

gruss
pelle

Antwort 10 von Marquis79

Bin mit meinem Können am Ende, hab wirklich keine Ahnung, die Werte die ich nicht ausgegeben bekomme sind definiert, ich weiß nicht warum es bei einigen Zellen klappt und bei anderen nicht, wirklich komisch ???

Antwort 11 von pelle

Hallo Marquis,

willst doch wohl noch nicht aufgeben?

Kannst du die Tabelle z.B. hier:

http://www.netupload.de

mal einstellen und den Link nachher hier einstellen!

Manchmal sieht man vor lauter Bäume den Wald nicht mehr, ist mir jetzt auch mal bei Access so ergangen!

gruss
pelle

Antwort 12 von Marquis79

Aufgeben kann ich gar nicht, brauche das dringend ;-)

Netter Webservice, kannte ich noch gar nicht. Hier der Link:

http://www.netupload.de/downloaddata.php/c3459805c321dc35aee747d036b7eea9.xls


1000 Dank!!


MfG

Marquis

Antwort 13 von pelle

Hallo Marquis,

Problem gelöst!!!

Ich habe mir mal deine Tabelle angeschaut!

Punkt 1:

Du hast deine Suchfelder und die Vergleichsfelder unterschiedlich formatiert bzw. auf Standard stehen!

Mal werden sie als Zahl mals Text interpretiert!
Dadurch kommt Excel mit der Funktion ins schleudern!

Ich habe es mal umgewandelt un angepasst!
Auf den ersten Blick läuft es sauber!!

Habe auch einen Wert gefunden, der nicht hinterlegt ist!

Ich kann dir die angepasste Tabelle mal zuschicken,
brauchte dafür aber deine E-Mail Adresse!

gruss
pelle

Ps:: Bin noch etwa 20 Minuten online!

Antwort 14 von DukeNT

Hi Marquis79,
eine andere Lösung hätte ich per VBE zur Hand.
Kein Plan ob du da mit klar kommst aber kannst ja mal versuchen.
Geh in den Visual Basic-Editor ->Einfügen->Modul
In das Fenster kopierst du folgendes:
Sub zuordnen()
Application.ScreenUpdating = False
lz = Sheets("Tabelle1").Range("AZ65536").End(xlUp).Row
For a = 1 To lz
Zelle = Cells(a, 52).Value
Select Case Zelle
Case Is > 98
Cells(a, 1).Value = "Q"
Case Is > 94
Cells(a, 1).Value = "P"
...
...
Case Is > 0
Cells(a, 1).Value = "A"
Case Else
Cells(a, 1).Value = "XX"
End Select
Next
Application.ScreenUpdating = True
End Sub

VBE beenden und dann einfach das Macro "zuordnen" ausführen.
Wenn dein Tabellenblatt anders als "Tabelle1" heist dann im Code entsprechend ändern.
Teste erstmal nur mit ein paar zeilen ob es geht! Hast ja schon genug an vergleichstabellen erstellt.

LG Duke

Antwort 15 von Saarbauer

Hallo,

nach etwas knobel eine für @Marquis79 aus meiner Sicht brauchbare Lösung mit

=VERWEIS(TEIL(A1;1;2);Tabelle1!$A$1:$A$30;Tabelle1!$B$1:$B$30)

wobei ich die Grenzwerte um einen Punkt nach oben schieben musste und alle Zahlen als Text abgespeichert habe.

http://www.netupload.de/detail.php?img=b636eae973f5351434eea5eb75f5...

meine Testtabelle hinterlegt. Hatte es auch mit Sverweis versuch, klappte aber nicht

Gruß

Helmut

Antwort 16 von Marquis79

Hi,

meine Mail: marquis79@web.de

Welchen Wert hast du denn gefunden?

1000 Dank, echt super!!!


MfG

Marquis

Antwort 17 von pelle

Hallo Marquis,

die Tabelle ist unterwegs!

habe sie hier

http://www.netupload.de/detail.php?img=4f3439e111d4232ef4628758b66c...

auch nochmal eingestellt!

Der Wert 72 fehlte!

Ich hoffe es hilft dir weiter!

gruss
pelle

@Helmut

Grüß dich!

Eins verstehe ich bei deiner Antwort nicht!
Wenn du doch alle Felder als Textfelder defniert hast, müsste doch der Sverweis bei dir auch funktioniert haben.

Ich habe doch eigentlich nur den anderen Weg der Zahlenfelder gewählt!

gruss
pelle

Antwort 18 von Saarbauer

Hallo @pelle,

hatte zwischendrinn immer wieder #NV o.ä.

Gruß

Helmut

Antwort 19 von pelle

Hallo @Helmut,

ist ja schon ein wenig komisch!

Ich vermute mal, dass ein Problem mit den Standarddefinitionen besteht!

Ich musste um das Problem von Marquis zu lösen auch

a) ein Hilfsspalte einrichten und mit der Funktion Wert(XX:XX) den Wert ermitteln

b) anschließend diese Spalte kopiert und als Werte einfügen an gleicher Stelle wieder hinterlegt.

c) die Hilfsspalte, die ja jetzt als Zahl definiert war auf seine Originalspalte kopiert!

Einfach die Zellen als Zahl formatieren klappte nicht!

gruss
pelle

Antwort 20 von Marquis79

1000 Dank, hat mir sehr geholfen, super Support hier im Net(t)!!


mfg

Marquis

Antwort 21 von pelle

Hallo Marquis,

schön, dass es dir geholfen hat und Dank für deine Rückmeldung!

gruss
pelle

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: