extraer dato de un texto

28/04/2005 - 17:50 por catalina | Informe spam
dentro de un cuaderno de excel tengo un listado con productos que fabricamos,
necesito extraer solo el dato de largo y ancho de cada uno, pero ese dato no
siempre està en el mismo lugar dentro del texto

Preguntas similare

Leer las respuestas

#1 KL
28/04/2005 - 18:10 | Informe spam
Hola Catalina,

?No daras ningun ejemplo de lo que tienes y de lo que quieres obtener?

Saludos,
KL

"catalina" wrote in message
news:
dentro de un cuaderno de excel tengo un listado con productos que
fabricamos,
necesito extraer solo el dato de largo y ancho de cada uno, pero ese dato
no
siempre està en el mismo lugar dentro del texto
Respuesta Responder a este mensaje
#2 catalina
28/04/2005 - 18:50 | Informe spam
por ejemplo tengo un bloque donde dice el sig texto:

bloque A1:
"PUERTA 2 LADOS 90º 2000 X 500 BLANCA"
necesito extraer de ahì la informacion 2000 x 500.

en el siguiente bloque A2:
"CUBIERTA 1 LADO 3000 x 600 AZUL BRILLANTE"
necesito extraer de ahì la informacion 3000 x 600

El problema es que la informaciòn que quiero extraer se presenta en
distintas posiciones dentro del texto.
(Quizàs sirve agregar que el signo X està siempre entre los 2 valores que
quiero extraer)

"KL" escribió:

Hola Catalina,

?No daras ningun ejemplo de lo que tienes y de lo que quieres obtener?

Saludos,
KL

"catalina" wrote in message
news:
> dentro de un cuaderno de excel tengo un listado con productos que
> fabricamos,
> necesito extraer solo el dato de largo y ancho de cada uno, pero ese dato
> no
> siempre està en el mismo lugar dentro del texto



Respuesta Responder a este mensaje
#3 KL
29/04/2005 - 01:22 | Informe spam
Hola Catalina,

A ver un pelin aparatosa la formula, pero parece funcionar. Es una formula
matricial y por lo tanto se tiene que introducir mediante Ctrl+Shift+Enter.
Ten en cuenta que esta formula hace muchisimas mas operaciones de lo que
aparienta, cosa que podria afectar el desempeño de tu PC si tuvieras que
copiarla a muchas celdas (varios miles por ejemplo).

=EXTRAE(A1;MAX((EXTRAE(A1;FILA(INDIRECTO("1:"&HALLAR(" x ";A1)-1));1)="
")*FILA(INDIRECTO("1:"&HALLAR(" x ";A1)-1)))+1;HALLAR(" x
";A1)-MAX((EXTRAE(A1;FILA(INDIRECTO("1:"&HALLAR(" x ";A1)-1));1)="
")*FILA(INDIRECTO("1:"&HALLAR(" x ";A1)-1)))-1)&" x
"&IZQUIERDA(EXTRAE(A1;HALLAR(" x ";A1)+3;LARGO(A1));HALLAR("
";EXTRAE(A1;HALLAR(" x ";A1)+3;LARGO(A1)))-1)

Otra opcion seria la de usar una funcion VBA personalizada como la que
sigue. Para ello:
1) haz clic-derecho sobre el nombre de tu hoja en una de las pestañas de la
parte de abajo de la ventana de Excel.
2) Elige la opcion Ver Codigo para abrir el editor VBA.
3) Una vez en el Editor VBA, ve al menu Insertar>Modulo
4) En la ventana mas grande a la derecha pega el codigo que te pongo a
continuacion (abajo del todo).
5) Ahora pulsa Alt+F11 para volver a la hoja.
6) Suponiendo que tienes el texto en la celda [A1] pon en [B1] la siguiente
formula:
=ExtraerTexto(A1)

Nota: si quieres que la formula recalcule cada vez que se recalculen las
formulas de tu libro podras añadir la siguiente instruccion al codigo de la
funcion (por encima de StrTxt = Trim(StrTxt)): Application.Volatile

Esta funcion es un tanto mas rapida que la formula que te puse antes, pero
ten en cuenta que esta funcion igual que la formula anterior no es tan
rapida como las funciones nativas de Excel y por lo tanto puede afectar el
desempeño de tu PC si tuvieras que copiarla a muchas celdas

Saludos,
KL

'Inicio Codigo
Function ExtraerTexto(StrTxt As String)
StrTxt = Trim(StrTxt)
If UCase(StrTxt) Like "*# X #*" Then
Posicion = WorksheetFunction.Search(" x ", StrTxt)
strTemp1 = Mid(StrTxt, Posicion + 3, Len(StrTxt))
strTemp1 = Left(strTemp1, InStr(strTemp1, " "))
strTemp2 = StrReverse(Left(StrTxt, Posicion - 1))
strTemp2 = StrReverse(Left(strTemp2, InStr(strTemp2, " ") - 1))
ExtraerTexto = strTemp2 & " x " & strTemp1
Else
ExtraerTexto = ""
End If
End Function
'Fin Codigo
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida