
Ich habe ein 2D-Datenarray, das ich auf Null zurücksetzen muss. Das heißt, ich muss von jeder Spalte in der Matrix einen Spaltenvektor abziehen, den ich berechnet habe.
Mathematisch ausgedrückt: Wenn wir einen „Identitätsvektor“ definieren, bei dem jedes Element 1 ist, muss ich Folgendes tun:
Ich habe es geschafft, die Matrix von 500.000 Zeilen um einige hundert Spalten auf 160.000 Zeilen um weniger als hundert Spalten zu verkleinern, aber sie ist ziemlich groß und die Drag-and-Drop-Funktion scheint Excel zum Absturz zu bringen.
Antwort1
Eine einfache Subtraktion Zelle für Zelle mit dem Delta-Spaltenvektor "$"-gesperrt würde für Datensätze normaler Größe funktionieren, z. B.
=B2 - $I2
Ihr Problem scheint jedoch eher mit der Datengröße und dem Absturz von Excel während einer einfachen Subtraktionsberechnung zusammenzuhängen. Es könnte sein, dass die erforderliche Speichermenge einfach den verfügbaren Speicherplatz Ihres Computers übersteigt. Hier sind einige Vorschläge, die Sie ausprobieren könnten:
1. Berechnen Sie aus einem anderen Blatt / einer anderen Arbeitsmappe, mit Berechnungen im Handbuch
Was wäre, wenn Sie Ihre Nulltabelle in ein neues Blatt/Arbeitsbuch einfügen und die Berechnungen manuell vornehmen würden? Bereiten Sie die Formeln im neuen Blatt vor:
=Tabelle1!B2 - $I2
Kopieren und einfügen, dann auf „Berechnen“ drücken.
2. Versuchen Sie es mit einer Array-Formel, da Excel Massenberechnungen durchführen würde
Alternativ können Sie versuchen, die Array-Formel pro Spalte =(B2:B1000 - $I2:$I1000) und STRG+UMSCHALT+EINGABE zu verwenden, während Sie die gesamte Ausgabespalte L2:L1000 auswählen. Ich bin nicht sicher, ob das die Dinge wirklich beschleunigen würde, aber einen Versuch ist es wert.
3. Speichern Sie die Datei als Excel-Binärdatei (*.xlsb)
Das Speichern der Datei im Binärformat kann den Speicherbedarf oder zumindest die Verarbeitungslast beim Speichern der Datei oder der automatischen Sicherungen verringern. Siehe hierhttps://www.spreadsheet1.com/wie-speichert-man-eine-binäre-Excel-Arbeitsmappe.html
4. Versuchen Sie es mit einer Cloud-basierten oder alternativen Tabellenkalkulation
Versuchen Sie, die Daten in Office Online oder Google Sheets zu verarbeiten. Oder versuchen Sie, Open Office Calc zu installieren?
5. Verwenden Sie einen 64-Bit-Computer mit einer 64-Bit-Version von Excel
Sie können überprüfen, welche Art von Windows (32 oder 64 Bit) Sie verwenden, indem Sie die „Windows-Taste“ + „Pause / Unterbrechung“ drücken. Überprüfen Sie hier, welche Art von Windows Sie verwenden, von Office aushttps://www.howtogeek.com/288001/wie-findet-man-heraus-welche-version-von-microsoft-office-man-verwendet/
6. Setzen Sie die Tiefe des Undo-Stacks auf 0
Sie können das Rückgängigmachen vorübergehend deaktivieren, indem Sie die Tiefe des Rückgängig-Stapels auf 0 setzen:https://support.microsoft.com/en-us/help/211922/wie-man-die-anzahl-der-undo-ebenen-in-excel-ändert
7. Vertrauen Sie der Datei
Versuchen Sie auch, den Dateispeicherort im Trust Center als vertrauenswürdige Zone hinzuzufügen. Siehe hierhttps://support.microsoft.com/en-us/office/add-remove-or-change-a-trusted-location-7ee1cdc2-483e-4cbb-bcb3-4e7c67147fb4
8. Verwenden Sie kein Excel
Als letzten Ausweg verarbeiten Sie die Daten mit Matlab oder offenen Alternativen wie Octave oder SciLab.
/trauriges Gesicht/