if verschaltelungen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

fish
Beiträge: 3
Registriert: Do, 08.12.2005 21:24

if verschaltelungen

Beitrag von fish »

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?
alter
Beiträge: 8
Registriert: Di, 06.12.2005 19:05

Beitrag von alter »

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
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

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.
fish
Beiträge: 3
Registriert: Do, 08.12.2005 21:24

Beitrag von fish »

@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
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom »

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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Lenu
*******
Beiträge: 1085
Registriert: Sa, 30.10.2004 09:24

Beitrag von Lenu »

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!
fish
Beiträge: 3
Registriert: Do, 08.12.2005 21:24

Beitrag von fish »

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
Antworten