if verschaltelungen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: if verschaltelungen

von fish » Sa, 10.12.2005 17:58

die logik ist richtig, wenn auch umständlich und unschön: es werden einfach alle variationen durchgeprüft, bis festgestellt wurde dass eine davon benutzt werden kann

die formel funkioniert bei mir weder mit = noch ohne

edit: ah, habs hinbekommen, der einzige fehler war, dass ich an irgendeiner stelle zufällig enter gedrückt hatte o_O

naja, danke für eure hilfe :)
wenn ichs fertig hab dann posts ichs mal, dann seht ihr welche logik dahintersteckt

von Lenu » Fr, 09.12.2005 13:55

WENN(ODER(ISTLEER(B6);ISTLEER(B7));WENN(ODER(ISTLEER(B7);ISTLEER(B8));
WENN(ODER(ISTLEER(B6);ISTLEER(B8));WENN(ODER(ISTLEER(B6);ISTLEER(B9));
WENN(ODER(ISTLEER(B6);ISTLEER(B10));WENN(ODER(ISTLEER(B7);ISTLEER(B9));
WENN(ODER(ISTLEER(B7);ISTLEER(B10));WENN(ODER(ISTLEER(B8);ISTLEER(B9));
WENN(ODER(ISTLEER(B8);ISTLEER(B10));WENN(ODER(ISTLEER(B9);ISTLEER(B10));
WENN(ODER(ISTLEER(B6);ISTLEER(B11));WENN(ODER(ISTLEER(B7);ISTLEER(B11));
WENN(ODER(ISTLEER(B8);ISTLEER(B11));WENN(ODER(ISTLEER(B9);ISTLEER(B11));
WENN(ODER(ISTLEER(B10);ISTLEER(B11));WENN(ODER(ISTLEER(B6);ISTLEER(B12));
WENN(ODER(ISTLEER(B7);ISTLEER(B12));WENN(ODER(ISTLEER(B8);ISTLEER(B12));
WENN(ODER(ISTLEER(B9);ISTLEER(B12));WENN(ODER(ISTLEER(B10);ISTLEER(B12));
WENN(ODER(ISTLEER(B11);ISTLEER(B12));WENN(ODER(ISTLEER(B6);ISTLEER(B13));
WENN(ODER(ISTLEER(B7);ISTLEER(B13));WENN(ODER(ISTLEER(B8);ISTLEER(B13));
WENN(ODER(ISTLEER(B9);ISTLEER(B13));WENN(ODER(ISTLEER(B10);ISTLEER(B13));
WENN(ODER(ISTLEER(B11);ISTLEER(B13));WENN(ODER(ISTLEER(B12);ISTLEER(B13));"";28)
;27);26);25);24);23);22);21);20);19);18);17);16);15);14);13);12);11);10);9);8);7);6);5);4);3);2);1)

So wird die Formel jedenfalls als Formel akzeptiert.
Aber ich kann mir nicht vorstellen, dass dahinter eine richtige Logik steckt.
Ich habe zwar keine Ahnung von Mathe und weiss nicht, was Du schlussendlich berechnen musst, aber die Logik:
Wenn entweder B6 oder B7 leer sind, dann prüfe, ob entweder B7 oder B8 leer sind....
läuft jedenfalls nicht auf das hinaus:
Es müssen mindestens 2 Angaben vorhanden sein!

von Toxitom » Fr, 09.12.2005 13:47

Hey fish,

also, für so ein Vorhaben würde ich auf Basic ausweichen, mir einen schönen Dialog erzeugen und die Daten abfragen.
Dann die Daten auswerten, den Rest berechnen, in Zellen ausgeben, ein Dreieck zeichnen (als "Shape" - in Basic) und dieses ebenfalls ausgeben.

Dann hast du etwas "ordentliches".

Viele Grüße
Thomas

von fish » Fr, 09.12.2005 12:36

@alter: wie bereits oben geschrieben, im kleinformat gings

@Lenu: nein es kommt gar kein fehler, der schreibt mir das ganze einfach so hin, obwohl ich davor ein gleich gesetzt habe, danke für den tipp mit dem hilfetext, wusste nicht dass ich die fehlercodes dort nachschlagen kann

danke für eure hilfe

wenn es an der länge liegt, muss ich mal schauen ob es schleifen gibt, oder ich muss das ganze auf verschiedene zellen aufteilen, wenn ich das richtig sehe

mein ziel ist es, mir mithilfe von 2 angaben von einem dreieck alle anderen werte ausrechnen zu lassen
So soll das für den Benutzer aussehen:

Gegeben:
Es müssen mindestens 2 Angaben vorhanden sein!
Mindestens eine dieser Angaben muss eine Strecke sein!
a (Kathete)
b (Kathete)
c (Hypotenuse)
q
p
h (von c)
winkel(a)
winkel(b)



in die zellen daneben soll er einfach 2 sachen eintragen können, weiter unten soll das ganze dann so angezeigt werden:

Ergebnis:
a b c q p h winkel(a) winkel(b) Flächeninhalt Umfang


unter a, b, c usw sollen die werte stehen

dazu dachte ich mit bau ich ifs ein, die von oben nach unten gucken was gegeben ist, bis 2 angaben gefunden wurden
diese sollen benutzt werden um a und b auszurechnen
bei den restlichen werten soll einfach geguckt werden ob diese schon gegeben sind, wenn ja, dann sollen diese dann benutzt werden, sonst durch a und errechnet werden (dadurch erspar ich mir zich formeln für die 10 sachen aufzustellen, welche direkt aus den gegebenen angaben alles berechnen)
die verschiedenen formeln dazu, je nach angabe, habe ich bereits aufgestellt

mir fehlt halt nur noch die umsetzung durch viele verschachtelte ifs, oder mithilfe einer schleife, oder durch verlagerung auf verschiedene zellen

das SVERWEIS ist mir neu, ich kann mal schaun ob ich damit etwas hinkriege


achja, und wenn das fertig ist will ich die dreiecke auch noch zeichnen lassen :D

von Lenu » Fr, 09.12.2005 06:53

Die Anzahl Verschachtelungen spielt an und für sich keine Rolle, aber mir scheint, Du liegst mit der Gesamtlänge knapp über dem Limit. Bekommst Du Fehlercode 512 (Formel zu lang)?
Die Fehlercodes und ihre Bedeutung sind übrigens im Hilfetext zu finden, Stichwort "Fehlercodes"
Kann man das, was Du mit der Formel genau willst in Worte fassen?
Vielleicht muss man versuchen, mit Hilfsspalten zu arbeiten, damit die Formeln kürzer werden. Oft kann man WENN's auch mit SVERWEIS ersetzen.

von alter » Do, 08.12.2005 23:24

Hallo fish,

Von Excel her weiß ich, daß dort nicht mehr als schlappe 8 WENN-Verschachtelungen möglich sind. Vielleicht liegt es ja daran.
Bekommst Du eine Fehlermeldung und wenn ja, welche?
Probiers mal mit weniger WENNs, und tu dann immer noch eins dazu, um zu sehen ab wann es nicht mehr geht.

Gruß alex

if verschaltelungen

von fish » Do, 08.12.2005 21:29

hallo, ich möchte 28 ifs verschachteln

ich habe geschrieben:
=WENN(ODER(ISTLEER(B6);ISTLEER(B7));WENN(ODER(ISTLEER(B7);ISTLEER(B8));WENN(ODER(ISTLEER(B6);ISTLEER(B8));WENN(ODER(ISTLEER(B6);ISTLEER(B9));WENN(ODER(ISTLEER(B6);ISTLEER(B10));WENN(ODER(ISTLEER(B7);ISTLEER(B9));WENN(ODER(ISTLEER(B7);ISTLEER(B10));WENN(ODER(ISTLEER(B8);ISTLEER(B9));WENN(ODER(ISTLEER(B8);ISTLEER(B10));WENN(ODER(ISTLEER(B9);ISTLEER(B10));WENN(ODER(ISTLEER(B6);ISTLEER(B11));WENN(ODER(ISTLEER(B7);ISTLEER(B11));WENN(ODER(ISTLEER(B8);ISTLEER(B11));WENN(ODER(ISTLEER(B9);ISTLEER(B11));WENN(ODER(ISTLEER(B10);ISTLEER(B11));WENN(ODER(ISTLEER(B6);ISTLEER(B12));WENN(ODER(ISTLEER(B7);ISTLEER(B12));WENN(ODER(ISTLEER(B8);ISTLEER(B12));WENN(ODER(ISTLEER(B9);ISTLEER(B12));WENN(ODER(ISTLEER(B10);ISTLEER(B12));WENN(ODER(ISTLEER(B11);ISTLEER(B12));WENN(ODER(ISTLEER(B6);ISTLEER(B13));WENN(ODER(ISTLEER(B7);ISTLEER(B13));WENN(ODER(ISTLEER(B8);ISTLEER(B13));WENN(ODER(ISTLEER(B9);ISTLEER(B13));WENN(ODER(ISTLEER(B10);ISTLEER(B13));WENN(ODER(ISTLEER(B11);ISTLEER(B13));WENN(ODER(ISTLEER(B12);ISTLEER(B13));"";28);27);26);25);24);23);22);21);20);19);18);17);16);15);14);13);12);11);10);9);8);7);6);5);4);
3);2);1)

es klappt aber nicht :(

im kleinformat jedoch gehts:
=WENN(ODER(ISTLEER(B6);ISTLEER(B7));WENN(ODER(ISTLEER(B7);ISTLEER(B8));"";2);1)

was mache ich falsch?

Nach oben