Anzeige
Archiv - Navigation
1352to1356
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
Formel Wenn-Istnv-Sverweis-getFormatedDate
27.03.2014 14:49:25
Daniel
Hallo Zusammen,
Ich habe ein Problem mit diese Formel (steht in Spalten von „E3:K5“ und wiederholt sich nach alle 40 Zeilen bis 2987):
"=WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&1;'1R'!$A$2:$C$510;3;0));"";SVERWEIS(getFormattedDate(E7)&"-"&1;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&3;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&3;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&4;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&4;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&5;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&5;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&6;'1R'!$A$2:$C$510;3;0));"";SVERWEIS(getFormattedDate(E7)&"-"&6;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&7;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&7;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&8;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&8;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&9;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&9;'1R'!$A$2:$C$510;3;0))&WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&10;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&10;'1R'!$A$2:$C$510;3;0))"
„Berechnung wird ausgeführt(4 Prozessoren):…%... und das dauert auf meinen PC zwischen 5 und 40 Minuten, viel zu lang, Excel hängt sich teilweise auf. Am PC kann es sicher nicht liegen (Quad Core 2,4GHz, 6GB RAM, 64 Bit Betriebssystem).
Zur Formel Erklärung: diese Formel wird für 3 verschieden Tabellen (Tabellen 1R, 1E und 1F) benutzt um die Informationen danach in einem Tabellen Blatt „2014 Landscape“ zu angezeigt. Je mehr Informationen in Tabellen „1R, 1E und 1F“ rein kommen desto wird Excel langsamer und langsamer.
Die Formel steht über einen Wochen Kalender und zieht sich durch bis zum Zeilen 2987 .
Ist die Formel sehr kompliziert? Wäre eine Formel via Macro einfacher? Wenn ja wie konnte das via VBA gelöst werden? Diese Formel soll nicht ständig die Tausenden von Zeilen abfragen, mir würde reichen wen sie von Zeit zurzeit die Tabellen abfragt.
Hatte auf jeden Fall die Option beim öffnen der Mappe „Application.Calculation = xlManual“ mit und ohne ausprobiert. Hat eigentlich gar nicht geholfen.
Derzeitige Tabelle hat Größe von 1.196KB.
Hier die Beispiels Mappe
https://www.herber.de/bbs/user/89887.xlsm
Wegen der Tabellen Größe müsste ich sehr viele Zeilen in Tabellen Blatt „2014 Landscape“ löschen. Daher in hochgeladene Mappe sind nur die ersten 5 Wochen des Jahres zu sehen und diese Mappe aufzumachen und zu speichern passiert im Nu.
Bei der originale Größe benötigt Excel 2013 im Schnitt gute 40 Minuten.
Für jede Hilfe und Anweisungen bin ich Euch allen in Voraus sehr Dankbar.
LG
Daniel

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formel Wenn-Istnv-Sverweis-getFormatedDate
27.03.2014 16:05:10
Rudi
hallo,
kann deine Datei nicht runterladen. Projektschutz drauf?
Was macht getFormattedDate?
Die Funktion wird ja in einer Zelle schon 20x aufgerufen.
Anstatt mit
WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&1;'1R'!$A$2:$C$510;3;0));"";SVERWEIS(getFormattedDate(E7)&"-"&1;'1R'!$A$2:$C$510;3;0))
kannst du bei deiner Version mit
WENNFEHLER(SVERWEIS(getFormattedDate(E7)&"-"&1;'1R'!$A$2:$C$510;3;0);"")
arbeiten. Das reduziert die Aufrufe auf die Hälfte.
Gruß
Rudi

...sie formatiert einen Datumswert, ...
27.03.2014 19:33:48
Luc:-?
…Rudi;
warum sie dann allerdings Get… heißt, ist mir schleierhaft! Da hätte ich eher erwartet, dass sie ein bereits formatiertes Datum (bzw Wert allgemein) ausliest, also so etwas wie …
Public Function getFormattedDate(dDate As Range) As String
getFormattedDate = dDate.Text
End Function
…nicht aber das, was tatsächlich in der Mappe steht …
Public Function getFormattedDate(dDate As Date) As String
getFormattedDate = Format(dDate, "DD.MM.YYYY")
End Function
Gruß Luc :-?
Besser informiert mit …

Anzeige
da frag ich mich, ...
27.03.2014 21:34:15
Rudi
Hallo,
... wozu überhaupt eine UDF.
Text(E7;"TT.MM.JJJJ") tut's doch auch.
Gruß
Rudi

