Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
620to624
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
620to624
620to624
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Sverweis oder Verschachtelung?

Sverweis oder Verschachtelung?
08.06.2005 13:12:42
Hanna
Hallo zusammen,
eine Frage an euch Experten: Wird ein Programmdurchlauf (Wesentlich) schneller, indem ich Sverweise anstatt Verzweigungen mit If...then...else einbaue?
Hoffe jemand kann mir einen Tipp geben ;-)
mfg Hanna

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sverweis oder Verschachtelung?
08.06.2005 13:35:28
MichaV
Hi Hanna,
welche Aufgabe willst Du denn entweder mit Sverweis oder mit If...Then lösen?
Das sind doch zwei verschiedene Werkzeuge?
Was ich meine: Wenn es ein reines Sverweis- Problem ist (Wert suchen, nach links gehen), dann ist Sverweis mit Sicherheit schneller. Aber da wäre doch eine If..Then völlig fehl am Platze.
Gruss- Micha
AW: Sverweis oder Verschachtelung?
08.06.2005 13:41:30
Hanna
Hallo Micha,
da hab ich vielleicht etwas falsch verstanden :-( ...
Ich dachte, dass man in einen Sverweis auch Bedingungen eintragen kann, bei denen etwas ausgeführt wird entsprechend if...then...
Hab ich wohl falsch gedacht...
Trotzdem Danke, dann lass ich meine vielen If...thens halt stehen,
mfg Hanna
Anzeige
AW: Sverweis oder Verschachtelung?
08.06.2005 13:49:30
MichaV
Hi,
meinst Du vielleicht Switch

Zuordnen = Switch(Stadt = "London", "Englisch", _
Stadt = "Rom", "Italienisch", Stadt = "Paris", "Französisch")

oder IIf

Function Prüfen (Test1 As Integer)
Prüfen = IIf(Test1 > 1000, "Groß", "Klein")
End Function

?
Dann würde ich dabei bleiben, daß solche "eingebauten" Funktionen schneller sind als If... Then... Else.
Aber ich bin auch nicht der Experte, den Du vielleicht gesucht hast.
Gruss- Micha
Danke, das versuche ich mal
08.06.2005 13:53:58
Hanna
Hallo Micha,
danke für deinen Ansatz, das probiere ich mal. Hoffe halt, dass es auch schneller läuft. Ansonsten kann ich meinen Quellcode lassen, funktionieren tut er. Braucht halt 2,5 Stunden an nem schnellen Rechner...
mfg, Hanna
Anzeige
AW: Danke, das versuche ich mal
08.06.2005 14:04:05
MichaV
Hi,
lass das mal. Hier siehst Du, was ich für ein Experte bin :o)


      
Option Explicit
Public Sub Test()
Dim Start, Wert
Dim intWert As Integer
Dim i As Double
Dim dummy
Const Ende = 1000000
Wert = "1"
intWert = 1
Start = Timer
For i = 1 To Ende
  dummy = Switch(Wert = "1", 
True, Wert = "2", False)
Next i
Cells(1, 1) = "Sekunden für Switch mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
  IIf Wert = "1", dummy = 
True, dummy = False
Next i
Cells(2, 1) = "Sekunden für IIf mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
  
If Wert = "1" Then dummy = True Else dummy = False
Next i
Cells(3, 1) = "Sekunden für If Then Else mit Variant: " & Timer - Start
Start = Timer
For i = 1 To Ende
  dummy = Switch(intWert = 1, 
True, intWert = 2, False)
Next i
Cells(4, 1) = "Sekunden für Switch mit Integer: " & Timer - Start
Start = Timer
For i = 1 To Ende
  IIf intWert = 1, dummy = 
True, dummy = False
Next i
Cells(5, 1) = "Sekunden für IIf mit Integer: " & Timer - Start
Start = Timer
For i = 1 To Ende
  
If intWert = 1 Then dummy = True Else dummy = False
Next i
Cells(6, 1) = "Sekunden für If Then Else mit Integer: " & Timer - Start
End Sub 


Ich frag mich nur, warum VB solche Funktionen hat, wenn die doch langsamer sind...
Oder verstehe ich da was nicht?
Gruss- Micha
Anzeige
AW: Danke, das versuche ich mal
08.06.2005 14:13:29
Hanna
Hmmm... könntest du vielleicht recht haben :-)))))
Aber in einem sind wir uns einig: Hauptsache das Programm läuft ;-)
Grüßle Katja
Braucht halt 2,5 Stunden an nem schnellen Rechner.
08.06.2005 14:14:40
MichaV
Braucht halt 2,5 Stunden an nem schnellen Rechner...
Was um Himmels Willen....bei Deinem Level?
Ich behaupte mal, das liegt nicht an der Struktur Deiner Entscheidungs- Anweisungen, sondern an anderen Sachen.
Gruss- Micha
AW: Braucht halt 2,5 Stunden an nem schnellen Rechner.
08.06.2005 14:17:43
Hanna
Okay ich gib's zu, eigentlich bin ich nicht Kaum Excel/VBA-Kenntnisse.
Aber als ich mal "Gut" angegeben habe, hat mich Hajo_Zi angeschissen was das soll so eine Anfänger-Frage zu stellen bei meinem Niveau. Also bin ich auf "kaum" umgesprungen, dann spar ich mir den Ärger :-)
Es gibt halt keine Zwischenmöglichkeit, is hal so!
Anzeige
AW: Braucht halt 2,5 Stunden an nem schnellen Rechner.
08.06.2005 14:19:39
MichaV
...unser guter alte Hajo ;o)
Frohes Schaffen wünsch ich Dir noch!
Gruss- Micha
duales IF (IIf)
11.06.2005 01:37:43
Luc:-?
Hallo Micha,
hoffentlich denkt auch Hanna daran, dass bei einem dualen If (IIf) stets alle Komponenten berechnet wdn - also sinnvolle Werte zurückgeben müssen (auch die nicht gewählte) - sonst gibt's Fehler! Ansonsten: Warum stellst du hier dein Licht so unter den Scheffel - oder hat mir mein Browser was verschwiegen? Bin nämlich leider immer noch mit 'ner aufgemotzten Schrottkiste und uralten Browsern sehr sporadisch am Netz, weil immer noch am PC-Flicken und Umzugsziel-Ausbauen.
Grüße Luc :-?
Anzeige
AW: duales IF (IIf)
11.06.2005 18:50:40
MichaV
Hi Luc,
das ist wohl auch der Grund, warum das duale If langsamer ist als If..Else. Weil da immer beide Zweige berechnet werden müssen.
Gruß- Micha
PS: welches Licht meinst Du denn?
AW: Sverweis oder Verschachtelung?
08.06.2005 13:51:50
ray
hi hanna,
mal ein kleiner tip zum prgrammieren und zum reduzieren von bedingungen.
Das Buch "Entscheidungstabellen" Autor fällt mir grad nicht ein, ist sehr hilfreich, um Programiergrundlagen zu verstehen. Ist ein Buch wie man Probleme struktuiert. Kein Buch als Programmierhilfe.
Gruß Ray
AW: Sverweis oder Verschachtelung?
08.06.2005 13:55:35
Hanna
Hallo Ray,
mal sehen ob ich das in der Bibliothek finde. Wär ne Überlegung wert mal reinzuschauen...
Grüßle Hanna
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige