Excel: divideix la cadena per delimitador o patró, separa el text i els números

  • Comparteix Això
Michael Brown

El tutorial explica com dividir cel·les a Excel mitjançant fórmules i la funció Dividir el text. Aprendràs a separar el text per comes, espais o qualsevol altre delimitador, i a dividir cadenes en text i números .

Dividir el text d'una cel·la en diverses cel·les és la tasca de tots els usuaris d'Excel. tractar de tant en tant. En un dels nostres articles anteriors, vam parlar de com dividir cel·les a Excel mitjançant la funció Text a columna i Flash Fill . Avui aprofundirem en com podeu dividir cadenes mitjançant fórmules i l'eina Dividir text .

    Com dividir el text a Excel utilitzant fórmules

    Per dividir la cadena a Excel, normalment feu servir la funció ESQUERRA, DRET o MITJÀ en combinació amb TROBAR o CERCAR. A primera vista, algunes de les fórmules poden semblar complexes, però la lògica és bastant simple, i els exemples següents us donaran algunes pistes.

    Dividiu la cadena per coma, punt i coma, barra inclinada, guió o un altre delimitador.

    En dividir cel·les a Excel, la clau és localitzar la posició del delimitador dins de la cadena de text. Depenent de la vostra tasca, això es pot fer utilitzant la CERCADOR que no distingeix entre majúscules i minúscules o FIND. Un cop tingueu la posició del delimitador, feu servir la funció DRETA, ESQUERRA o MITJÀ per extreure la part corresponent de la cadena de text. Per a una millor comprensió, considerem el següent(data)

  • Caràcters entre el primer espai i la paraula ERROR: (hora)
  • Text entre ERROR: i Excepció: (codi d'error)
  • Tot el que ve després de Excepció: (text d'excepció)
  • Espero que m'ha agradat aquesta manera ràpida i senzilla de dividir cadenes a Excel. Si teniu curiositat per provar-ho, a continuació es pot descarregar una versió d'avaluació. Us agraeixo la lectura i esperem veure-us al nostre blog la setmana vinent!

    Descàrregues disponibles

    Fórmules d'Excel Split Cells (fitxer .xlsx)

    Ultimate Suite 14 dies versió totalment funcional (fitxer .exe)

    exemple.

    Suposem que teniu una llista de SKU del patró Color-Mida de l'element i voleu dividir la columna en 3 columnes separades:

    1. Per extreure el nom de l'element (tots els caràcters abans del primer guionet), inseriu la fórmula següent a B2 i després copieu-la a la columna:

      =LEFT(A2, SEARCH("-",A2,1)-1)

      En aquesta fórmula, SEARCH determina la posició del primer guionet ("-") a la cadena, i la funció ESQUERRA extreu tots els caràcters que li queden (se resta 1 de la posició del guionet perquè no voleu extreure el mateix guionet).

    2. Per extreure el color (tots els caràcters entre el 1r i el 2n guionet), introduïu el següent fórmula a C2 i després copieu-la a altres cel·les:

      =MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

      En aquesta fórmula, estem utilitzant la funció MID d'Excel per extreure text de A2.

      La posició inicial i el nombre de caràcters a extreure es calculen amb l'ajuda de 4 funcions de CERCADOR diferents:

      • Número inicial és la posició del primer guionet +1:

        SEARCH("-",A2) + 1

      • Nombre de caràcters a extreure : la diferència entre la posició del segon guionet i el primer guionet, menys 1:

        SEARCH("-", A2, SEARCH("-",A2)+1) - SEARCH("-",A2) -1

    3. Per extreure la mida (tots els caràcters després del tercer guionet), introduïu la fórmula següent a D2:

      =RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))

      En aquesta fórmula, la funció LEN retorna la longitud total de la cadena,del qual se resta la posició del 2n guionet. La diferència és el nombre de caràcters després del segon guionet i la funció DRET els extreu.

    De manera similar, podeu dividir la columna per qualsevol altre personatge. Tot el que heu de fer és substituir "-" pel delimitador necessari, per exemple espai (" "), coma (","), barra inclinada ("/"), dos punts (";"), punt i coma (";") i així successivament.

    Consell. En les fórmules anteriors, +1 i -1 corresponen al nombre de caràcters del delimitador. En aquest exemple, és un guionet (1 caràcter). Si el vostre delimitador consta de 2 caràcters, p. una coma i un espai i, a continuació, introduïu només la coma (",") a la funció de cerca i utilitzeu +2 i -2 en comptes de +1 i -1.

    Com dividir la cadena per salt de línia. Excel

    Per dividir el text per espai, utilitzeu fórmules semblants a les que es mostren a l'exemple anterior. L'única diferència és que necessitareu la funció CHAR per proporcionar el caràcter de salt de línia, ja que no podeu escriure'l directament a la fórmula.

    Suposem que les cel·les que voleu dividir semblen semblants a això:

    Agafeu les fórmules de l'exemple anterior i substituïu un guionet ("-") per CHAR(10) on 10 és el codi ASCII per a l'avançament de línia.

    • Per extreure el nom de l'element :

      =LEFT(A2, SEARCH(CHAR(10),A2,1)-1)

    • Per extreure el color :

      =MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)

    • Per extreure la mida :

      =RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))

    I així és com es veu el resultat:

    Com dividir el text i els números a Excel

    Per començar, no hi ha cap solució universal que funcioni per a totes les cadenes alfanumèriques. Quina fórmula utilitzar depèn del patró de corda en particular. A continuació trobareu les fórmules per als dos escenaris habituals.

    Divisió de la cadena del patró "text + número"

    Suposant que teniu una columna de cadenes amb text i números combinats, on un nombre sempre segueix el text. Voleu trencar les cadenes originals perquè el text i els números apareguin en cel·les separades, com aquesta:

    El resultat es pot aconseguir de dues maneres diferents.

    Mètode 1: comptar els dígits i extreure tants caràcters

    La manera més senzilla de dividir la cadena de text on el nombre ve després del text és aquesta:

    Per extreure números , cerqueu la cadena per tots els nombres possibles del 0 al 9, obteniu el total de nombres i retorneu tants caràcters des del final de la cadena.

    Amb la cadena original en A2, la fórmula és el següent:

    =RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))

    Per extreure text , calculeu quants caràcters de text conté la cadena restant el nombre de dígits extrets (C2) de la longitud total de la cadena original en A2 . Després d'això, feu servir la funció ESQUERRA per retornar tants caràcters des del principi de la cadena.

    =LEFT(A2,LEN(A2)-LEN(C2))

    On A2 és la cadena original,i C2 és el número extret, tal com es mostra a la captura de pantalla:

    Mètode 2: esbrina la posició del primer dígit en una cadena

    Una alternativa La solució seria utilitzar la fórmula següent per determinar la posició del primer dígit a la cadena:

    =MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))

    Un cop trobada la posició del primer dígit, podeu dividir el text i els números utilitzant fórmules esquerra i dreta molt senzilles.

    Per extreure text :

    =LEFT(A2, B2-1)

    Per extreure número :

    =RIGHT(A2, LEN(A2)-B2+1)

    On A2 és la cadena original i B2 és la posició del primer nombre.

    Per desfer-se de la columna auxiliar que sosté el posició del primer dígit, podeu incrustar la fórmula MIN a les funcions ESQUERRA i DRETA:

    Fórmula per extreure text :

    =LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)

    Fórmula per extreure nombres :

    =RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)

    Dividiu la cadena del patró "número + text"

    Si esteu dividint cel·les on el text apareix després del número, pot extreure nombres amb la fórmula següent:

    =LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"}, ""))))

    La fórmula és semblant a la que s'ha comentat a l'exemple anterior, excepte que utilitzeu la funció ESQUERRA en lloc de DRET per obtenir el número del costat esquerre de la cadena.

    Un cop tingueu els números. , extreu text restant el nombre de dígits de la longitud total de la cadena original:

    =RIGHT(A2,LEN(A2)-LEN(B2))

    On A2 és la cadena original i B2 és el nombre extret,tal com es mostra a la captura de pantalla següent:

    Consell. Per obtenir un número de qualsevol posició de la cadena de text , utilitzeu aquesta fórmula o l'eina Extracció.

    Així podeu dividir cadenes a Excel utilitzant diferents combinacions de funcions diferents. Com veieu, les fórmules estan lluny de ser òbvies, de manera que us recomanem que us descarregueu el quadern d'exemplar de cel·les dividides d'Excel per examinar-les més de prop.

    Si descobrir els girs arcanics de les fórmules d'Excel no és la vostra ocupació preferida, pot agradar el mètode visual per dividir cel·les a Excel, que es mostra a la part següent d'aquest tutorial.

    Com dividir cel·les a Excel amb l'eina Dividir text

    Una forma alternativa de dividir un La columna d'Excel utilitza la funció Text dividit inclosa amb la nostra Suite Ultimate per a Excel, que ofereix les opcions següents:

      Per fer les coses més clares, mirem cada opció amb més detall, una a la vegada.

      Dividir cel·les per caràcter

      Trieu aquesta opció sempre que vulgueu dividir el contingut de la cel·la a cada aparença del caràcter especificat .

      Per a aquest exemple, agafem les cadenes del patró Item-Color-Size que hem utilitzat a la primera part d'aquest tutorial. Com recordareu, els vam separar en 3 columnes diferents mitjançant 3 fórmules diferents. I així és com podeu aconseguir el mateix resultat en 2 passos ràpids:

      1. Suposant que teniu Ultimate Suiteinstal·lat, seleccioneu les cel·les que voleu dividir i feu clic a la icona Dividir text a la pestanya Dades d'Ablebits .

      2. El <1 El panell>Dividir text s'obrirà al costat dret de la finestra d'Excel i feu el següent:
        • Amplieu el grup Dividir per caràcter i seleccioneu un dels delimitadors predefinits. o escriviu qualsevol altre caràcter al quadre Personalitzat .
        • Trieu si voleu dividir les cel·les en columnes o files.
        • Reviseu el resultat a la Previsualització . i feu clic al botó Dividir .

      Consell. Si hi pot haver diversos delimitadors successius en una cel·la (per exemple, més d'un caràcter d'espai), seleccioneu el quadre Trata els delimitadors consecutius com un sol .

      Fet! La tasca que requeria 3 fórmules i 5 funcions diferents ara només triga un parell de segons i fer clic al botó.

      Dividir cel·les per cadena

      Aquesta opció permet dividiu les cadenes utilitzant qualsevol combinació de caràcters com a delimitador. Tècnicament, dividiu una cadena en parts utilitzant una o diverses subcadenes diferents com a límits de cada part.

      Per exemple, per dividir una oració amb les conjuncions " i " i " o ", amplieu el grup Dividir per cadenes i introduïu les cadenes delimitadores, una per línia:

      Com a resultat, la frase font es separa a cada ocurrència de cada delimitador:

      Consell.Els caràcters "o" i "i" sovint poden formar part de paraules com "taronja" o "Andalusia", així que assegureu-vos d'escriure un espai abans i després de i i o per evitar dividir paraules.

      I aquí un altre exemple de la vida real. Suposant que heu importat una columna de dates d'una font externa, que té el següent aspecte:

      5.1.2016 12:20

      5.2.2016 14:50

      Aquest format no és convencional per a Excel i, per tant, cap de les funcions Data reconeixeria cap dels elements de data o hora. Per dividir el dia, el mes, l'any, les hores i els minuts en cel·les separades, introduïu els caràcters següents al quadre Dividir per cadenes :

      • Punt (.) per separar el dia i el mes , i any
      • Colons (:) per separar hores i minuts
      • Espai per separar data i hora

      Premeu el botó Botó Dividir i immediatament obtindreu el resultat:

      Dividiu cel·les per màscara (patró)

      Separació d'una cel·la per màscara significa dividir una cadena basada en un patró .

      Aquesta opció és molt útil quan necessiteu dividir una llista de cadenes homogènies en alguns elements o subcadenes. La complicació és que el text font no es pot dividir en cada ocurrència d'un delimitador determinat, només en alguna ocurrència específica. L'exemple següent farà que les coses siguin més fàcils d'entendre.

      Suposant que teniu una llista de cadenes extreta d'algun registrefitxer:

      El que voleu és tenir la data i l'hora, si n'hi ha, el codi d'error i els detalls de l'excepció en 3 columnes separades. No podeu utilitzar un espai com a delimitador perquè hi ha espais entre la data i l'hora, que haurien d'aparèixer en una columna, i hi ha espais dins del text d'excepció, que també hauria d'aparèixer en una columna.

      La solució és dividint una cadena amb la màscara següent: *ERROR:*Excepció:*

      On l'asterisc (*) representa qualsevol nombre de caràcters.

      Els dos punts (:) s'inclouen als delimitadors perquè no volem que apareguin a les cel·les resultants.

      I ara, expandeix la secció Dividir per màscara a Dividir text panell, escriviu la màscara al quadre Introduïu delimitadors i feu clic a Dividir :

      El resultat serà semblant a aquest:

      Nota. Dividir la cadena per màscara és distingeix entre majúscules i minúscules . Per tant, assegureu-vos d'escriure els caràcters de la màscara tal com apareixen a les cadenes d'origen.

      Un gran avantatge d'aquest mètode és la flexibilitat. Per exemple, si totes les cadenes originals tenen valors de data i hora i voleu que apareguin en columnes diferents, feu servir aquesta màscara:

      * *ERROR:*Excepció:*

      Traduït a l'anglès senzill, la màscara indica al complement que divideixi les cadenes originals en 4 parts:

      • Tots els caràcters abans del primer espai que es troben dins de la cadena

      Michael Brown és un entusiasta de la tecnologia dedicat amb una passió per simplificar processos complexos mitjançant eines de programari. Amb més d'una dècada d'experiència en la indústria tecnològica, ha perfeccionat les seves habilitats en Microsoft Excel i Outlook, així com en Google Sheets i Docs. El bloc de Michael es dedica a compartir els seus coneixements i experiència amb altres persones, oferint consells i tutorials fàcils de seguir per millorar la productivitat i l'eficiència. Tant si sou un professional experimentat com si sou un principiant, el bloc de Michael ofereix valuoses idees i consells pràctics per treure el màxim profit d'aquestes eines de programari essencials.