Excel - Va de nuevo + claro. Duda: Desconcatenar tx y nro.

 
Vista:

Va de nuevo + claro. Duda: Desconcatenar tx y nro.

Publicado por Gustavo (36 intervenciones) el 23/11/2006 21:13:07
Gracias quiene respondieron, explico mejor para ser más claro.
Tengo celdas Excel con datos alfanumèricos.
Los número están siempre al final, pero la cifra de cantidad variable.
El texto está adelante, también variable y con espacios entre medio y por lo común antes del número.
No se puede hacer EXTRAE con ENCONTRAR (" "), ya que los espacios son varios.
No se puede hacer DERECHA ya que no se sabe la cantidad de cifra a extraer.
Debería existir una funciòn que verifique en qué momento aparece el primer número y allí extraer desde ese momento lo que sigue, ya que seràn nùmeros.
Doy ejemplos:
CD 789
L PUB 3455
L PRIV 45 (este dato tiene dos " " antes del número)
L PRIV 34

espero ahora haber sido más claro.
Cómo Extraigo en una celda todo el texto y en otra todo el número?

Gracias a los conocedores. (seguro es una macro que verifica caracter por caracter)

Gustavo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Abraham Valencia
Val: 313
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

RE:Va de nuevo + claro. Duda: Desconcatenar tx y n

Publicado por Abraham Valencia (2415 intervenciones) el 23/11/2006 21:20:11
Ojala esto te sirva:

http://groups.google.com.pe/group/microsoft.public.es.excel/browse_frm/thread/a4d79ccf9254c02/077c58666ed92ca1?lnk=gst&q=extraer+texto&rnum=9#077c58666ed92ca1

Abraham
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Va de nuevo + claro. Duda: Desconcatenar tx y n

Publicado por ricaurtem (206 intervenciones) el 24/11/2006 13:35:21
Prueba ayudandote con las funciones Len(), Instr() e Instrrev(), y veras que te servira en algo

buscate en el help de vb ahi te las explican.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Va de nuevo + claro. Duda: Desconcatenar tx y n

Publicado por José Luis (700 intervenciones) el 25/11/2006 21:32:05
ESpero que te sirva

___A___________ ___B_______________ __C_____________
1] CD 789 =EXTCMP(A1;" ";"U") =IZQUIERDA(A1;HALLAR(B1;A1;1)-1)
2] L PUB 3455
3] L PRIV 45
4] L PRIV 34

La función de C1, localiza la extracción del último dato y extrae los caracteres a la izquierda de ese dato.
La función ExtCmp deberás escribirla en VB, únicamente debes asegurarte de que el último carácter no sea espacio. Límpialo antes con la función ESPACIOS.

Function ExtCmp(Celda As String, iSepCmp As String, Cmp As Variant) as String
' Extrae una cadena de otra cadena que esté comprendida entre dos identificadores
' Celda = Referencia de la celda
' iSepCmp = Caracter identificador de separación
' Cmp = Nº de Campo a extraer
'--------------------------------------------------------
Dim ClavePF As String
ClavePF = "1,P,1,PRIMERO,1,PRIMER,1,I,1,INICIO,1,INICIAL,2,F,2,FINAL,2,U,2,ULTIMO,3,N,3,NUMERO,3,C,3,CAMPOS,"
Cmp = UCase$(Cmp)
If Not (IsNumeric(Cmp)) Then
T = InStr(1, ClavePF, Cmp & ",")
T = Mid(ClavePF,T-2,1)
Select Case T
Case "1"
Cmp = 1
Case "2"
Cmp = UBound(Split(Celda, iSepCmp)) + 1
Case "3"
ExtCmp = UBound(Split(Celda, iSepCmp)) + 1
Exit Function
Case Else
ExtCmp = "Error"
Exit Function
End Select
End If
If Cmp > UBound(Split(Celda, iSepCmp)) + 1 Then
ExtCmp = ""
Else
ExtCmp = Split(Celda, iSepCmp)(Cmp - 1)
End If
End Function

Cuidado con los saltos de línea falsos.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar