Fórmula de Excel: Dividir una oración en palabras
En Excel, como sabemos, la función 'Texto en columnas' puede dividir una oración en celdas basándose en un delimitador. Pero en ocasiones, es posible que desees usar una fórmula para realizar esta tarea. En este tutorial, se proporciona una fórmula matricial que puede manejarlo.
Fórmula genérica:
=EXTRAE(" "&$TXT&" ", K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$TXT&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)+1), COLUMNA(A1)), K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$TXT&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1)+1)-K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$TXT&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1))-1) |
Argumentos
Número: la oración o cadena de texto que deseas dividir en palabras en celdas separadas. |
Cómo funciona esta fórmula
Tomemos la celda B3 como ejemplo, puedes usar la siguiente fórmula:
=EXTRAE(" "&$B3&" ", K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)+1), COLUMNA(A1)), K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1)+1)-K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1))-1) |
Presiona Mayús + Ctrl + Enter para extraer la primera palabra, luego arrastra el controlador de relleno hacia la derecha hasta que todas las palabras sean extraídas.
Explicación
La función EXTRAE obtiene una subcadena de una cadena de texto basada en la posición inicial especificada y el número de caracteres.
La FILA función devuelve el número de fila, aquí la configuramos para devolver una matriz de 1 a 99.
Luego la fórmulaEXTRAE(" "&$B2&" ", FILA($1:$99), 1)
=EXTRAE(" Clase A Grado 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";" ";"G";"r";"a";"d";"e";" ";"3";" ";"L";"i";"l";"y";" ";"C";"o";"r";"e";" ";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";
"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";"";""}
La BUSCAR función devuelve la ubicación de un carácter o texto específico dentro de una cadena de texto dada. Si no se encuentra la cadena, la función devuelve un valor de error.
La fórmula BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")
={1;#¡VALOR!;#¡VALOR!;#¡VALOR!;#¡VALOR!;#¡VALOR!;1;#¡VALOR!;1;#¡VALOR!;#¡VALOR!;
#¡VALOR!;#¡VALOR!;#¡VALOR!;1;#¡VALOR!;1;#¡VALOR!;#¡VALOR!;#¡VALOR!;#¡VALOR!;1;
#¡VALOR!;#¡VALOR!;#¡VALOR!;#¡VALOR!;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 función ESERROR devuelve VERDADERO si el valor es un error.
Entonces la fórmula ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " "))
={FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;FALSO;VERDADERO;FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;
VERDADERO;FALSO;VERDADERO;FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;FALSO;VERDADERO;VERDADERO;VERDADERO;VERDADERO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;
FALSO}
La función SI prueba una condición específica. Aquí tiene tres argumentos, el primero debe ser una expresión lógica, si el primer argumento es “VERDADERO”, entonces se muestra el segundo argumento, y si el primer argumento es ”FALSO”, se muestra el tercer argumento.
La fórmula SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($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 función K.ESIMO.MENOR devuelve el valor más pequeño en la matriz.
La COLUMNA función devuelve el número de columna donde aparece la fórmula o devuelve el número de columna de una referencia dada.
Entonces
K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1))
={1}
Entonces la fórmula
K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1)+1)- K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1))
={7-1}
={6}
Entonces la fórmula
EXTRAE(" "&$B3&" ", K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)+1), COLUMNA(A1)), K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1)+1)-K.ESIMO.MENOR(SI(ESERROR(BUSCAR(EXTRAE(" "&$B3&" ", FILA($1:$99), 1), " ")), "", FILA($1:$99)), COLUMNA(A1))-1)
=EXTRAE(" "&$B3&" ",2,6-1)
={Class}
Archivo de ejemplo
Haz clic para descargar el archivo de ejemplo
Fórmulas relacionadas
- Extraer desde la derecha hasta el carácter
Aquí se introduce la fórmula para extraer texto desde el lado derecho de un texto dado hasta un carácter específico. - Recortar texto a N palabras
Aquí se introduce la fórmula para extraer n palabras desde el lado izquierdo de una cadena de texto. - Agregar ceros iniciales para longitud fija
Este tutorial proporciona fórmulas para agregar ceros iniciales para hacer que el texto tenga la misma longitud. - Dividir dólares y centavos
Para dividir dólares y centavos en dos columnas con fórmulas en Excel.
Funciones relacionadas
- Función EXTRAE
Extrae parte del texto de un valor de celda basado en la ubicación y la longitud. - Función COLUMNA
Devuelve el número de columna donde aparece la fórmula o devuelve el número de columna. - Función FILA
Obtiene el número de fila. - Función BUSCAR
Encuentra la posición de un carácter o subcadena específica dentro de una cadena de texto dada. - Función SI
Prueba una condición específica.
Las Mejores Herramientas de Productividad para Office
Kutools para Excel - Te Ayuda a Sobresalir Entre la Multitud
Kutools para Excel Presume de Más de 300 Funciones, Asegurando Que Lo Que Necesitas Está a Solo Un Clic de Distancia...
Office Tab - Habilita Lectura y Edición con Pestañas en Microsoft Office (incluye Excel)
- ¡Un segundo para cambiar entre decenas de documentos abiertos!
- Reduce cientos de clics de ratón para ti todos los días, di adiós al síndrome del túnel carpiano.
- Aumenta tu productividad en un 50% al ver y editar múltiples documentos.
- Trae Pestañas Eficientes a Office (incluye Excel), Al Igual Que Chrome, Edge y Firefox.