Comment faire pour Trier les Colonnes Excel S. T. les Lignes w/ Null/Vide, les Cellules de la Colonne d'Aller Sur le Dessus?
J'ai plusieurs lignes de données et de "drapeaux" qui sont soulevées adjacentes à des données lorsqu'une macro est exécutée.
Par exemple:
Prénom | Nom De Famille | Drapeau
John | Smith | Needs a Bath
Cindy | LuWho |
Bob | Loblaw | Needs a Bath
Objectif:
Je veux les lignes w/o des drapeaux (c'est à dire où la colonne C == NULL/chaîne Vide), triées vers le haut, puis le tri par colonne B par A->Z pour obtenir ceci:
Cindy | LuWho |
Bob Loblaw | a Besoin d'un Bain
Jean | Smith |
Besoin d'une salle de Bain
Ce que j'ai Essayé:
À l'aide d'Excel 2007 Tri, j'ai fait de Trier Par (Colonne C), Trier (Valeurs) Trier Par (A à Z) et (Z à A). Deux de A à Z et de Z à Un résultat dans le pavillon des lignes sur le dessus, pas le fond.
Avant:
Après:
En fin de compte je veux le code, mais je suis en train d'essayer de comprendre comment le faire à la main, donc je peux obtenir le code par le biais d'Excel 'Enregistrer une Macro".
- Êtes-vous sûr? Je n'ai qu'Excel 2010, mais quand j'ai cette sorte de Z à A, les blancs sont sur le dessus. Quand j'ai trier de A à Z, de blancs dans le bas. Je serais surpris si ils ont changé la façon dont les
Sort
fonctionne de la fonctionnalité. - Je l'ai essayé sur 2007 et de tri de A à Z donne le résultat que vous attendez. Je ne suis pas sûr de ce que vous avez fait, mais vous l'avez fait mal 😀
- J'ai mis à jour avec des images de processus. Laissez-moi savoir si vous êtes en quelque sorte les choses à ce sujet différemment ou avoir une idée de ce que je fais de mal ici.
- Zemens et @Alexandre, vous êtes à la fois à l'aide de champs vides? La différence ici est que Kurt est à l'aide d'une formule dans la Colonne C. Si vous remplacez vos cellules vides avec
=""
, vous pouvez obtenir le comportement Kurt décrit. - hmm bonne prise. Le tri des formules est toujours un peu problématique. Une aide de la colonne est probablement la meilleure façon de le faire, comme vous le suggérez.
- En fait, je suis un peu en espérant que quelqu'un poste quelque chose de plus simple. Ma réponse œuvres, mais il se sent comme trop.
Vous devez vous connecter pour publier un commentaire.
Par mon commentaire ci-dessus, le problème c'est que vous êtes en utilisant une formule qui renvoie une chaîne vide. Si le champ était effectivement vide, vous auriez le comportement que vous recherchez.
Voici un sale-mais-il-travaux approche:
=IF(C2<>"",2,1)
et de remplissage vers le bas.""
. Techniquement, vous pourriez écrire une macro pour le faire pour vous, mais vous devrez alors l'enregistrer en tant que .xlsm, il y aura des avertissements de macro, etc. Je recommande juste de faire l'approche ci-dessus. Je l'ai utilisé moi-même.J'ai fini à venir avec une solution qui OMI, est plus élégante que @Poweruser 's la création d'une autre colonne, le peuplant, en le cachant, et ensuite à l'aide d'un tri sur la colonne masquée. Ma méthode utilise la couleur de la police des modifications basées sur la mise en forme conditionnelle et sortes sur.
=IF(INDIRECT("RC",0)="",TRUE,FALSE)
Avec un peu de bricolage, de la macro enregistrée, j'ai obtenu le travail suivants du code (qui trie également par la valeur d'une autre colonne après le tri pour le 'vide' cellules):
L'une des solutions est de remplacer les espaces par des guillemets simples (
'
) avant de les trier. Il n'est pas visible mais il n'est pasNULL
. Voir l'exemple de code: