Descomposición de un texto y realizar clasificación en columnas

29/11/2008 - 10:17 por eslait | Informe spam
Hola, voy intentar explicar mi problema con un ejemplo:

En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1 [de 11
a 20];D1 [de 21 a 30];E1 [de 31 a 40];

Estoy buscando las fórmulas apropiadas para clasificar el texto de arriba
(A2), interpretándolos como números y realizando el conteo correspondiente
en la columna (B1,C1,D1,E1) según los criterios especificados.En A3 podría
ser '12-14 , es decir, que lo largo del texto puede ser variable pero
siempre manteniendo la misma extructura respecto a los guiones.

El resultado de este ejemplo sería:

B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33

Si me podeis dar alguna orientación os lo agradecería.

saludos

Preguntas similare

Leer las respuestas

#6 eslait
29/11/2008 - 15:16 | Informe spam
Solucionado todo,

el problema que no funcionaba el "sumaproducto" eran dos: la celda del
primer número que colocaba tenía formato de texto. Lo he solucionado
indicando "general" cuando pongo el texto en columnas. El otro problema era
que si alguna de las 10 columnas no tenía ningún número, los interpretaba
como cero. En la condición del sumaproducto, en una de las muchas pruebas
que hice, puse rango>=0 y por eso no me coincidían los números. Lo he
solucionado poniendo otra condición rango<>"". Ahora ya funciona todo
perfectamente, pepe. Solo me queda ocultar las columnas y bloquearlas y se
acabó. He tardado toda una mañana de sábado pero me va a ahorrar mucho más
tiempo que el que he utilizado ahora..


gracias y un saludo..



"pepe" escribió en el mensaje
news:
Debe funcionar. la razón de que no te salga es que, seguramente, el primer
numero lo considere texto.
Cuando ejecutes 'texto en columnas' comprueba en la pantalla de formato
que todas las columnas tienen formato texto.



"eslait" <eslaitarrobayahoopuntocom> escribió en el mensaje de noticias
news:%
hola pepe,

bueno, he seguido un poco tus indicaciones: he insertado 10 columnas más
y he creado una macro para que automáticamente me ponga el texto en
columnas. Ya los tengo en columnas y además me las ha transformado en
números. Posteriormente ocultaré estas 10 columnas para que no me
molesten.
La segunda parte de esta historia: En la primera de las 36 columnas que
te comentaba he creado la fórmula
=SUMAPRODUCTO(($K3:$Q3>0)*($K3:$Q3<@)) que me contará el número de
veces que aparecen en entre estos valores [0-40]. En el ejemplo que te he
expuesto abajo ('12-25-26-28-56-88-89-90-91) el resultado de esta primera
columna debería ser 4, pero no sé porque narices me sale 3. voy a
investigar el porqué.

iré informando hasta que me salga.


"pepe" escribió en el mensaje
news:
Texto en columnas funciona con cualquier número de columnas (en tu caso
el separador sería el guión y, ojo, elige la opción de salida texto).
Una vez tengas los números en columnas (no te preocupes porque no estén
en la misma columna los mismos números) con una tabla dinámica obtienes
lo que quieres.

Haz una prueba, verás que es más rápido y fiable que cualquier otra cosa
que hagas.


"eslait" <eslaitarrobayahoopuntocom> escribió en el mensaje de noticias
news:
hola Pepe,

posiblemente me complique un poco como dices pero, respecto a lo que me
planteas, quiero explicarte un poco el contexto de la hoja para que
entiendas el porqué me quiero complicar la vida:

Este problema que quiero solucionar está integrado en un hoja donde se
maneja cientos de datos. Mi objetivo es minimizar mi tiempo
introduciendo los datos. Pienso que poniendo el texto en una sola
columna me evita tener que identificar el número, buscar la columna y
volver a introducir el dato en la casilla correspondiente con especial
cuidado de no equivocarme de celda. La introducción de datos es
continuo por lo que la opción de texto en columnas no me sirve. El
ejemplo que he puesto es de 4 columnas. En la hoja real serán 36
columnas donde tendría que introducir en cada celda un listado de
números que podría ser éste: '12-25-26-28-56-88-89-90-91

no sé si me he explicado...

la cuestión sería identifar el primer texto hasta el primer guión,
transformarlo en número. Si ese número está dentro de cierto intervalo,
realizar el conteo. A lo mejor lo que expongo corresponde más a
programar un macro más que aplicar fórmulas.



"pepe" escribió en el mensaje
news:
Creo que complicas mucho la forma de resolver el problema, que no es
otro que contar cuántos elementos hay de cada caso.
Una solución fácil sería:
1- Con la opción texto en columnas separo los datos.
2- Con una tabla dinámica obtengo el resumen que quiero.
ó
2 - con fórmulas cuento por intervalos.



"eslait" <eslaitarrobayahoopuntocom> escribió en el mensaje de
noticias news:
Hola, voy intentar explicar mi problema con un ejemplo:

En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1
[de 11 a 20];D1 [de 21 a 30];E1 [de 31 a 40];

Estoy buscando las fórmulas apropiadas para clasificar el texto de
arriba (A2), interpretándolos como números y realizando el conteo
correspondiente en la columna (B1,C1,D1,E1) según los criterios
especificados.En A3 podría ser '12-14 , es decir, que lo largo del
texto puede ser variable pero siempre manteniendo la misma extructura
respecto a los guiones.

El resultado de este ejemplo sería:

B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33

Si me podeis dar alguna orientación os lo agradecería.

saludos






















Respuesta Responder a este mensaje
#7 Héctor Miguel
30/11/2008 - 01:13 | Informe spam
hola, (...) ?????

con los siguientes supuestos:
- [A1] vacia, [B1] 10, [C1] 20, ... [J1] 90
- [A2] de aqui en adelante la columna contiene textos con 2 digitos (longitud variable) separados por guion "-"

1) define algunos nombres (p.e.) <-> OJO: selecciona primero la celda [B2] <= IMPORTANTE
nombre formula (en el cuadro de edicion "se refiere a:")
sF =indice(indicar.area.de.trabajo(37),15)
Serie =evaluar("{"&sustituir(!$a2,"-",sf)&"}")

