Was ist der beste Weg, um filter und einer großen Liste in Excel?
Ich habe eine Excel-Tabelle, die ich filtern möchten. Es wird maximal 1 million Zeilen und 80 Spalten. Alle Berechnungen etc fertig sind programmgesteuert in arrays zu schneiden dwn Bearbeitungszeit. Allerdings möchte ich auch die Ergebnisse filtern, um nur bestimmte Ergebnisse, basierend auf einer Spalte mit dem Wert, gefolgt von einem top-5 - % bezogen auf die anderen filter-Wert.
Als ich erstmals das Blatt, es war beschränkt auf 65000 Ergebnisse, so gab es keine Probleme mit der Größe des Datensatzes. Ich habe gerade aufgerufen das Arbeitsblatt filter-Funktionen von code und es auch so gemacht hat. Kann ich es genau so machen, mit einem größeren Datensatz oder gibt es eine Möglichkeit zum filtern von einem array-die Art und Weise Sie d ein dataset auf einem Blatt?
Dank
Excel ab 2007 tatsächlich zulassen > 1 million Zeilen; Sie 1.048.576, um genau zu sein. Allerdings verwenden Sie zum filtern von Daten-sets, die Größe ist nicht, IMHO, eine tolle Idee, es sei denn, Sie haben eine Super lächerlich PC. Sobald man in mehr als ein paar tausend Datensätze (Faustregel) ich denke, es ist Zeit zu bewegen, die Datensätze in eine SQL-basierte Datenbank (z.B. SQL Server oder My SQL) und die Abfragen ausführen. Umgang mit sehr großen Datenmengen ist das, was Sie Leben. Excel... weniger so. Sie können es tun, aber die Erfahrung kann nicht angenehm sein.
Welchen code hast du auf dem Laufenden? Sind Sie auf 65536 beschränkt Zellbereiche, weil Sie die mag 'Transponieren'
Es ist eine string-Funktion
Filter
dass Sie mit Transpose
arbeiten auf eine Spalte (siehe stackoverflow.com/questions/12921350/...), aber dies wird nicht mit einem filter wie etwa die top 5%. Man sollte einfach versuchen, mit Ihrem aktuellen Ansatz,wenn es zu lange dauert (ich würde überrascht sein), dann suchen Sie außerhalb von ExcelExcel ab 2007 2^20 Zeilen. Etwas einfacher zu merken. Mit 1 Millionen Zeilen würde ich dringend vorschlagen, auf der Suche an einer anderen Lösung: Datenbank-basiert. Sie können Zugang und der systemeigenen Jet 4.0-Datenbank, die es dann tun das Bein Arbeit für Sie. Alles, was Sie tun müssen, um über ADODB ziehen, in der die verarbeiteten Daten in Excel.
InformationsquelleAutor Marc L | 2012-12-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie wirklich stellen, dass die Daten in eine Access-Tabelle, und verwenden Sie Excel-Datenbank-Abfrage um die Arbeit zu tun. Da kann es auch filter abgerufen, Daten basierend auf eine Zelle mit dem Wert, es ist eine gute Kombination.
Speicherung der Daten in einer Datenbank holt Euch eine interessante option (je nachdem, was Sie tun möchten): zum Abfragen Ihrer Datenbank mit PowerPivot.
Ich Neige dazu zu denken, dass, wenn "Kunden" (oder Chef) Fragen, für etwas, das ist offensichtlich nicht der richtige Ansatz, wenn Sie kommen mit einer klaren und sanften die Erklärung, warum Sie gegen eine Wand, Sie hören...
Ja, ut hier zu gehören eine Möglichkeit für Sie zu Bearbeiten/hinzufügen eigener Funktionalität. Da er Ahnung von Access/SQL alles in Excel. Ja, einige Leute humpeln, sich selbst zu pflegen ein Gefühl von Kontrolle.
InformationsquelleAutor Patrick Honorez
Wie bereits erwähnt jeder, excel 2007 werden Sie zu einer million Zeilen, aber langsamer ist als der excel 2003, ich nehme an, du verwendest im moment damit abfiltrieren mit, es würde nicht ratsam sein.
Zusammen mit mysql, ms access ist auch eine option.
InformationsquelleAutor MarioTheHedgehog
Obwohl die Verwendung einer relationalen DB wäre vorzuziehen, in vielerlei Hinsicht, wenn Sie haben noch keine Formeln, dann filtern Sie Ihre Daten (1 million Zeilen und 80 Spalten) mit Excel ziemlich schnell (< 1 oder 2 Sekunden, je nachdem, welche Art der Filterung, die Sie wollen, zu tun, die wird wohl schneller sein als ein nicht-indizierten DB-Tabelle) vorausgesetzt, dass Sie genug RAM haben.
Wenn Sie irgendwelche Formeln, dann werden Sie wahrscheinlich benötigen, um in den Manuellen Berechnungs-Modus zu vermeiden, die Filterung auslösen mehrere Neuberechnungen.
InformationsquelleAutor Charles Williams