Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1572to1576
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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
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
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.
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

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige