Dans Excel, est-il possible de trier les caractères alphanumériques de a-1, a-2, a-3 ... a-123 au lieu de a-1, a-10, a-100, a-11?
Trier par le plus ancien au plus récent ou via AZ, ne me donnera certainement pas le résultat que je veux. J'ai essayé de formater les cellules en nombre, mais cela n'a pas aidé.
Je suis coincé.
microsoft-excel
sorting
beccabecca
la source
la source
Réponses:
L'utilisateur @ fixer1234 a raison, vous voulez probablement utiliser des fonctions de chaîne. Voici une façon de procéder.
Étape 1
[Mise à jour]
Dans la colonne "Numéros", mettez en surbrillance la plage, puis fractionnez le texte au trait d'union: faites ...
Data
>Text to Columns
>Delimited
>Next
>Other: -
>Finish
Notez que vous avez besoin d'un trait d'union ( - ) dans la
Other:
zone de texte. Et assurez-vous que la colonne adjacente (à droite) est vide avant de le faire, afin de ne pas écraser les données importantes.Vous pouvez également utiliser cette fonction pour extraire le nombre de la colonne A:
Étape 2
Maintenant, ce que nous allons faire à l'étape suivante, comme vous pouvez le voir sur la capture d'écran ci-dessus, est d'ajouter des zéros au début de chacun des nombres qui ont moins de chiffres que le plus grand nombre. Cela vous permettra de trier ces numéros comme vous le souhaitez.
Mais d'abord, nous devons faire un peu d'enquête. Si vous pouvez facilement dire quel est le plus grand nombre, alors comptez simplement les chiffres de ce plus grand nombre - ce sera le nombre de zéros que vous souhaitez utiliser dans notre prochaine fonction. Il existe une autre façon de déterminer le nombre le plus long, sans avoir à compter manuellement les chiffres du plus grand nombre.
[MISE À JOUR] Vous pouvez utiliser la fonction suivante (mais jusqu'à présent, nous ne savons pas très bien pourquoi ) pour déterminer le nombre le plus long:
Alternativement, vous pouvez simplement taper la formule suivante dans une cellule (vous voyez cela dans l'image ci-dessus comme la cellule en surbrillance orange), mais au lieu d'appuyer simplement sur votre
ENTER
touche pour définir la cellule, appuyez sur le raccourci clavierCTRL-SHIFT-ENTER
. Cela changera la nature de la fonction, la transformant en une formule matricielle , sans avoir à jouer avec des fonctions telles queINDEX()
.(Assurez-vous que la plage est exacte pour la feuille de calcul spécifique que vous utilisez.)
Après avoir frappé
CTRL-SHIFT-ENTER
, le contenu de la cellule changera en ceci, mais en tapant ceci manuellement ne fera rien:Cependant, vous voulez le faire, c'est bien. Déterminez simplement combien de chiffres constituent le plus grand nombre de votre liste: «1» a bien sûr 1 chiffre, «10» a 2 chiffres, «100» a 3 chiffres, et ainsi de suite.
Étape 3
Enfin, dans la colonne "Développer", cette fonction convertira les nombres de la colonne "Numéros" en texte avec le nombre de zéros précédents que vous avez déterminé que vous devriez utiliser à l'étape 2.
Assurez-vous que vous mettez des guillemets autour des zéros.
Si le plus grand nombre a 8 chiffres, votre fonction ressemblera à ceci:
la source
Une solution simple consiste à utiliser des fonctions de chaîne pour placer les valeurs numériques dans une nouvelle colonne sous forme de nombre. Triez ensuite sur cette colonne. Vous n'avez pas spécifié comment les valeurs peuvent varier ou comment elles sont organisées, mais un exemple:
Supposons que le préfixe "a-" ne change jamais, les entrées sont dans le col A à partir de la ligne 2 et le col B est disponible. En B2, vous mettriez quelque chose comme: = valeur (mid (a2,3, len (a2) -2)), puis copiez la formule selon vos besoins. Pour trier, mettez en surbrillance les deux colonnes et triez sur B.
S'il peut y avoir d'autres préfixes, disons b-, c-, etc., divisez de la même manière la partie texte en une autre colonne. Triez ensuite la colonne de texte comme première colonne de tri et la colonne numérique comme seconde.
Tout ce que vous mettez en surbrillance sera trié selon les colonnes de tri.
Pour expliquer les fonctions de chaîne, commencez par la fonction mid, qui extrait une chaîne de caractères d'une chaîne de caractères. mid (a2,3, len (a2) -2) examine le texte de a2, commence par le troisième caractère (le premier chiffre en supposant que tous les préfixes sont "a-"), puis prend le nombre de caractères qui est deux de moins que le nombre dans le texte d'origine (la longueur du texte d'origine moins les caractères "a-"). La fonction de valeur transforme ensuite ce résultat en un nombre au lieu d'une chaîne de caractères numériques.
la source
J'ai les données suivantes:
Je souhaite que les étudiants et les notes soient classés en fonction de leurs numéros d'inscription, qui sont des chaînes alphanumériques. La sortie finale devrait ressembler à ceci:
Comment:
Bien que l'instantané ci-dessus soit évident, les étapes sont les suivantes:
Extrayez la partie alphabétique dans une colonne en utilisant
=LEFT(B4, 2)
comme formule, où '2' indique le nombre d'alphabets dans la chaîne et mes chaînes commencentB4
.Attribuez un numéro à cette partie alphabétique à l'aide de
=COLUMN(INDIRECT(E4&1))
Extrayez la partie numérique du numéro d'enregistrement en utilisant
=RIGHT(B4,2)
comme formule. Ici, «2» est le non. de nombres dans la chaîne.Concaténer les deux parties en 2 et 3
Convertissez-les en nombres «purs» en utilisant
=VALUE(H4)
Copiez la dernière colonne dans le tableau d'origine et utilisez l'option Coller comme 'Valeurs'
Maintenant, triez selon la dernière colonne et choisissez «Agrandir la sélection»
Terminé!!!
Important: Pro-Tip -> Combinez les étapes de 1 à 5 en utilisant
=VALUE(CONCATENATE(COLUMN(INDIRECT(LEFT(B4,2)&1)),RIGHT(B4,2)))
la source