AW: da frag ich mich, ...
27.03.2014 21:54:13
Daniel
... ja ich bin leider kein Profi wie Ihr. Das habe ich mir alles mehr oder weniger durch die Forums Hilfe gebastelt.
Für jeder Aus oder Ver-Besserung habe ich offenes Ohr.
Trotz allem Dank für Euer Rückmeldung
Daniel

AW: Formel Wenn-Istnv-Sverweis-getFormatedDate
27.03.2014 21:51:05
Daniel
Hallo Rudi und Luc,
viele Dank für Euern Feedback.
Rudis Formel probierte ich aus und sie kann nur eine Eintragung zur „2014 Landscape“ holen. Ich wollte nicht zu viele Details posten aber gerne gebe ich noch ein paar weiteren Infos zur Formel.
Dieser Teil der Formel
„WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0))&“
wiederholt sich 10 Male. Im schlimmsten Fall diese Formel könnte ich dann auf 5 Male auch reduzieren. Der Grund der Wiederholung ist der dass ich in Tabellenblätter 1R, 2E und 3F mehr als 5 Eintragungen pro gleichen Datum/Tag haben kann. Theoretisch würde mir dann auch 5 verschiedene Einträge auch reichen.
Tabellenblätter 1R(Reservierung Tabelle), 2E(Event Tabelle) und 3F( Fair oder Messen Tabelle).
In Tabelle „2014 Landscape“ ist ein vertikale Kalender Wochenweise aufgebaut worden.
Als Beispiel nehmen wir zweite Woche und die Zeilen „E45:K45“ da werden die Einträge aus Tabelle 3F(Fair/Messen Tabelle) geholt, „E46:K6“ da werden die Einträge aus 2E(Event Tabelle) und „E47:K47“ da werden die Einträge aus 1R(Reservierung Tabelle) abgelesen bzw. zur zuständige Zeile ausgegeben werden. Aus der Erfahrung können an gleichen Tag über 5 verschiedene Ereignisse stattfinden.
Um mehrere Ereignisse anzeigen zu können widerholt sich die Formel mehrmals.
„WENN(ISTNV(SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0));"";ZEICHEN(10)&SVERWEIS(getFormattedDate(E7)&"-"&2;'1R'!$A$2:$C$510;3;0))&“
Wegen mehrere Ereignisse benutzte ich den Makro zur Datum Format und diese dann ins Kommentar zu anzeigen was mir ein besseren Überblick verschafft.

Public Function TakeComment(rngQuelle As Range, Optional rngZiel As Range)
If rngZiel Is Nothing Then
Set rngZiel = Application.Caller
End If
With rngZiel
If Not .Comment Is Nothing Then
.Comment.Delete
End If
If rngQuelle.Value  "" Then
.AddComment rngQuelle(1, 1).Text
.Comment.Visible = False
TakeComment = "formel"
Else
TakeComment = "leer"
End If
End With
Call Comments_AutoSize
End Function
Sub FormatComment()
Dim com As Comment
For Each com In ActiveSheet.Comments
With com.Shape.TextFrame
.AutoSize = True
With .Characters.Font
.Name = "Arial"
.Bold = False
.Size = 10
End With
End With
Next com
End Sub
Public Function getFormattedDate(dDate As Date) As String
getFormattedDate = Format(dDate, "DD.MM.YYYY")
End Function
Sub KommentareLoeschen()
Dim cmtDieser As Comment
For Each cmtDieser In ActiveSheet.Comments
cmtDieser.Delete
Next
End Sub

Noch einmal die Mappe. Habe gleiche Mappe für Office 2003 gespeichert und die kann ich leider nicht hoch laden (Datei Größe 595KB).
https://www.herber.de/bbs/user/89901.xlsm
Rudi wo nehme ich Projektschutz weg in Excel 2013?
Ich hoffe das ich mich einigermaßen verständlich ausgedruckt habe.
Für jeder Hilfe bin ich Euch allen sehr Dankbar.
LG
Daniel

Anzeige
AW: Formel Wenn-Istnv-Sverweis-getFormatedDate
27.03.2014 22:53:45
Daniel
Hallo,
habe gerade festgestellt dass die Formeln aus Spalten "AE", "AF" und "AG" gelöscht sind.
Jetzt stehen da auch die Formel (für die Kommentare) die dann drunter angezeigt werden.
"=WENN(E5="";"";TakeComment(E5;E8))"
Vielleicht kann weiter geholfen um den komplizierten Formel zu verstehen.
Noch mal die Mappe mit Kommentar Formel:
https://www.herber.de/bbs/user/89902.xlsm
Gruß
Daniel

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige