Comment extraire le numéro uniquement de la chaîne de texte dans Excel?
Lorsque vous travaillez avec Excel, vous pouvez être confronté à des situations dans lesquelles vous devez extraire des nombres à partir de chaînes de texte. Que les nombres soient au début, à la fin ou intégrés au texte, Excel propose différentes méthodes pour y parvenir. Ce guide explorera différentes méthodes pour gérer différents scénarios, notamment l'extraction de nombres décimaux, de nombres à partir de positions spécifiques ou de nombres à partir du début ou de la fin d'une chaîne.
Extraire un numéro de n'importe quelle position de la chaîne de texte
Extraire uniquement le nombre décimal de la chaîne de texte
Extraire le numéro de la fin de la chaîne de texte
Extraire le numéro du début de la chaîne de texte
Extraire un numéro de n'importe quelle position de la chaîne de texte
Pour vous aider à extraire des nombres de n'importe quelle position dans une chaîne de texte, nous vous présenterons plusieurs méthodes pratiques et efficaces.
♦ Extraire un numéro de n'importe quelle position d'une chaîne de texte avec des formules
Les formules suivantes peuvent vous aider à extraire les nombres des chaînes de texte, procédez comme suit :
Sélectionnez une cellule vide dans laquelle vous souhaitez générer le nombre extrait, puis saisissez l'une des formules ci-dessous, puis faites glisser la formule vers d'autres cellules. Voir capture d'écran :
● Toutes les versions d'Excel :
=IF(SUM(LEN(A2)-LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, "")))>0, SUMPRODUCT(MID(0&A2, LARGE(INDEX(ISNUMBER(--MID(A2,ROW(INDIRECT("$1:$"&LEN(A2))),1))* ROW(INDIRECT("$1:$"&LEN(A2))),0), ROW(INDIRECT("$1:$"&LEN(A2))))+1,1) * 10^ROW(INDIRECT("$1:$"&LEN(A2)))/10),"")
● Excel 365 ou Excel 2021 et versions ultérieures :
=TEXTJOIN("", TRUE, IFERROR(MID(A2, SEQUENCE(LEN(A2)), 1) *1, ""))
♦ Extraire un numéro de n'importe quelle position d'une chaîne de texte avec des formules
Kutools for Excel offre un moyen rapide et convivial d'extraire des nombres à partir de chaînes de texte sans mémoriser aucune formule, ce qui vous permet de gagner du temps et de rationaliser votre flux de travail. Voici comment procéder.
- Cliquez sur Kutools > Texte > Extrait du texte, voir capture d'écran:
- Dans le Extrait du texte boîte de dialogue, effectuez les opérations suivantes:
(1.) Sélectionnez la liste de données dont vous souhaitez extraire les numéros ;
(2.) Choisissez Extraire le numéro l'option;
(3.) Vérifier Insérer comme formule option selon vos besoins;
(4.) Enfin, cliquez sur OK .
- Dans la boîte de dialogue suivante, sélectionnez une cellule pour générer le résultat extrait, voir capture d'écran :
- Cliquez sur OK, tous les nombres de chaque cellule sont extraits en même temps. Voir capture d'écran :
♦ Extraire un numéro de n'importe quelle position d'une chaîne de texte avec le code VBA
Voici un code VBA qui peut également vous rendre service, procédez comme suit:
- Maintenez la touche Alt + F11 clés pour ouvrir le Microsoft Visual Basic pour applications fenêtre.
- Cliquez sur insérer > Moduleet collez le code suivant dans le Module Fenêtre.
Code VBA: extraire le numéro uniquement de la chaîne de texte:Sub ExtrNumbersFromRange() Dim xRg As Range Dim xDRg As Range Dim xRRg As Range Dim nCellLength As Integer Dim xNumber As Integer Dim strNumber As String Dim xTitleId As String Dim xI As Integer xTitleId = "KutoolsforExcel" Set xDRg = Application.InputBox("Please select text strings:", xTitleId, "", Type:=8) If TypeName(xDRg) = "Nothing" Then Exit Sub Set xRRg = Application.InputBox("Please select output cell:", xTitleId, "", Type:=8) If TypeName(xRRg) = "Nothing" Then Exit Sub xI = 0 strNumber = "" For Each xRg In xDRg xI = xI + 1 nCellLength = Len(xRg) For xNumber = 1 To nCellLength If IsNumeric(Mid(xRg, xNumber, 1)) Then strNumber = strNumber & Mid(xRg, xNumber, 1) End If Next xNumber xRRg.Item(xI) = strNumber strNumber = "" Next xRg End Sub
- Et puis, appuyez sur F5 pour exécuter ce code, et une boîte de dialogue apparaît pour vous rappeler de sélectionner la plage de texte que vous souhaitez utiliser, voir capture d'écran:
- Puis clique OK, une autre boîte de dialogue suit, veuillez sélectionner une cellule pour afficher le résultat, voir capture d'écran:
- Enfin, cliquez OK bouton, et tous les nombres des cellules sélectionnées ont été extraits en même temps.
Extraire uniquement le nombre décimal de la chaîne de texte
Si les chaînes de texte qui incluent des nombres décimaux dans votre feuille de calcul, comment pouvez-vous extraire uniquement les nombres décimaux des chaînes de texte?
La formule ci-dessous peut vous aider à extraire les nombres décimaux des chaînes de texte rapidement et facilement.
Copiez et collez l'une des formules suivantes dans une cellule vide, puis remplissez la poignée jusqu'aux cellules que vous souhaitez contenir cette formule, tous les nombres décimaux sont extraits des chaînes de texte
● Toutes les versions d'Excel :
=LOOKUP(9.9E+307,--LEFT(MID(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0}, $A2&"1023456789")),999),ROW(INDIRECT("1:999"))))
● Excel 365 :
=REGEXEXTRACT(A2,"[\d.]+")
Extraire le numéro de la fin de la chaîne de texte
Lorsque vous travaillez avec des chaînes de texte dans Excel, vous devrez peut-être extraire les nombres situés à la fin de la chaîne. Pour isoler les nombres à la fin d'une chaîne, la formule suivante peut vous aider.
Copiez et collez la formule ci-dessous dans une cellule vide, appuyez sur Ctrl + Maj + Entrée pour obtenir le premier résultat:
=RIGHT(A2, LEN(A2) - MAX(IF(ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2))), 1) *1)=FALSE, ROW(INDIRECT("1:"&LEN(A2))), 0)))
Ensuite, faites glisser la poignée de remplissage vers le bas pour appliquer cette formule à d'autres cellules. Cette formule extrait les nombres exclusivement de la fin de la chaîne de texte, en ignorant les nombres qui apparaissent au début ou au milieu. Voir capture d'écran :
Extraire le numéro du début de la chaîne de texte
Pour extraire les nombres du début d'une chaîne de texte, veuillez utiliser la formule suivante.
Copiez et collez la formule ci-dessous dans une cellule vide, appuyez sur Ctrl + Maj + Entrée pour obtenir le premier résultat:
=LEFT(A2, MATCH(FALSE, ISNUMBER(MID(A2, ROW(INDIRECT("1:"&LEN(A2)+1)), 1) *1), 0) -1)
Ensuite, faites glisser la poignée de recopie vers le bas pour appliquer cette formule à d'autres cellules, seul le numéro de départ est extrait. Voir capture d'écran :
L'extraction de nombres à partir de chaînes de texte est une tâche courante dans Excel, et il existe plusieurs méthodes efficaces pour y parvenir, en fonction de vos besoins et de la complexité de vos données. Si vous souhaitez découvrir d'autres conseils et astuces Excel, notre site Web propose des milliers de tutoriels.
Articles relatifs:
Meilleurs outils de productivité bureautique
Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et facilite grandement votre travail
- Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!