Quelle est la meilleure façon de filtrer un grand liste dans Excel?
J'ai un tableau dans Excel que je veux filtre. Il disposera d'un maximum de 1 million de lignes et 80 colonnes. Tous les calculs etc sont fait par programmation dans les tableaux de coupe dwn temps de traitement. Cependant, je tiens également à filtrer les résultats pour n'afficher que certains des résultats basés sur une valeur de la colonne, suivie par un top 5% en fonction d'une autre valeur de filtre.
Quand j'ai fait la fiche, il a été limité à 65000 résultats donc il n'y avait pas de problèmes avec la taille de l'ensemble de données. Je viens de invoqué la feuille de calcul les fonctions de filtrage de code et l'a fait ainsi. Puis-je le faire de cette façon avec un plus grand ensemble de données ou est-il un moyen de filtrer un tableau de la façon dont vous d un ensemble de données sur une feuille?
Grâce
Excel à partir de 2007, en effet, permettre > 1 million de lignes; de 1 048 576 octets pour être précis. Cependant l'utiliser pour filtrer les jeux de données de cette taille n'est pas, à mon humble avis, une grande idée, sauf si vous avez un ridiculement génial PC. Une fois que vous obtenez en plus de quelques milliers d'enregistrements (règle de base) je pense qu'il est temps de passer aux enregistrements dans un SQL de la base de données (telles que SQL Server ou My SQL) et d'exécuter les requêtes. La manipulation de très gros volumes de données est ce qu'ils vivent pour. Excel... moins. Vous pouvez le faire, mais l'expérience peut ne pas être agréable.
Quel code que vous avez à jour? Êtes-vous limité à 65536 plages de cellules parce que vous êtes à l'aide de l'aime de "Transposer"
Il y a une fonction de chaîne
Filter
que vous pouvez utiliser avec Transpose
de travailler sur une colonne (voir stackoverflow.com/questions/12921350/...), mais cela ne peut pas gérer un filtre tel que le dessus de 5%. Vous devez simplement essayer d'utiliser votre approche actuelle,si elle prend trop de temps (je serais surpris), puis regarder à l'extérieur ExcelExcel 2007, 2^20 lignes. Peu plus facile à retenir. Avec 1 million de lignes je suggère fortement de regarder une autre solution: la base de données. Vous pouvez utiliser l'Accès et le natif de base de données Jet 4.0 qui sera ensuite faire le sale boulot pour vous. Tout ce que vous devez faire via ADODB est de se tirer dans les données traitées dans Excel.
OriginalL'auteur Marc L | 2012-12-28
Vous devez vous connecter pour publier un commentaire.
Vous devriez vraiment mettre les données dans une table Access et l'utilisation Excel de Requête de Base de données pour faire le travail. Puisqu'il peut également filtrer les données récupérées basée sur la valeur d'une cellule, c'est une grande combinaison.
Stocker les données dans une base de données vous apporte une autre option intéressante (en fonction de ce que vous voulez faire): pour interroger votre base de données à l'aide de PowerPivot.
J'ai tendance à penser que lorsque des "clients" (ou le patron) demander quelque chose qui n'est évidemment pas la bonne approche, si vous venez avec un son clair et doux explication de pourquoi ils vont frapper un mur, ils ne l'écouter...
Ouais, ut voici la pour y inclure un moyen pour eux de modifier/ajouter leurs propres fonctionnalités. Depuis qu'il est ignorant de l'Accès/SQL tout doit être dans Excel. Oui, certaines personnes vont entraver d'eux-mêmes pour maintenir un sentiment de contrôle.
OriginalL'auteur Patrick Honorez
Comme déjà mentionné par tout le monde, excel 2007, vous amène à un million de lignes, mais son plus lent que le excel 2003 que je présume que vous utilisez en ce moment afin de filtrage à l'aide, il ne serait pas souhaitable.
Avec mysql, ms access est également une option.
OriginalL'auteur MarioTheHedgehog
Bien que l'utilisation d'un relationnel serait préférable, dans de nombreuses façons, si vous n'avez pas de formules puis filtrage de vos données (1 million de lignes de 80 colonnes) à l'aide d'Excel sera assez rapide (< 1 ou 2 secondes en fonction de ce genre de filtrage que vous voulez faire, qui sera probablement plus rapide que les non-indexé de la table DB) en supposant que vous avez suffisamment de RAM.
Si vous avez des formules, alors vous aurez probablement besoin d'être en mode de calcul Manuel pour éviter le processus de filtrage de déclenchement multiples recalculs.
OriginalL'auteur Charles Williams