Hallo, ich habe mal wieder ein Problem in Excel:
Ich habe ein ca 1000x1000 großes Feld mit IF-ELSE Bedingung in jeder
Zelle.
Das Problem ist, dass die Dateigröße dadurch schnell durch die Decke
schießt und das Programm langsam wird.
Daher möchte ich euch Fragen, ob ihr eine Alternative habt?
Würde es Abhilfe schaffen, wenn ich die Abfrage in VBA schreibe?
Es geht konkret im Folgendes:
in jeder Zelle des 1000x1000 Feldes befindet sich ein Wert.
Wenn dieser Wert > X , dann schreibe eine 1 in die Zelle,
wenn Zellwert < X, dann lasse die Zelle leer.
Und das muss für jede Zelle gemacht werden.
Beste Grüße,
Siebert
siebert schrieb:> Würde es Abhilfe schaffen, wenn ich die Abfrage in VBA schreibe?
Kannst Du denn VBA?
Wenn ja, würde das Schreiben einer so "einfachen" Funktion weniger lange
dauern als so einen Beitrag hier posten. Dann würde man relativ schnell
merken ob das schneller läuft - die Chance besteht durchaus.
Wir können Dir das jedenfalls nicht ohne Zugriff auf die Originaldaten
beantworten.
Wenn du so programmierst, wie du beschreibst, lass das Programmieren
lieber sein.
siebert schrieb:> in jeder Zelle des 1000x1000 Feldes befindet sich ein Wert.> Wenn dieser Wert > X , dann schreibe eine 1 in die Zelle,> wenn Zellwert < X, dann lasse die Zelle leer.
Wenn schon ein Wert in der Zelle steht, wie soll dann noch "eine 1" in
die Zelle geschrieben werden können? Eine Zelle kann nur einen Wert
enthalten.
Natürlich in eine weiter nach unten verschobene tabelle.
Nämlich so:
nehmen wir an ich habe in A1:B2 werte stehen, die mit x verglichen
werden sollen
dann schreibe ich in A5:B6
Wenn(A1>X;1;"")
also A1 > X, dann schreibe eine 1 in A5, sonst lasse A5 leer
das selbe dann für B5, A6 und B6.
und das eben in einer "Tabelle" mit 1000 Zeilen und Spalten.
Fäzes, der Heilige Stuhl schrieb:> Wenn du so programmierst, wie du beschreibst, lass das Programmieren> lieber sein.
Das hat nichts mit Programmierkünsten zu tun, ich bin nur eben kein
Excel Profi. Daher Frage ich ja hier nach alternativen. Wie ich das z.B.
in VBA einfach schreibe ist nicht die Frage, sondern ob es eine
effizientere Funktion gibt.
Wenn man dir helfen will, muss man verstehen, was du willst. OK, jetzt
ist es verständlich. Mein Excel ist auch in die Knie gegangen ;) VBA ist
der Ausweg.
siebert schrieb:> Das Problem ist, dass die Dateigröße dadurch schnell durch die Decke> schießt und das Programm langsam wird.>> Daher möchte ich euch Fragen, ob ihr eine Alternative habt?
Da Excel nicht gut zur Bearbeitung größerer Datenmengen geeignet ist,
würde ich als Alternative Python/Numpy, Octave, Scilab, R, Matlab oder
irgendetwas in dieser Richtung vorschlagen.
Mit Numpy sähe das in etwa wie folgt aus:
Die Matrix daten0 enthalte die 1000 × 1000 Zahlenwerte, bspw.
generiert mit
siebert schrieb:> Hallo, ich habe mal wieder ein Problem in Excel:>> Ich habe ein ca 1000x1000 großes Feld mit IF-ELSE Bedingung in jeder> Zelle.
Welchen Sinn hat es, Deine Frage zweimal zu stellen?
Beitrag "Excel langsam trotz gutem PC"
Wenn Du sie jetzt noch mal stellst, hast Du bestimmt insgesamt dreimal
so viele Antworten - nur keine Antwort, die auf Deine Frage möglichst
genau eingeht.
Und wer später mal ähnliche Symptome hat und auf µc.net nach Lösungen
sucht, freut sich bestimmt.