Maison > Article > Les sujets > Partager des compétences pratiques sur Excel : Comprenez la formule classique pour extraire des numéros de téléphone portable !
Comment extraire rapidement des numéros de téléphone mobile dans Excel est devenu un sujet courant. Après l'avènement de CTRL+E, les problèmes d'extraction de données sont devenus beaucoup plus simples, je dois admettre que c'est effectivement une très excellente fonction. Mais ce n’est pas une panacée, et il reste encore certains problèmes d’extraction de données qui nécessitent des formules pour être résolus. Ensuite, le débutant vétéran vous expliquera les formules courantes pour extraire des numéros de téléphone portable dans Excel et vous amènera à analyser les formules en profondeur ~
Après Double 11, tout le monde est occupé à les lancer. leurs commandes , tout en recevant un grand nombre de commandes, la charge de travail des filles du service client a également beaucoup augmenté, en particulier le travail d'extraction des numéros de téléphone portable des clients à partir de certaines données plus gênantes est encore plus gênant, comme ce qui suit tableau :
(Le contenu des informations de commande est des données simulées)
Lorsque je rencontre de telles données, tout en me plaignant du caractère déraisonnable du système, je dois également trouver un moyen d'extraire le numéro de téléphone portable. des milliers de lignes de données...
J'ai entendu dire qu'il semble y avoir une touche de raccourci appelée Ctrl+E qui peut extraire des numéros de téléphone. Essayez-la maintenant :
Il semble que lorsque vous rencontrez des données aussi complexes, Ctrl+. La méthode connue sous le nom de remplissage intelligent échoue également. Que dois-je faire ?
VBA...
Pas du tout, alors y a-t-il un espoir ?
En fait, il existe une formule qui peut résoudre ce problème. La formule est :
=LOOKUP(9E+307,--MID(LEFT(A2,FIND("Consignee",A2)),ROW ($1 :$99),11))
=LOOKUP(9E+307,--MID(LEFT(A2,FIND("收货人",A2)),ROW(:),11))
结果如图所示:
公式看起来不是很长,但却使用了五个函数进行组合,下面就来破解这个公式的原理。
要解决问题首先要找到规律,手机号的一个特点就是长度为11位,并且全部都是数字,因此可以利用提取数字的套路来解决问题。
与通常提取数字的问题不同之处在于,在这些订单信息中,手机号码出现的位置不固定,并且会有其他的数字干扰,唯一可以利用的就是11位的数字这一点。
这就需要用到MID函数,格式为:MID(A2,1,11),意思是从A2单元格中的第一个字开始,截取11个字,公式结果为:
这一点很好理解,由于不确定手机号的开始位置,用一个常用的套路,就是将MID函数的第二参数使用ROW来实现多次提取的效果,为了便于理解,先用ROW(1:10)作说明。
来看看公式=MID(A2,ROW(1:10),11)
La formule n'a pas l'air très longue, mais elle utilise cinq fonctions à combiner. Décomposons le principe de cette formule.
Pour résoudre le problème, vous devez d'abord trouver le modèle. L'une des caractéristiques du numéro de téléphone mobile est qu'il comporte 11 chiffres, et ce sont tous des nombres. Vous pouvez donc utiliser la routine d'extraction de numéros pour. résoudre le problème.
La différence avec le problème habituel de l'extraction des numéros est que dans ces informations de commande, la position du numéro de téléphone portable n'est pas fixe et il y aura d'autres interférences de numéro. La seule chose qui peut être utilisée est le numéro à 11 chiffres. . Cela nécessite l'utilisation de la fonction MID. Le format est : MID(A2,1,11), ce qui signifie qu'à partir du premier mot de la cellule A2, interceptez 11 mots. Le résultat de la formule est :C'est facile à comprendre, car Pour déterminer À partir de la position de départ du numéro de téléphone mobile, une routine courante consiste à utiliser ROW comme deuxième paramètre de la fonction MID pour obtenir l'effet d'extractions multiples. Pour faciliter la compréhension, ROW (1:10) est utilisé à des fins d'explication.
Regardons l'effet de la formule =MID(A2,ROW(1:10),11)
:
Cette formule est équivalente à l'effet de MID(A2,1,11), MID(A2,2,11)...MID( A2,10,11).
Pour extraire le numéro de téléphone portable, il faut continuer à agrandir le deuxième paramètre du MID. Il est d'usage d'utiliser ROW (1:99). Voyons l'effet :Vous pouvez. voyez que le numéro de téléphone portable est bien dans cette grande chaîne de caractères.
🎜À ce stade, le numéro de téléphone mobile a été intercepté avec succès. L'étape suivante consiste à savoir comment obtenir le numéro de téléphone mobile requis à partir de cet ensemble de chaînes. 🎜🎜C'est à ce moment-là que LOOKUP entre en jeu. La formule originale doit être écrite comme suit : =LOOKUP(9E307,--MID(A2,ROW($1:$99),11)). 🎜🎜9E307 représente un très grand nombre Ajouter "--" avant MID signifie convertir le contenu intercepté en nombres. Le principe de cette formule a été expliqué à plusieurs reprises dans les tutoriels précédents. 🎜🎜Mais le résultat obtenu par la formule est surprenant : 🎜🎜🎜🎜🎜C'est parce que la fonction RECHERCHE obtient le numéro qui apparaît en dernière position dans les données du boîtier, en plus du numéro de téléphone portable, la commande. le temps apparaît également plus tard, donc pour obtenir le résultat final, une dernière étape est nécessaire pour restreindre la portée du traitement LOOKUP. 🎜🎜Observez à nouveau la source de données et vous pourrez trouver un modèle. Le numéro de téléphone portable est toujours avant le "destinataire", il vous suffit donc d'extraire la chaîne devant le destinataire, puis d'utiliser la formule tout à l'heure pour obtenir. le résultat. 🎜🎜C'est facile à mettre en œuvre. Il peut être complété en utilisant la combinaison GAUCHE+FIND La formule est : =LEFT(A2,FIND("Consignee",A2)).La combinaison GAUCHE + TROUVER est plus facile à comprendre. Si vous avez des questions, veuillez laisser un message et nous compilerons un tutoriel pour plusieurs combinaisons courantes similaires.
Maintenant, remplacez le résultat de la plage réduite par la formule précédente et vous obtiendrez la formule finale : =LOOKUP(9E+307,--MID(LEFT(A2,FIND("Consignee",A2)),ROW( $1 : 99 $),11))
Le résultat est une valeur d'erreur indiquant qu'il n'y a pas de numéro de téléphone portable dans les informations de commande.
Résumé : Le principe de cette formule a été analysé pour tout le monde. A partir du cas d'aujourd'hui, vous pouvez apprendre à diviser un problème apparemment complexe. La méthode consiste à trouver les règles petit à petit. pour le résoudre. Plus il y a d'idées.
En fait, il existe une autre façon de penser à ce problème, qui consiste à utiliser la formule :
=MAX(IFERROR(--MID(LEFT(A2,FIND("收",A2)),ROW(:),11),0))
.
Les partenaires intéressés peuvent tenter d'analyser par eux-mêmes les principes de la formule. Bien entendu, vous pouvez également laisser un message pour voir ce dont chacun a besoin et je reparlerai de cette formule.
Recommandations d'apprentissage associées : Tutoriel Excel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!