Exemples de fonctions MID - Excel, VBA et Google Sheets

Télécharger un exemple de classeur

Téléchargez l'exemple de classeur

Ce tutoriel montre comment utiliser le Fonction Excel MID dans Excel pour extraire le texte d'une cellule.

Présentation de la fonction MID

La fonction MID Renvoie le texte du milieu d'une cellule, défini par un numéro de début et le nombre de caractères.

Pour utiliser la fonction de feuille de calcul Excel MID, sélectionnez une cellule et tapez :

(Remarquez comment les entrées de formule apparaissent)

Fonction MID Syntaxe et entrées :

= MID(texte,numéro_début,numéro_chars)

texte - Une chaîne de texte.

num_départ - Le numéro de caractère à partir duquel commencer votre sélection.

nombre_caractères - Le nombre de caractères après le start_num à retourner.

Comment utiliser la fonction MID dans Excel :

La fonction MID extrait un nombre spécifique de caractères que vous spécifiez de n'importe où.

=MIDI(B3,C3,D3)

Il peut commencer à partir de n'importe quel nombre vu dans la colonne C et n'importe quel nombre de caractères dans la colonne D.

MID pour saisir la chaîne entre différents délimiteurs

Si la chaîne que vous voulez se trouve entre deux délimiteurs différents, c'est assez simple. Par exemple, nous pourrions vouloir la chaîne entre le tiret ("-") et la barre oblique ("/").

=MID(B3,TROUVE("-",B3)+1,TROUVE("/",B3)-TROUVE("-",B3)-1)

Dans ce cas ici, nous pouvons utiliser FIND pour vérifier à quelle position de caractère le tiret commence et ajouter 1 pour commencer à extraire à partir de là.

Utilisez à nouveau FIND pour vérifier à quelle position de caractère commence la barre oblique et moins la position du tiret et 1 pour obtenir la longueur de la chaîne souhaitée.

Vous pouvez également utiliser RECHERCHE. La différence entre FIND et SEARCH est que le premier est sensible à la casse. Trouver un symbole tel que l'espace n'aurait pas d'importance.

=MID(B3,RECHERCHE("-",B3)+1,RECHERCHE("/",B3)-RECHERCHE("-",B3)-1)

MID pour saisir la chaîne entre le même délimiteur

Si la chaîne a le même délimiteur, c'est un peu plus dur que celui ci-dessus car FIND saisit la première occurrence. Par exemple, nous pourrions vouloir la chaîne entre le premier et le deuxième espace. Mais vous pouvez également indiquer une position de départ dans FIND.

=MID(B3,TROUVE(" ",B3)+1,TROUVE(" ",B3,TROUVE(" ",B3)+1)-TROUVE(" ",B3)-1)

Il utilise FIND comme dans l'exemple ci-dessus pour vérifier à quelle position de caractère l'espace commence et ajoute 1 pour commencer l'extraction à partir de là.

Utilisez à nouveau FIND pour vérifier à quelle position de caractère commence le deuxième espace en commençant à rechercher 1 caractère après la position du premier espace.

Et enfin moins la position du premier espace et 1 pour obtenir la longueur de la chaîne que nous voulons.

Vous pouvez également utiliser la RECHERCHE.

=MID(B3,RECHERCHE(" ",B3)+1,RECHERCHE(" ",B3,RECHERCHE(" ",B3)+1)-RECHERCHE(" ",B3)-1)

MID avec nombre/dates

Notez que MID est une fonction de texte. Lors de l'utilisation de MID, le résultat est un texte. Par exemple, vous ne pourrez pas additionner ces nombres dans la cellule E3 après avoir utilisé MID.

La même chose se produit pour les dates car elles sont reconnues comme des numéros de série et non comme du texte. Vous n'aurez peut-être pas besoin de faire la somme des dates, mais cela ne fonctionne pas bien dans les filtres et les tableaux croisés dynamiques.

Pour surmonter les problèmes ci-dessus, vous pouvez utiliser VALUE pour convertir du texte en valeurs.

=VALEUR(MID(B3,TROUVE(":",B3)+2,TROUVE(" ",B3,TROUVE(" ",B3)+1)-TROUVE(":",B3)-2))

MID à diviser par délimiteur commun

Vous voudrez peut-être diviser tous les mots dans différentes rangées. D'où:

=TRIM(MID(SUBSTITUTE(B$3," ",REPT(" ",LEN(B$3))),(LIGNES(B3:B$3)-1)*LEN(B$3)+1,LEN(B$3 )))

Il s'agit d'utiliser SUBSTITUTE pour remplacer tous les espaces par un afflux d'espaces répétés à l'aide de REPT. Il en résulte que le texte ressemble à ceci :
« Excel est vraiment génial »

L'afflux de répété est soigneusement répété avec une longueur totale du texte original en utilisant LEN. Cela signifie que le numéro de position à partir duquel commencer l'extraction est un multiple de la longueur totale. Pour le premier mot, extraire de la position 1. Pour le deuxième, ce sera la longueur totale + 1. Pour le troisième, la longueur totale x 2 + 1. Etc. Pour obtenir le nième mot, utilisez LIGNES.

Enfin, le nombre de caractères utilise toujours la longueur totale du texte original.

Trouver le Nième mot dans la chaîne

Nous pourrions combiner TRIM, LEN, SUBSTITUTE, REPT avec MID comme suit pour obtenir le dernier mot de la chaîne.

=TRIM(MID(SUBSTITUT(A$2," ",REPT(" ",LEN(A$2))), (B2-1)*LEN(A$2)+1, LEN(A$2)))

Ce qui nous donnerait les résultats suivants :

Inverser une chaîne de texte

Vous pouvez inverser une chaîne de texte en combinant la fonction MID avec TEXTJOINT comme suit.

=TEXTJOIN("",1,MID(A2,{10,9,8,7,6,5,4,3,2,1},1))

Ce qui nous donnerait les résultats suivants :

MID dans Google Sheets

La fonction MID fonctionne exactement de la même manière dans Google Sheets que dans Excel :

Notes complémentaires

Si num_chars est supérieur à la longueur restante du texte, la fonction MID renvoie tout le texte restant.

Exemples MID en VBA

Vous pouvez également utiliser la fonction MID dans VBA. Taper:
application.worksheetfunction.mid(text,start_num,num_chars)
Pour les arguments de la fonction (texte, etc.), vous pouvez soit les saisir directement dans la fonction, soit définir des variables à utiliser à la place.

Revenir à la liste de toutes les fonctions dans Excel

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave