Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: wenn oder und kombinieren

wenn oder und kombinieren
11.08.2017 14:20:00
Christian
Hallo Liebe Excel Freunde !
Irgendwie bekomme ich das nicht hin ;o(
Wenn in B13 "60Hz" steht oder "both" und in A13 NICHT "false", dann Wert aus C13, sonst "false"
=WENN(ODER(B13="60Hz";B13="Both";A13"false");C13;"false")
Der Wert aus A13 kommt aus einer Formel:
=WENN(ISTFEHLER(SVERWEIS($C13;WS_Preparation;1;0));"false";SVERWEIS($C13;WS_Preparation;1;0))
VG
Christian
Anzeige

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: wenn oder und kombinieren
11.08.2017 14:23:58
ChrisL
Hi Christian
UND(ODER(B13="60Hz";B13="Both");A13"false")
cu
Chris
AW: wenn oder und kombinieren
11.08.2017 14:25:26
Martin

=WENN(UND(ODER(B13="60Hz";B13="Both");A13"false");C13;"false")

AW: wenn oder und kombinieren
11.08.2017 14:27:07
Christian
Danke für die schnelle Antwort(en) !
SUPER
Anzeige
ohne ODER / ohne UND
11.08.2017 14:47:57
WF
Hi,
=WENN(((B13="60HZ")+(B13="Both"))*(A13"false");C13;"false")
WF
Frage zur Lösung
11.08.2017 15:25:43
Martin
Hallo WF,
hat diese Formel hinsichtlich der Performance von Excel Nachteile, wenn sie in mehreren Tausend Zeilen angewendet wird? Meine Frage soll keine Anspielung sein, sondern interessiert mich ernsthaft.
Viele Grüße
Martin
Anzeige
was ist schneller...
11.08.2017 15:45:18
ChrisL
Hi Martin
Zu meinem Erstaunen war die UND/ODER Variante bei mir deutlich schneller:
Sub test()
t = Now
With Range("D13:F" & Rows.Count)
.FormulaLocal = "=WENN(((B13=""60HZ"")+(B13=""Both""))*(A13""false"");C13;""false"")"
End With
MsgBox Format(Now - t, "hh:mm:ss")
End Sub

Sub testt()
t = Now
With Range("D13:F" & Rows.Count)
.FormulaLocal = "=WENN(UND(ODER(B13=""60Hz"";B13=""Both"");A13""false"");C13;""false"")"
End With
MsgBox Format(Now - t, "hh:mm:ss")
End Sub

cu
Chris
Anzeige
Jup, deutlich schneller
11.08.2017 16:03:13
lupo1
Bei mir nämlich 9 Sekunden.
Beide.
Was lernen wir daraus? Wer schon Performancetests macht, sollte auch von sich aus mit Zahlen schmeissen. Denn dann erzählt er keinen Quatsch.
AW: Jup, deutlich schneller
11.08.2017 17:34:50
ChrisL
Hi
Ich hatte den Code gepostet, damit jeder selber testen kann.
Meine eigenen Tests waren unterschiedlich und liefen auf XL2007. Bei grösseren Bereichen gab es ab und zu einen "Hänger", wobei ich mich natürlich gefragt habe, ob noch Hintergrundprozesse (z.B. Mail Aktualisierung) laufen. Weniger Probleme/Ausreisser hatte ich mit der UND/ODER Variante und bei kleineren Bereichen war es schneller (1 Sekunde). Identisch waren die Werte nie.
Vielleicht habe ich ein Zufallsresultat produziert, denn das Ergebnis hat mich ja selber erstaunt.
Schönes Wochenende
Chris
Anzeige
AW: Jup, deutlich schneller
11.08.2017 20:18:05
Martin
Hallo,
entschuldigt, dass ich mich erst jetzt melde, aber ich war bis eben unterwegs.
Was mich erstaunt: Ich habe den Laufzeit-Code unter Excel 2003 durchgeführt und beide Performance-Tests haben auf meinem (uralten) Computer (Intel Core 2 Duo CPU T9300, 3 GB RAM) jeweils eine Sekunde benötigt. Bislang dachte ich, dass auf meinem wesentlich besseren Windows 7 Computer mit Excel 2010 (Intel Core i7-2960XM, 16 GB RAM) etwas nicht stimmt, weil da fast alle meine Excel-Mappen wesentlich langsamer laufen. Aber anscheinend sind die neueren Excel-Versionen einfach nicht so performant. Wahrscheinlich hängt das mit der deutlichen Erweiterung der Zeilen und Spalten zusammen?!
Viele Grüße
Martin
Anzeige
Kann ich mit xl2000 bestätigen
11.08.2017 21:56:12
lupo1
Für xxcl.de/0052.htm braucht xl2000, wie dort (in der Mitte) angegeben, 0,3 Sekunden.
Unter xl2010 brauchte es das 10fache. Aber: Vermutlich lud xl2010 (ist ja seit xl2007 neu programmiert) bestimmte Programme nach. Es spielt auch eine Rolle, ob gerade zwischen Excel und VBA-Variants ausgetauscht wird, oder nicht.
Anzeige
AW: ist doch logisch, dass UND/ODER schneller ist
12.08.2017 14:15:08
Daniel
wenn du mit ODER und UND arbeitest, bleiben die Wahrheitswerte der Einzelprüfungen Wahrheitswerte.
verwendest du stattdessen + und *, müssen die Wahrheitswerte in Zahlen gewandelt werden und am Schluss muss das Gesamtergebnis wieder von einer Zahl in einen Wahrheitswert gewandelt werden.
Durch die erforderliche Typwandlung der Vergleichsergebnisse ist der Rechenaufwand höher und braucht damit mehr Zeit
noch schneller könnte bei großen Datenmengen die Verwendung von geschachtelten WENNs anstelle von UND und ODER sein:
=Wenn(A13="false";"false";Wenn(B13="60Hz";C13;Wenn(B13="both";C13;"false")))
das liegt daran, dass bei UND/ODER bzw +/* alle drei Zellvergleiche immer durchgeführt werden.
in der oben genannten WENN-Funktion wird aber nur der Zellvergleich mit A13 immer durchgeführt.
die Zellvergleiche mit B13 werden nur dann durchgeführt, wenn A13 nicht "false" ist, also nicht mehr in allen fällen, sondern nur noch in einem Teil der Fälle und das reduziert den Rechenaufwand.
dh, je öfters in Spalte A "false" steht, um so schneller ist die Berechnung.
ob sich die WENN-Variante lohnt hängt aber nicht nur von der Verteilung der Werte ab, sondern auch vom Zeitaufwand für die einzelnen Prüfungen.
je höher der Rechenaufwand für die Prüfungen im zweiten Teil ist, um so eher lohnt sich die WENN-Variante (hier bei einfachen Vergleichen wahrscheinlich eher nicht)
Gruß Daniel
Anzeige
wie ohne? + = OR / * = AND ....;-) (owT)
11.08.2017 15:38:46
EtoPHG

;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Excel Wenn und Oder Kombinieren: Eine Anleitung


Schritt-für-Schritt-Anleitung

Um in Excel die Funktionen WENN, UND und ODER zu kombinieren, folge diesen Schritten:

  1. Öffne deine Excel-Datei und gehe zu der Zelle, in der du die Formel eingeben möchtest.
  2. Tippe die folgende Formel ein:
    =WENN(UND(ODER(B13="60Hz";B13="Both");A13<>"false");C13;"false")

    Diese Formel überprüft, ob in B13 entweder "60Hz" oder "Both" steht und ob A13 nicht "false" ist. Wenn die Bedingungen erfüllt sind, wird der Wert aus C13 zurückgegeben, andernfalls "false".

  3. Drücke Enter, um die Formel zu übernehmen.

Falls du die Formel in mehreren Zeilen anwenden möchtest, ziehe das Ausfüllkästchen in der unteren rechten Ecke der Zelle nach unten.


Häufige Fehler und Lösungen

  • Fehler: #WERT!

    • Ursache: Überprüfe, ob du die richtigen Operatoren verwendest (z.B. <> für "nicht gleich").
    • Lösung: Stelle sicher, dass die Logik in deiner Formel korrekt ist, wie in der Schritt-für-Schritt-Anleitung beschrieben.
  • Fehler: Falsche Rückgabewerte

    • Ursache: Du hast möglicherweise die Bedingungen nicht richtig gesetzt.
    • Lösung: Überprüfe die Bedingungen in der WENN-Funktion. Achte darauf, dass die Anführungszeichen korrekt gesetzt sind.

Alternative Methoden

Eine Alternative zur Kombination von WENN mit UND und ODER ist die Verwendung von mathematischen Operatoren:

=WENN(((B13="60Hz")+(B13="Both"))*(A13<>"false");C13;"false")

Diese Methode nutzt die Tatsache, dass TRUE als 1 und FALSE als 0 interpretiert wird. Dadurch kannst du die Bedingungen mathematisch kombinieren.


Praktische Beispiele

  1. Beispiel 1: Einfache Überprüfung

    =WENN(ODER(A1="Ja";A1="Ja, aber");"Genehmigt";"Abgelehnt")
  2. Beispiel 2: Verschachtelte WENN-Funktion

    =WENN(A1="false";"falsch";WENN(B1="60Hz";C1;WENN(B1="Both";C1;"falsch")))

    Diese Formel zeigt, wie du WENN mit ODER und UND kombinieren kannst, um verschiedene Bedingungen zu überprüfen.


Tipps für Profis

  • Verwende geschachtelte WENN-Funktionen: Sie können in vielen Fällen die Performance verbessern, insbesondere bei großen Datenmengen.
  • Teste verschiedene Varianten: Manchmal ist es hilfreich, verschiedene Varianten der Formel zu testen, um die beste Performance zu erzielen.
  • Nutze die Formelüberwachung: In Excel kannst du die Formelüberwachung nutzen, um zu sehen, welche Teile deiner Formel die meiste Rechenzeit in Anspruch nehmen.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Bedingungen in einer Formel kombinieren?
Du kannst mehrere Bedingungen in einer WENN-Funktion kombinieren, indem du UND und ODER verwendest, wie in den obigen Beispielen gezeigt.

2. Gibt es eine Performance-Differenz zwischen den Methoden?
Ja, einige Methoden sind schneller als andere, insbesondere wenn sie in großen Datenmengen angewendet werden. Es lohnt sich, verschiedene Ansätze auszuprobieren, um die beste Performance zu finden.

3. Kann ich WENN mit anderen Funktionen kombinieren?
Ja, du kannst WENN mit vielen anderen Funktionen wie SVERWEIS oder ISTFEHLER kombinieren, um komplexe Berechnungen durchzuführen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige