WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Software

Software Rat & Tat bei Softwareproblemen

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 05.06.2012, 15:29   #1
onderbar
Newbie
 
Registriert seit: 05.06.2012
Alter: 55
Beiträge: 5

Mein Computer

Frage excel, verschachtelte wenn dann abfrage

Hallo Leute!

Vielleicht kann mir jemand dabei helfen:

Es soll sein
IF(AND(C5>39;C5<59;G5>7000;G5<9900);"ok";"IF(AND(C 5>39;C5<59;G5>7000;G5<9900);"ok";"falsch")")

WENN das eine passt DANN ok SONST WENN das andere passt DANN AUCH ok SONST falsch

Ab dem 2. wenn gehts nicht mehr. Ist vielleicht nur eine Klammer im Weg?
Danke mal im Voraus!
onderbar ist offline   Mit Zitat antworten
Alt 05.06.2012, 16:08   #2
T.dot
Master
 
Registriert seit: 13.08.2003
Beiträge: 624


Standard

das zweite IF steht komplett unter hochkomma ("), so gehts sicher nicht.
Wenn dann eher:
IF(AND(C5>39;C5<59;G5>7000;G5<9900);"ok";IF(AND(C 5>39;C5<59;G5>7000;G5<9900);"ok";"falsch"))

und geht das nicht mit einem if und or?
if(or(and(...);and(...));"ok";"falsch")
T.dot ist offline   Mit Zitat antworten
Alt 05.06.2012, 16:16   #3
pc.net
Aussteiger
 
Benutzerbild von pc.net
 
Registriert seit: 07.10.2001
Ort: Nettistan
Beiträge: 12.997

Mein Computer

Standard

mit einer deutschen sprach-version von ms-office 2010 funktioniert die folgendermaßen bereinigte formel:

Code:
=WENN(UND(C5>39;C5<59;G5>7000;G5<9900);"ok";WENN(UND(C5>39;C5<59;G5>7000;G5<9900);"ok";"falsch"))
____________________________________
Praktizierender Eristiker

No hace falta ser un genio para saber quién dijo eso.
Der wirklich faule Mensch ist oft extrem fleißig, denn er will möglichst schnell wieder faul sein.
pc.net ist offline   Mit Zitat antworten
Alt 05.06.2012, 17:33   #4
onderbar
Newbie
 
Registriert seit: 05.06.2012
Alter: 55
Beiträge: 5

Mein Computer

Standard

Danke euch Beiden! :--)

Funtioniert jetzt wunderbar! Nur habe ich einen Denkfehler drinnen, es fehlen AND und OR. So kommt kein sinnvolles Ergebnis raus.

IF(AND(C5>39;C5<59;G5>7000;G5<9900);"ok";IF(AND(C5 <39;C5>59;G5<7000);"ok";"falsch"))

Beim zweiten IF (c5<39 OR c5>59) AND (g5<7000)

Muss ich da jedesmal eine neue IF Verzweigung machen?
onderbar ist offline   Mit Zitat antworten
Alt 05.06.2012, 18:31   #5
ZombyKillah
Trashtroll
 
Benutzerbild von ZombyKillah
 
Registriert seit: 19.10.2008
Ort: far away but still in austria
Beiträge: 1.194

Mein Computer

Standard

Nein musst du nicht...
Code:
IF(OR(AND(C5>39;C5<59;G5>7000;G5<9900);AND(C5<39;C5>59;G5<7000));"ok";"falsch")
Würde das selbe Resultat liefern ...
____________________________________
It's more fun to write crap that nothing!
Just kidding.

Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen
ZombyKillah ist offline   Mit Zitat antworten
Alt 05.06.2012, 19:35   #6
ZombyKillah
Trashtroll
 
Benutzerbild von ZombyKillah
 
Registriert seit: 19.10.2008
Ort: far away but still in austria
Beiträge: 1.194

Mein Computer

Standard

Was mir jetzt erst auffällt:
Code:
AND(C5<39;C5>59;G5<7000)
Ist immer FALSCH
____________________________________
It's more fun to write crap that nothing!
Just kidding.

Ich bin für kreative Rechtschreibung, da kann man keine Fehler machen
ZombyKillah ist offline   Mit Zitat antworten
Alt 08.06.2012, 13:54   #7
onderbar
Newbie
 
Registriert seit: 05.06.2012
Alter: 55
Beiträge: 5

Mein Computer

Standard

jetzt hab ichs folgendermaßen geändert:

=IF(AND(C3>39;C3<59;G3>7000;G3<9900);"ok";IF((OR(C 3<39;C3>59)*AND(G3<7000));"ok";"falsch"))

Es gehört noch erweitert auf *(AND(G3<7000)OR(G3>9900)) nach dem zweiten IF.
Also WENN (c3<39 ODER c3>59) UND (g3<7000 ODER g3>9900)


nur leider nimmt Excel das so nicht?!
onderbar ist offline   Mit Zitat antworten
Alt 10.06.2012, 19:28   #8
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Schreib dir eine VBA-Funktion. Damit ist alles übersichtlich und leicht lesbar. Außerdem gibt es kein Limit bei der Zahl der Verschachtelungen.


mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 12.06.2012, 14:54   #9
onderbar
Newbie
 
Registriert seit: 05.06.2012
Alter: 55
Beiträge: 5

Mein Computer

Standard

Hab jetzt das zusammen geschustert, aber als Fehler kommt "Block IF without End IF)

Kann mir jemand sagen, ob das sonst passt, und wo der Fehler ist?

Code:
Sub test() ' überprüfen

For Each zelle In Bereich
  If zelle.Value(3, 3) > 39 And zelle.Value(3, 3) < 59 And zelle.Value(3, 7) > 7000 And zelle.Value(3, 7) < 9900 Then
  zelle.Value(3, 3).Font.ColorIndex = 8
  Else
  If zelle.Value(3, 3) < 39 Or zelle.Value(3, 3) > 59 And zelle.Value(3, 7) < 7000 Or zelle.Value(3, 7) > 9900 Then
  zelle.Value(3, 3).Font.ColorIndex = 8
  Else
  zelle.Value(3, 3).Font.ColorIndex = 1
  End If
  
End Sub
Danke!
onderbar ist offline   Mit Zitat antworten
Alt 12.06.2012, 15:10   #10
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Es fehlt tatsächlich eine "End If". Vermutlich am Schluß, aber sicher kannst das nur du wissen. Außerdem fehlt next, um die Schleife zu schließen.

zelle.Value(3, 3) dürfte auch kein korrekter Ausdruck sein.

Insgesamt scheint es nicht die Umsetzung deiner Formel zu sein. Die ist mir aber zu kompliziert, um mich damit genau auseinander zu setzen.

Hier ein paar grundsätzliche Infos:
- Beginne jedes Modul mit der Zeile:
Option Explicit
Damit wird die Deklaration der Variablen erzwungen. Das vermeidet Fehler.
- Um eine Formel zu ersetzen braucht es eine Funktion mit Rückgabewert. Dieser wird in der Zelle angezeigt.

Eine Lösung mit For Each dürfte nicht zweckmäßig sein. Außerdem ist der Bereich nicht angegeben.

Wenn du mit VBA keine Erfahrung hast, beginne mit einer einfachen Funktion.
Oder beschreib mir verständlich, was du erreiche willst. Ich bring dann ein Beispiel, das du erweitern/anpassen kannst.


mfg

WB

Geändert von wbendl (12.06.2012 um 15:18 Uhr).
wbendl ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:07 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag