J'essaie d'extraire un nombre du milieu d'une chaîne de texte dans Excel. La chaîne est un mélange de caractères alpha, numériques et certains caractères.
Exemple de chaîne de données: -
Web Address
/products_list.php?retailer=8&cat=43
/products_list.php?retailer=22&cat=43
/products_list.php?retailer=8&cat=1011
/products_list.php?retailer=81&cat=1023
/products_list.php?retailer=147&cat=1224
/products_list.php?retailer=8&cat=1
/products_list.php?retailer=147&cat=4
/products_list.php?retailer=147&cat=401
Ce que je veux réaliser est
Je suis allé aussi loin que de sortir tous les chiffres du texte, mais je ne pouvais vraiment pas comprendre comment mettre les chiffres au milieu ou à la fin.
Ma tentative de code pour résoudre le problème était la suivante: -
=SUM(MID(0&A3,LARGE(ISNUMBER(--MID(A3,ROW(INDIRECT("1:"&LEN(A3))),1))*ROW(INDIRECT("1:"&LEN(A3))),ROW(INDIRECT("1:"&LEN(A3))))+1,1)*10^ROW(INDIRECT("1:"&LEN(A3)))/10)
SCE pour une formule matricielle.
Si possible, je préférerais une formule à une macro.
oh, au cas où cela ferait une différence en utilisant Excel 2010.
Détaillant (B2):
=LEFT(RIGHT(A2,LEN(A2)-FIND("=",A2)),FIND("&",RIGHT(A2,LEN(A2)-FIND("=",A2)))-1)
Numéro de chat (C2):
=RIGHT(A2,LEN(A2)-(FIND("cat=",A2)+3))
faites glisser la formule vers le bas et
Cela semble vraiment moche (je ne suis pas un expert Excel), mais cela a fonctionné avec la liste que vous avez fournie.
Formule pour détaillant:
=MID(A2,FIND("retailer=",A2)+9,FIND("&",A2)-(FIND("retailer=",A2)+9))
Formule pour numéro de chat:
=MID(A2,FIND("cat=",A2)+4,100)