Cómo extraer un número de una cadena en Excel
Oficina De Microsoft Oficina Microsoft Excel Héroe Sobresalir / / June 07, 2023
Publicado
Cuando importa datos a Excel, es posible que deba separarlos. Aprenda cómo extraer un número de una cadena en Excel usando esta guía.
Excel es una hoja de cálculo poderosa, pero no puede hacer milagros. Si está importando datos y esos datos son un desastre, entonces Excel no podrá hacer mucho con ellos. Por ejemplo, si tiene valores adjuntos a otros caracteres como parte de una cadena, no podrá realizar cálculos con ellos a menos que los extraiga primero.
Afortunadamente, es posible hacer exactamente eso, aunque puede ser más complicado de lo que piensas al principio. Aquí se explica cómo extraer un número de una cadena en Excel.
Cómo extraer un número del final de una cadena usando Flash Fill
Una forma rápida y fácil de extraer un número del final de una cadena es usar Excel Relleno instantáneo característica. Esta característica le permite llenar rápidamente un rango de celdas según el patrón detectado en una celda específica. Una desventaja de este método es que requiere que haga la primera extracción usted mismo y si solo desea extraer un número de una sola cadena, no será de ninguna utilidad.
En la mayoría de los casos, Flash Fill puede extraer correctamente el número del final de una cadena, aunque no es infalible, por lo que siempre debes comprobar los resultados con atención. Si no funciona correctamente, intente llenar manualmente las primeras dos o tres celdas en lugar de solo la primera.
Para extraer un número del final de una cadena usando Flash Fill:
- Seleccione la celda junto a la primera celda que contiene sus cadenas.
- Introduzca el número que aparece al final de la cadena.
- Si todos sus datos están en una columna continua sin espacios, seleccione la celda directamente debajo de la que acaba de ingresar el número.
- Si sus datos tienen espacios en algunas filas, seleccione la primera celda y todas las celdas debajo de las que desea extraer números, incluidas las filas en blanco.
- Prensa Control+E en Windows o Cmd+E en Mac para ejecutar la función Flash Fill.
- Las celdas restantes se rellenarán automáticamente según el patrón que haya detectado Excel. En la mayoría de los casos, los números del final de la cadena se extraerán correctamente.
Cómo extraer un número del final de una cadena usando una fórmula
Una desventaja de usar el método Flash Fill es que requiere que usted mismo extraiga los números de la cadena para la primera fila. Es posible extraer un número del final de una cadena usando una fórmula, aunque la fórmula es bastante compleja.
Para extraer un número del final de una cadena usando una fórmula:
- Haga clic en la celda donde desea que aparezca el número extraído.
- Ingrese la siguiente fórmula, reemplazando 'B2' con la celda que contiene su cadena:
=VALOR(DERECHO(B2,LARGO(B2)-MAX(SI(ESNÚMERO(MEDIO(B2,FILA(INDIRECTO("1:"&LARGO(B2))),1)*1)=FALSO, FILA(INDIRECTO(" 1:"&LARGO(B2))),0))))
- Prensa Ingresar.
- El número debe extraerse de la cadena.
- Para aplicar la fórmula a las celdas restantes, haga clic en el controlador de arrastre en la esquina inferior derecha de la celda.
- Arrastre hacia abajo sobre las celdas donde desea que se replique la fórmula.
- Suelte el mouse y la fórmula se copiará en las celdas seleccionadas.
- Estas celdas ahora deberían contener los números extraídos.
- Cualquier celda sin una cadena para extraer devolverá un error. Si desea devolver una celda vacía, puede usar la fórmula:
=SI.ERROR(VALOR(DERECHA(B2,LARGO(B2)-MAX(SI(ESNÚMERO(MEDIO(B2,FILA(INDIRECTO("1:"&LARGO(B2))),1)*1)=FALSO, FILA(INDIRECTO ("1:"&LARGO(B2))),0)))),"")
- Cualquier celda vacía ahora devolverá un espacio en blanco.
Quizás se pregunte qué hace esta fórmula. En resumen, genera una matriz que tiene la misma longitud que la cadena. Coloca cada uno de los caracteres de la cadena en este arreglo en orden. Luego evalúa cada uno de esos caracteres para ver si son un número o no. Cualquier carácter que sea un número se convierte a cero. Cualquier carácter que no sea un número se convierte en un número que representa su posición en la cadena.
Por ejemplo, AB5HG23 se convertiría en 1, 2, 0, 4, 5, 0, 0. Luego busca el valor más alto en esta lista, que es la posición del último carácter que no es un número. Finalmente, devuelve todos los caracteres después de este punto, que son los números al final de la cadena. La función VALOR vuelve a convertir esto en un número. Sencillo, ¿verdad?
Cómo extraer un número desde el comienzo de una cadena usando Flash Fill
También puede usar Flash Fill para extraer un número desde el comienzo de una cadena completando el primer ejemplo usted mismo y permitiendo que Excel detenga el patrón.
Para extraer un número desde el comienzo de una cadena usando Flash Fill:
- Seleccione la celda a la derecha de la primera cadena que tiene un número que desea extraer.
- Introduzca el número que aparece al principio de la cadena.
- Si todos sus datos están en una columna continua sin espacios, seleccione la celda directamente debajo.
- Si sus datos tienen espacios, seleccione la primera celda y todas las celdas debajo de las que desea extraer números, incluidas las filas en blanco.
- Prensa Control+E en Windows o Cmd+E en Mac para iniciar Flash Fill.
- Las celdas que seleccionó ahora deberían mostrar los números extraídos.
Cómo extraer un número desde el comienzo de una cadena usando una fórmula
También puede usar una fórmula para extraer un número desde el comienzo de una cadena. Esto funciona de manera similar a la fórmula de la sección anterior, pero encuentra la posición del primer carácter no numérico y devuelve todos los caracteres anteriores.
Para extraer un número desde el principio de una cadena usando una fórmula:
- Seleccione la celda donde desea que aparezca el número extraído.
- Ingrese la siguiente fórmula, reemplazando 'B18' con la celda que contiene su cadena:
=VALOR(IZQUIERDA(B18,COINCIDIR(FALSO, ESNUMERO(MEDIO(B18,FILA(INDIRECTO("1:"&LARGO(B18)+1)),1)*1),0)-1))
- Prensa Ingresar y se extraerá el número.
- Puede usar Autocompletar en Excel para copiar la fórmula a cualquier otra celda que necesite.
- Si desea que las filas vacías devuelvan un resultado vacío, use la siguiente fórmula en su lugar:
=SI.ERROR(VALOR(IZQUIERDA(B18,COINCIDIR(FALSO, ES NÚMERO(MEDIO(B18,FILA(INDIRECTO("1:"&LARGO(B18)+1)),1)*1),0)-1))," ")
Cómo extraer números de cualquier parte de una cadena usando Flash Fill
Como se mencionó anteriormente, es posible que Flash Fill no funcione si la primera celda no coincide con el formato de algunas de las otras celdas. En este caso, es posible que deba calcular manualmente dos o tres celdas antes de que Flash Fill le proporcione el resultado que necesita.
Para extraer números de cualquier parte de una cadena usando Flash Fill:
- En la celda junto a la primera cadena, escriba manualmente los números que están en la cadena.
- Si todos sus datos están en una columna continua, seleccione la celda directamente debajo.
- Si sus datos tienen algunos espacios, seleccione la primera celda y todas las celdas debajo de las que desea extraer números, incluidas las filas en blanco.
- Prensa Control+E en Windows o Cmd+E en Mac para iniciar Flash Fill.
- Las celdas ahora deberían llenarse con los números extraídos.
Cómo extraer números de cualquier parte de una cadena usando una fórmula
Puede usar una fórmula para extraer todos los números de una cadena, sin importar dónde aparezcan.
Para extraer números de cualquier parte de una cadena usando una fórmula:
- Seleccione la celda donde desea que aparezca el número extraído.
- Ingrese la siguiente fórmula, reemplazando 'B9' con la celda que contiene su cadena:
=SUMAPRODUCTO(MEDIO(0&B9,GRANDE(ÍNDICE(ESNÚMERO(--MEDIO(B9,FILA(INDIRECTO("1:"&LARGO(B9))),1))*FILA(INDIRECTO("1:"&LARGO(B9) )),0),FILA(INDIRECTO("1:"&LEN(B9))))+1,1)*10^ROW(INDIRECTO("1:"&LEN(B9)))/10)
- Su fórmula debe extraer todos los números de la cadena.
- Si desea que las celdas en blanco devuelvan una celda vacía, en lugar de cero, use esta fórmula en su lugar:
=SI.ERROR(SUMAPRODUCTO(MEDIO(0&B9,GRANDE(ÍNDICE(ESNÚMERO(--MEDIO(B9,FILA(INDIRECTO("1:"&LARGO(B9))),1))*FILA(INDIRECTO("1:"&LARGO( B9))),0),FILA(INDIRECTO("1:"&LEN(B9))))+1,1)*10^ROW(INDIRECTO("1:"&LEN(B9)))/10)," ")
- Puede usar Autocompletar para aplicar la fórmula a cualquier otra celda de la hoja de cálculo.
- Cualquier cadena que no contenga números devolverá un cero. Puedes aprender a convertir un cero a un guión en Excel si quieres cambiar esto.
Amplíe sus habilidades de Excel
Aprender a extraer un número de una cadena en Excel puede ayudarlo a extraer rápidamente los datos que necesita de una lista de cadenas. Si bien las fórmulas requeridas pueden ser complejas, no es necesario que comprenda exactamente cómo funcionan; solo que lo hacen!
Hay trucos de Excel más útiles que puede aprender para llevar sus habilidades al siguiente nivel. Puedes aprender como contar celdas con texto en ellos, o cómo calcular la edad de una persona a partir de su fecha de nacimiento. Tu puedes incluso crear un generador de números aleatorios en Excel.