Passer au contenu principal

Comment trouver la nième occurrence (position) d'un caractère dans une chaîne de texte dans Excel?

Par exemple, il y a une longue phrase dans la cellule A1, voir la capture d'écran suivante. Et maintenant, vous devez trouver la 3ème occurrence ou position du caractère «c» à partir de la chaîne de texte dans la cellule A1. Bien sûr, vous pouvez compter les caractères un par un et obtenir le résultat de la position exacte. Cependant, nous allons ici présenter quelques astuces simples pour trouver la nième occurrence ou la position d'un caractère spécifique à partir d'une chaîne de texte dans une cellule.


Rechercher la nième occurrence (position) d'un caractère dans une cellule avec la formule Rechercher

Il existe deux formules de recherche qui peuvent vous aider à trouver rapidement la nième occurrence ou la position d'un caractère spécifique à partir d'une chaîne de texte dans une cellule.

La formule suivante vous montrera comment trouver la troisième occurrence de «c» dans la cellule A3.

Trouver la Formule 1

Dans une cellule vide, entrez la formule = TROUVER ("c", A1, TROUVER ("c", A1) +2).

doc-trouver-nième-position-de-chaîne-texte2

Et puis appuyez sur le Entrer clé. La position de la troisième lettre «c» a été affichée.

Notes: Vous pouvez modifier le 2 dans la formule en fonction de vos besoins. Par exemple, si vous voulez trouver la quatrième position de "c", vous pouvez changer le 2 en 3. Et si vous voulez trouver la première position de "c", vous devez changer 2 en 0.

Trouver la formule 2

Dans une cellule vide, entrez la formule = TROUVER (CHAR (1), SUBSTITUT (A1, "c", CHAR (1), 3))et appuyez sur Entrer clé.

Notes: Le "3" dans la formule signifie le troisième "c", vous pouvez le modifier en fonction de vos besoins.


Compter le nombre de fois qu'un mot apparaît dans une cellule Excel

Si un mot apparaît plusieurs fois dans une cellule qui devait être compté, vous pouvez généralement les compter un par un. Mais si le mot apparaît des centaines de fois, le comptage manuel est gênant. le Compter les fois qu'un mot apparaît fonctionner dans Kutools for Excel's Aide à la formule groupe peut calculer rapidement le nombre d'apparitions d'un mot dans une cellule. Essai gratuit avec toutes les fonctionnalités dans 30 jours !
 
Kutools for Excel : avec plus de 300 compléments Excel pratiques, à essayer gratuitement et sans limitation dans 30 jours.

> Trouver la nième occurrence (position) d'un caractère dans une cellule avec VBA

En fait, vous pouvez appliquer la macro VB pour trouver facilement la nième occurrence ou la position d'un caractère spécifique dans une cellule.

Étape 1: maintenez la touche ALT + F11 clés, et il ouvre le Microsoft Visual Basic pour applications fenêtre.

Étape 2: cliquez sur insérer > Moduleet collez la macro suivante dans la fenêtre Module.

VBA: Trouvez la nième position d'un personnage.

Function FindN(sFindWhat As String, _
sInputString As String, N As Integer) As Integer
Dim J As Integer
Application.Volatile
FindN = 0
For J = 1 To N
FindN = InStr(FindN + 1, sInputString, sFindWhat)
If FindN = 0 Then Exit For
Next
End Function

Étape 3: Maintenant, si vous voulez trouver l'occurrence exacte de la position du troisième "c" dans la cellule A1, veuillez entrer la formule de = FindN ("c", A1,3)et appuyez sur Entrer clé. Ensuite, il retournera la position exacte dans la cellule spécifique à la fois.


Trouver la nième occurrence (position) d'un caractère dans une cellule avec Kutools for Excel

Si vous n'aimez ni la formule ni le VBA, vous pouvez essayer un outil pratique - Kutools for Excel, Avec son Laits en poudre groupes, vous pouvez trouver un utilitaire - Trouver la nième occurrence d'un caractère pour renvoyer rapidement la nième position d'un caractère dans une cellule.

Kutools for Excel, avec plus de 300 fonctions pratiques, rend vos travaux plus faciles. 

Après installation gratuite Kutools for Excel, procédez comme suit:

1. Sélectionnez une cellule dont vous souhaitez renvoyer le résultat et cliquez sur Kutools > Aide à la formule > Aide à la formule . Voir la capture d'écran:

2. Puis dans le popping Aide à la formule boîte de dialogue, procédez comme suit:

1) Sélectionnez Lookup dans la liste déroulante de Type de formule section;

2) Choisissez Trouvez où le caractère apparaît Nième dans une chaîne in Choisissez une formule section;

3) Sélectionnez la cellule contenant la chaîne que vous utilisez, puis saisissez le caractère spécifié et la nième occurrence dans les zones de texte du Entrée d'arguments .

3. Cliquez Ok. Et vous obtenez la position de la nième occurrence d'un caractère dans une chaîne.

 

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

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...

Description


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!

 

Comments (28)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Your formula to find the Nth occurrence of a character in a string does not work. Using your example, adding 2 to the results of the imbedded find ensures a starting position for the initial find of a position beyond the 1st two c's but changing the +2 to +3 does not yield the position of the 4th "c", it simply starts the search one character deeper into the string and the result is still the 3rd "c". To find the 4th "c" the search must begin beyond the position of the 3rd "c". I look forward to your new solution.
This comment was minimized by the moderator on the site
Hello, David

Yes, as you said, the first formula does not work correctly, you can apply the second formula:
=FIND(CHAR(1),SUBSTITUTE(A2,"c",CHAR(1),2))

Note: The number "2" in the formula means the second "c", if you want to get the third, fourth "c", just change the number 2 to 3,4 as you need.
Please try, hope it can help you!
This comment was minimized by the moderator on the site
Find formula1 is imperfect. It will be a great help if it is removed. I have lost lot of time trying for 4th occurance of "a" in "vedanarayanan" Thanks.
This comment was minimized by the moderator on the site
To handle the exception of the formula, you can use same with if and iserro
=IF(ISERR(FIND("c",A1,FIND("c",A1)+2)),FIND("c",A1,FIND("c",A1)+0),FIND("c",A1,FIND("c",A1)+2))
This comment was minimized by the moderator on the site
"Substitute" lets you find the Nth occurrence of a term, so combine it with "find" as follows (where 5=5th occurrence):

=FIND(CHAR(1),SUBSTITUTE(A1,"c",CHAR(1),5))
This comment was minimized by the moderator on the site
Excellent! I am glad I scrolled up to review other comments after posting my own.
This comment was minimized by the moderator on the site
This is the correct answer! please replace this whole article with this one line of code.....
This comment was minimized by the moderator on the site
The first formula is completely useless and wrong but it works just correct for this example as the first and second "c"s are adjacent. The correct formula is:


For 2nd occurence -
=FIND("c",A1,FIND("c",A1)+1)

For 3rd occurence -
=FIND("c",A1,FIND("c",A1,FIND("c",A1)+1)+1) and so on...
This comment was minimized by the moderator on the site
Absolutely agree. The +2, or +3 etc.....entirely depends on the spacing between the n and (n+1) occurences of "c". Thus you would have to manually adjust for every cell if you were trying to copy this formula down a column for instance. Essentially the same as manually counting.


Ex. Let's try to find the 4th occurrence of "c" in cell A1 using the provided formula. Per the article we should use +3 in our nested FIND function to find the 4th occurrence.


Text in Cell A1:

"cab car abc cole cube"

Manually counting, the 4th occurrence is the "c" in cole in the character position of 13.


=FIND("c",A1,FIND("c",A1)+3)

The nested function, FIND("c",A1) will find the first occurrence of "c" in position 1.

Therefore,

FIND("c",A1)+3 = 1+3 = 4

Plugging that back into our formula,

=FIND("c",A1,FIND("c",A1)+3) = FIND("c",A1,1+3) = FIND("c",A1,4)

This new formula will look for the first occurrence of "c" beginning from character position 4. The 4th character in the string is the space just after cab.

Therefore, the formula will find the "c" in car and return the value of 5 for our formula. As we know from manually counting we are looking for 13 as the output.
This comment was minimized by the moderator on the site
The firs formula works correct in my version, in the note, it has explained how to find the third or forth or nth "c".

Note: You can change the 2 in the formula based on your needs. For example, if you want to find the fourth position of "c", you can change the 2 to 3. And if you want to find the first position of "c", you shuold change 2 to 0.
This comment was minimized by the moderator on the site
Try to find out the position of the second c with the first sentence of my above comment as the string using the first formula. You'll get to know how correct it is!
This comment was minimized by the moderator on the site
Hello all,

I have a text in an Excel cell " BY TRANSFER-NEFT*HDFC0000001*N08745987123546*J0032331*KUMAR--"

I need a function to extract just "N08745987123546"

Thanks
This comment was minimized by the moderator on the site
Hello, do you want to extract the numbers after No and the number of numbers are fixed? If so, you can use Kutools for Exccel's Extract text function, type No????to extract.
This comment was minimized by the moderator on the site
HI ALL,
I have a text in an Excel cell " BY TRANSFER-NEFT*HDHC0065431*N053112345624801*K0038331*krishna--"
I need a function to extract just "N053112345624801"
This comment was minimized by the moderator on the site
Formula 1 doesn't work on fourth, fifth, sixth etc. so (+3,4,5) will always show third position of letter "c" which is 19 second formula is working though.
This comment was minimized by the moderator on the site
Hello all, I have a text in an Excel cell "23 floyd lane, longville,KN 14564" I need a function to extract just "longville" Thanks
This comment was minimized by the moderator on the site
If you must use a function, try: =TRIM(MID(A1,SEARCH(",",A1)+1,SEARCH("!@#",SUBSTITUTE(A1,",","!@#",2))-SEARCH(",",A1)-1)) Otherwise, you might consider Data > Text to Columns > Delimited (using a comma as the separator).
This comment was minimized by the moderator on the site
Try this: =INDEX(SMALL(IF(MID(A1,MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),1)="c",MATCH(ROW(INDIRECT(1&":"&LEN(A1))),ROW(INDIRECT(1&":"&LEN(A1))),0),""),MATCH(ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c","")))),0)),2) where "c" is the character required and 2 is the position. Note this is an array formula.
This comment was minimized by the moderator on the site
this is simpler: =INDEX(SMALL(IF(MID(A1,ROW(INDIRECT(1&":"&LEN(A1))),1)="c",ROW(INDIRECT(1&":"&LEN(A1))),""),ROW(INDIRECT(1&":"&LEN(A1)-LEN(SUBSTITUTE(A1,"c",""))))),2)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations