Formule Excel : Diviser une phrase en mots
Dans Excel, nous savons que le texte en colonnes peut diviser une phrase en cellules en fonction d'un délimiteur. Mais parfois, vous préférez utiliser une formule pour effectuer cette tâche. Ce tutoriel fournit une formule matricielle capable de gérer cela.
Formule générique :
=MID(" "&$TXT&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$TXT&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1) |
Arguments
Nombre : la phrase ou chaîne de texte que vous souhaitez diviser en mots dans des cellules séparées. |
Fonctionnement de cette formule
Prenons la cellule B3 comme exemple, vous pouvez utiliser la formule ci-dessous :
=MID(" "&$B3&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1) |
Appuyez sur Shift + Ctrl + Enter pour extraire le premier mot, puis faites glisser la poignée de recopie vers la droite jusqu'à ce que tous les mots soient extraits.
Explication
La fonction MID extrait une sous-chaîne d'une chaîne de texte basée sur la position de départ spécifiée et le nombre de caractères.
La fonction ROW renvoie le numéro de ligne ; ici, nous l'avons configurée pour retourner un tableau allant de 1 à 99.
Ensuite, la formuleMID(" "&$B2&" ", ROW($1:$99), 1)
=MID(" Classe A Niveau 3 Lily Core", {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20; 21; 22; 23; 24; 25; 26; 27; 28; 29; 30; 31; 32; 33; 34; 35; 36; 37; 38; 39; 40; 41; 42; 43; 44; 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; 85; 86; 87; 88; 89; 90; 91; 92; 93; 94; 95; 96; 97; 98; 99}, 1)
={" ";"C";"l";"a";"s";"s";" ";"A";" ";"N";"i";"v";"e";"a";"u";" ";"3";" ";"L";"i";"l";"y";" ";"C";"o";"r";"e";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}
SEARCH fonction renvoie l'emplacement d'un caractère ou d'un texte spécifique dans une chaîne donnée. Si la chaîne n'est pas trouvée, la fonction renvoie une valeur d'erreur.
La formule SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")
={1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;
#VALUE!;#VALUE!;#VALUE!;1;#VALUE!;1;#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;
#VALUE!;#VALUE!;#VALUE!;#VALUE!;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;1;
1;1;1;1;1}
La fonction ISERROR renvoie VRAI si la valeur est une erreur.
Ensuite, la formule ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " "))
={FAUX;VRAI;VRAI;VRAI;VRAI;VRAI;FAUX;VRAI;FAUX;VRAI;VRAI;VRAI;VRAI;
VRAI;FAUX;VRAI;FAUX;VRAI;VRAI;VRAI;VRAI;FAUX;VRAI;VRAI;VRAI;VRAI;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;
FAUX}
La fonction IF teste une condition spécifique. Ici, elle a trois arguments : le premier doit être une expression logique. Si le premier argument est « VRAI », alors le deuxième argument est affiché, et si le premier argument est « FAUX », le troisième argument est affiché.
La formule IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99))
={1;"";"";"";"";"";7;"";9;"";"";"";"";"";15;"";17;"";"";"";"";22;"";"";"";"";27;28;29;30;31;32;33;34;35;
36;37;38;39;40;41;42;43;44;45;46;47;48;49;50;51;52;53;54;55;56;57;58;59;60;61;62;63;
64;65;66;67;68;69;70;71;72;73;74;75;76;77;78;79;80;81;82;83;84;85;86;87;88;89;90;91;92;
93;94;95;96;97;98;99}
La fonction SMALL renvoie ensuite la plus petite valeur du tableau.
La fonction COLUMN renvoie le numéro de colonne où la formule apparaît ou retourne le numéro de colonne d'une référence donnée.
Ensuite
SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))
={1}
Ensuite, la formule
SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)- SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))
={7-1}
={6}
Ensuite, la formule
MID(" "&$B3&" ", SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)+1), COLUMN(A1)), SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1)+1)-SMALL(IF(ISERROR(SEARCH(MID(" "&$B3&" ", ROW($1:$99), 1), " ")), "", ROW($1:$99)), COLUMN(A1))-1)
=MID(" "&$B3&" ",2,6-1)
={Class}
Fichier d'exemple
Cliquez pour télécharger le fichier d'exemple
Formules relatives
- Extraire depuis la droite jusqu'au caractère
Cette section présente la formule permettant d'extraire du texte depuis la droite d'un texte donné jusqu'à un caractère spécifié. - Réduire le texte à N mots
Cette section présente la formule permettant d'extraire N mots depuis le côté gauche d'une chaîne de texte. - Ajouter des zéros non significatifs pour fixer la longueur
Ce tutoriel fournit des formules pour ajouter des zéros non significatifs afin de rendre le texte de même longueur. - Diviser dollars et cents
Pour diviser les dollars et les cents en deux colonnes avec des formules dans Excel.
Fonctions relatives
- Fonction MID
Extrait une partie du texte d'une valeur de cellule en fonction de l'emplacement et de la longueur. - Fonction COLUMN
Renvoie le numéro de colonne où la formule apparaît ou retourne le numéro de colonne. - Fonction ROW
Obtient le numéro de ligne. - Fonction SEARCH
Trouve la position d'un caractère ou d'une sous-chaîne spécifique dans une chaîne de texte donnée. - Fonction IF
Teste une condition spécifique.
Les meilleurs outils de productivité pour Office
Kutools pour Excel - Vous aide à vous démarquer de la foule
Kutools pour Excel compte plus de 300 fonctionnalités, garantissant que ce dont vous avez besoin n'est qu'à un clic...
Office Tab - Active la lecture et l'édition par onglets dans Microsoft Office (y compris Excel)
- Une seconde pour basculer entre des dizaines de documents ouverts !
- Réduit des centaines de clics de souris pour vous chaque jour, dites adieu à la main de la souris.
- Augmente votre productivité de 50 % lors de la consultation et de l'édition de plusieurs documents.
- Apporte des onglets efficaces à Office (y compris Excel), tout comme Chrome, Edge et Firefox.