8
votes

Commandez une colonne basée sur une autre colonne

Je veux commander une colonne A en fonction des valeurs de colonne b.

dans les fiches Google qui est simplement: = Trier (A1: A100, B1: B100, True)

Comment faire cela dans Excel ?


0 commentaires

4 Réponses :


7
votes

Pour le faire manuellement, vous pouvez mettre en évidence toutes les colonnes que vous souhaitez trier, puis cliquez sur "Trier personnalisé ..." sous "Trier et filtre" dans l'onglet "Accueil". Ceci apporte une boîte de dialogue où vous pouvez le dire quelle colonne à trier, ajoutez plusieurs niveaux de tri, etc.

Si vous savez faire quelque chose manuellement dans Excel et veulent savoir comment procéder de manière programmatique à l'aide de VBA, vous Peut simplement enregistrer une macro de vous-même le faire manuellement, puis examinez le code source qu'il génère. J'ai fait cela pour trier les colonnes A et B basées sur la colonne B et tiré du code correspondant de ce qui a été généré: xxx

Notez que le code généré automatiquement a presque toujours un blagot inutile . Mais, c'est une bonne façon de déterminer quelles fonctions vous devriez avoir besoin d'utiliser ou de rechercher davantage. Dans ce cas, vous pourriez la couper à quelque chose comme ceci: xxx

Si vous souhaitez uniquement réorganiser le contenu de la colonne A sans toucher la colonne B (même si vous êtes Utilisez-le comme clé de tri), vous devez probablement effectuer une copie temporaire, trier et copier uniquement la colonne A. En effet, la fonction de tri d'EXCEL nécessite que la touche de tri soit triée dans la plage. Donc, cela pourrait ressembler à ceci: xxx


3 commentaires

+1 Mais .. Y a-t-il un moyen de le faire avec des formules? (sans vba)


@Belisarius j'ai couru sur Ce en regardant autour de vous, bien que ce ne soit probablement pas aussi gentil une solution que vous recherchez. Vous pouvez extraire les éléments à partir d'une autre plage en modifiant la première "liste" à une plage nommée différente contenant le même nombre d'éléments que "liste", c'est-à-dire = index (rangetosort, match (... (laissant le reste de la même manière). Ensuite, la plage de «liste» agirait comme la clé de tri. Je pense que cette solution pourrait avoir des problèmes s'il ya des éléments dupliqués dans la plage utilisée comme clé de tri ...


Ouais. Les articles en double gâcheront cette approche



0
votes

Merci @brunosan: D

Enfin j'ai eu la réponse parce que la question @brunosan après plusieurs jours, je n'ai pas trouvé de réponse dans une feuille de calcul Excel sur mon problème. Basé sur la question @brunosan, j'ai essayé les formules de tri et j'essaye soudainement d'autres options "tri" sur Google Spreadsheet.

C'est donc mon problème que j'avais résolu:

J'ai des valeurs dans la colonne A, mais les valeurs de la colonne A doivent être mises à jour. Les données mises à jour que j'ai placées dans la colonne B, donc j'ai conservé les données d'origine dans la colonne A pour la comparaison ultérieure. avec image

avant

Mais le problème est que les données mises à jour de la colonne B (basée sur la colonne A de données) n'ont plus structuré avec la colonne A. Vous pouvez voir dans l'image ci-dessus. Plusieurs données ont été supprimées ou perdues, alors j'ai une ligne vide.

La question est que je souhaite remplacer les données mises à jour les mêmes structurées à la colonne A. Qui est que les données n'existent pas de congé. J'ai donc essayé dans une feuille de Google avec une colonne sélectionnée et avec une plage de tri, puis choisissez Trier par colonne A. et Voila, le résultat que je voulais. : D voir dans l'image ci-dessous.

après

Vous pouvez imaginer que j'ai une centaine de données jusqu'à un million de données, tellement gaspillés du temps si je vérifie une à une à une caisse jusqu'à la goutte: d.

NB: Je suis désolé pour les données floues: D


0 commentaires

3
votes

Ceci est la méthode manuelle d'une forme animée:

 Entrez la description de l'image ici


0 commentaires

0
votes

Utilisez la fonction = selleby (); Son format est

= sortde (tableau, by_array1, [Sort_order1], by_array2, [Sort_order2] ...),

mais c'est le plus simple, c'est

= sortde (tableau, by_array1, [Sort_order1]),

Quel est le basique. Cela fonctionne comme vous l'attendez. De plus amples matrices doivent trier à l'intérieur de par_array (N-1) en utilisant BY_ARRAY (N).


0 commentaires