2) aplica la siguiente formula:
[B2] =sumaproducto(--(serie>a$1),--(serie<=b$1))
OJO: comprureba si "mi" separador de argumentos (coma) es el mismo en tu sistema
-> copia/arrastra/... esta formula hasta la columna "J" (o el numero de grupos que necesites)
-> luego copia/arrastra/... las formulas del rango [B2:J2] n_filas abajo (segun tu lista de datos)

saludos,
hector.

__ OP __
En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1 [de 11 a 20];D1 [de 21 a 30];E1 [de 31 a 40]
Estoy buscando... formulas... para clasificar el texto de arriba (A2) interpretandolos como numeros
y realizando el conteo... en la columna (B1,C1,D1,E1) segun los criterios especificados.
En A3 podria ser '12-14, es decir... largo del texto... variable pero siempre... la... extructura respecto a los guiones.
El resultado de este ejemplo seria:
B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33 (...)
Respuesta Responder a este mensaje
#8 pepe
30/11/2008 - 09:12 | Informe spam
Genial.
Me quito el sombrero.
¿de dónde has sacado la función indicar.area.de.trabajo, si no está en la
ayuda?




"Héctor Miguel" escribió en el mensaje de
noticias news:%
hola, (...) ?????

con los siguientes supuestos:
- [A1] vacia, [B1] 10, [C1] 20, ... [J1] 90
- [A2] de aqui en adelante la columna contiene textos con 2 digitos
(longitud variable) separados por guion "-"

1) define algunos nombres (p.e.) <-> OJO: selecciona primero la celda [B2]
<= IMPORTANTE
nombre formula (en el cuadro de edicion "se refiere a:")
sF =indice(indicar.area.de.trabajo(37),15)
Serie =evaluar("{"&sustituir(!$a2,"-",sf)&"}")

2) aplica la siguiente formula:
[B2] =sumaproducto(--(serie>a$1),--(serie<=b$1))
OJO: comprureba si "mi" separador de argumentos (coma) es el mismo en
tu sistema
-> copia/arrastra/... esta formula hasta la columna "J" (o el numero de
grupos que necesites)
-> luego copia/arrastra/... las formulas del rango [B2:J2] n_filas
abajo (segun tu lista de datos)

saludos,
hector.

__ OP __
En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1 [de
11 a 20];D1 [de 21 a 30];E1 [de 31 a 40]
Estoy buscando... formulas... para clasificar el texto de arriba (A2)
interpretandolos como numeros
y realizando el conteo... en la columna (B1,C1,D1,E1) segun los criterios
especificados.
En A3 podria ser '12-14, es decir... largo del texto... variable pero
siempre... la... extructura respecto a los guiones.
El resultado de este ejemplo seria:
B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33 (...)




Respuesta Responder a este mensaje
#9 eslait
30/11/2008 - 12:21 | Informe spam
hola otra vez... he probado lo que me indicas Hector y funciona también muy
bien. Yo también tengo la duda sobre "indicar.area.de.trabajo", de dónde
sale y cómo funciona.

una saludo..


"pepe" escribió en el mensaje
news:
Genial.
Me quito el sombrero.
¿de dónde has sacado la función indicar.area.de.trabajo, si no está en la
ayuda?




"Héctor Miguel" escribió en el mensaje de
noticias news:%
hola, (...) ?????

con los siguientes supuestos:
- [A1] vacia, [B1] 10, [C1] 20, ... [J1] 90
- [A2] de aqui en adelante la columna contiene textos con 2 digitos
(longitud variable) separados por guion "-"

1) define algunos nombres (p.e.) <-> OJO: selecciona primero la celda
[B2] <= IMPORTANTE
nombre formula (en el cuadro de edicion "se refiere a:")
sF =indice(indicar.area.de.trabajo(37),15)
Serie =evaluar("{"&sustituir(!$a2,"-",sf)&"}")

2) aplica la siguiente formula:
[B2] =sumaproducto(--(serie>a$1),--(serie<=b$1))
OJO: comprureba si "mi" separador de argumentos (coma) es el mismo en
tu sistema
-> copia/arrastra/... esta formula hasta la columna "J" (o el numero
de grupos que necesites)
-> luego copia/arrastra/... las formulas del rango [B2:J2] n_filas
abajo (segun tu lista de datos)

saludos,
hector.

__ OP __
En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1
[de 11 a 20];D1 [de 21 a 30];E1 [de 31 a 40]
Estoy buscando... formulas... para clasificar el texto de arriba (A2)
interpretandolos como numeros
y realizando el conteo... en la columna (B1,C1,D1,E1) segun los
criterios especificados.
En A3 podria ser '12-14, es decir... largo del texto... variable pero
siempre... la... extructura respecto a los guiones.
El resultado de este ejemplo seria:
B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33 (...)







Respuesta Responder a este mensaje
#10 pepe
30/11/2008 - 14:23 | Informe spam
es una macro de Excel 4


"eslait" <eslaitarrobayahoopuntocom> escribió en el mensaje de noticias
news:%
hola otra vez... he probado lo que me indicas Hector y funciona también
muy bien. Yo también tengo la duda sobre "indicar.area.de.trabajo", de
dónde sale y cómo funciona.

una saludo..


"pepe" escribió en el mensaje
news:
Genial.
Me quito el sombrero.
¿de dónde has sacado la función indicar.area.de.trabajo, si no está en la
ayuda?




"Héctor Miguel" escribió en el mensaje de
noticias news:%
hola, (...) ?????

con los siguientes supuestos:
- [A1] vacia, [B1] 10, [C1] 20, ... [J1] 90
- [A2] de aqui en adelante la columna contiene textos con 2 digitos
(longitud variable) separados por guion "-"

1) define algunos nombres (p.e.) <-> OJO: selecciona primero la celda
[B2] <= IMPORTANTE
nombre formula (en el cuadro de edicion "se refiere a:")
sF =indice(indicar.area.de.trabajo(37),15)
Serie =evaluar("{"&sustituir(!$a2,"-",sf)&"}")

2) aplica la siguiente formula:
[B2] =sumaproducto(--(serie>a$1),--(serie<=b$1))
OJO: comprureba si "mi" separador de argumentos (coma) es el mismo en
tu sistema
-> copia/arrastra/... esta formula hasta la columna "J" (o el numero
de grupos que necesites)
-> luego copia/arrastra/... las formulas del rango [B2:J2] n_filas
abajo (segun tu lista de datos)

saludos,
hector.

__ OP __
En A2 tenemos el siguiente dato: '01-02-25-33 (formato de texto)
B1 a E1 son las columnas cuyos títulos podrían ser: B1 [de 0 a 10];C1
[de 11 a 20];D1 [de 21 a 30];E1 [de 31 a 40]
Estoy buscando... formulas... para clasificar el texto de arriba (A2)
interpretandolos como numeros
y realizando el conteo... en la columna (B1,C1,D1,E1) segun los
criterios especificados.
En A3 podria ser '12-14, es decir... largo del texto... variable pero
siempre... la... extructura respecto a los guiones.
El resultado de este ejemplo seria:
B2: 2 >> 01 y 02
C2: 0 >> no hay
D2: 1 >> 25
E2: 1 >> 33 (...)











Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida