extraer numeros

22/06/2005 - 12:57 por Max | Informe spam
Hola
Mi consulta es la siguiente , como extraer numeros de una celda que
contiene tambien texto: Ej A1 = Resultado 1500 personas online 600
como obtener 1500 en una celda y 600 en otra celda sin textos.
La celda A1 contiene datos obtenidos de la Web (datos externos).

Muchisimas gracias.

Preguntas similare

Leer las respuestas

#1 Xolo
24/06/2005 - 19:15 | Informe spam
Function PruebaEsto(Rg As Range) As Variant
Dim X As Integer
Dim Solución As String

If Rg.Cells.Count > 1 Then
PruebaEsto = "Selecciona una sola Celda"
Exit Function
End If

For X = 1 To Len(Rg.Value)
If IsNumeric(Mid(Rg, X, 1)) = True Then
Solución = Solución & Mid(Rg, X, 1)
Else
Solución = Solución & " "
End If
Next
PruebaEsto = Application.WorksheetFunction.Trim(Solución)
End Function

Sub MacroPruebaEsto()
Dim X As Integer
Dim Solución As String, Palabra As String
Dim Rg As Range
Set Rg = Application.InputBox("Selecciona la celda que contiene
informacion", "Andoni dice:", Range("A1").Address, , , , , 8)
On Error Resume Next
If Rg.Cells.Count > 1 Then
MsgBox "Selecciona una única celda", vbInformation, "ATENCIÓN:" ' =
"Selecciona una sola Celda"
Exit Sub
End If

Dim Y As Integer
Palabra = Application.WorksheetFunction.Trim(Rg.Value)
For X = 1 To Len(Palabra)
If IsNumeric(Mid(Palabra, X, 1)) = True Then
Solución = Solución & Mid(Palabra, X, 1)
Else
If IsNumeric(Mid(Palabra, X - 1, 1)) = True Then
Y = Y + 1
ActiveCell.Offset(, Y) = Solución
Solución = ""
End If
End If
Next
End Sub



"Max" escribió en el mensaje
news:
Hola
Mi consulta es la siguiente , como extraer numeros de una celda que
contiene tambien texto: Ej A1 = Resultado 1500 personas online 600
como obtener 1500 en una celda y 600 en otra celda sin textos.
La celda A1 contiene datos obtenidos de la Web (datos externos).

Muchisimas gracias.

Respuesta Responder a este mensaje
#2 fernandocarrillo
25/06/2005 - 03:13 | Informe spam
Si siempre es el mismo texto y lo que varía son los números , puede
tratar de extraer los números con la función MID. SIN MACROS PARA MAYO
SEGURIDAD. El chiste es encontrar las posiciones de inicio que varían
pero que puedes encontrar fácilmente:

Supongamos que el texto está en A1: Resultado 1500 personas online 600

El primer número siempre empezará después de "Resultado ", por lo tant
comenzará siempre en la posición 11

El primer número terminará a la izquierda de donde dice "personas"
Entonces buscas esta palabra: =FIND("personas",A1,1). En el ejemplo, e
16

La longitud del número será (16-11).

Ya tienes la posición de inicio de tu número y su longitud, así que y
puedes extraer el número con
=mid( texto donde buscar, posicion inicial, cuantos )
=mid( A1, 11, FIND("personas",A1,1) - 11 )
en el ejempo da:
=mid(A1, 11, 5 )
="1500 "

Al final solo tienes que cambiarlo de texto a número con =value() y *l
fórmula para encontrar el primer número queda así: =value(mid( A1, 11,
FIND("personas",A1,1) - 11 ) )*



La segunda parte tiene la misma lógica:

la segunda cifra comienza 7 caracteres después de la o de online.
= FIND("online",A1,1) + 7

La segunda cifra acaba al final del texto
= len(a1), por lo que la longitud de la segunda cifra será:
= len(a1) - FIND("online",A1,1) + 7

EL NúMERO LO ENCUENTRAS ASí [/B]
=MID( TEXTO DONDE BUSCAR, POSICION INICIAL, CUANTOS )
[B]= VALUE( MID(A1, FIND(\"ONLINE\",A1,1)+7
LEN(A1)-FIND(\"ONLINE\",A1,1)+7)
Ojalá te sirva esta idea tan larga

fernandocarrill
fernandocarrillo's Profile: http://www.msusenet.com/member.php?userid&4
View this thread: http://www.msusenet.com/t-187055592
Respuesta Responder a este mensaje
#3 ferrancc
25/06/2005 - 03:48 | Informe spam
Pon en B2
=EXTRAE(A1;11;4)

Pon en C2
=EXTRAE(A1;31;3)

Saludos

Max Wrote:
Hola
Mi consulta es la siguiente , como extraer numeros de una celda que
contiene tambien texto: Ej A1 = Resultado 1500 personas onlin
600
como obtener 1500 en una celda y 600 en otra celda sin textos.
La celda A1 contiene datos obtenidos de la Web (datos externos).

Muchisimas gracias



ferranc
ferrancc's Profile: http://www.msusenet.com/member.php?userid&4
View this thread: http://www.msusenet.com/t-187055592
Respuesta Responder a este mensaje
#4 fernandocarrillo
25/06/2005 - 17:43 | Informe spam
Hola Ferranc,


Pusiste las formulas en español, que está mejor, pero si en lugar d
600 son 2700, entonces la longitud del numero seria 4 en lugar de tres
¿no?

Creo que el problema princpal sería encontrar la longitud de cad
número, ¿estas de acuerdo

fernandocarrill
fernandocarrillo's Profile: http://www.msusenet.com/member.php?userid&4
View this thread: http://www.msusenet.com/t-187055592
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida