Excel - Extraer ciertos valores de celdas

 
Vista:
sin imagen de perfil
Val: 24
Ha disminuido su posición en 23 puestos en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por oscar (11 intervenciones) el 27/01/2021 02:26:05
Buenas tardes, tengo una duda y espero me puedan a poyar con ella.

Les explico, tengo una lista que viene "codigo" y "aplicacion", en la "aplicacion" vienen varios vehículos de ciertos años ( chevy 2000 - 2004, toyota 1996 - 2001, etc.), lo que tengo que hacer es en una celda extraer el año inicial (1996) y en otra el año final (2004).

Agradecere mucho su apoyo.

Adjunto imagen y archivo.

EXTRAER-ANOS-LISTA

Saludos!
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 Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por Antoni Masana (2478 intervenciones) el 27/01/2021 11:54:22
No entiendo que sentido tiene esto.
Veo que en la columna B en cada fila hay 3 coches separados por un salto de línea ( \n ).
En cada línea hay 6 años 2 por coche y por lo que deduzco quieres encontrar el año menor y el año mayor de los 6.
El primer problema es identificar los años, son cuatro cifras pero 1796 no es un año es el cubicaje ( cc ).
Con formulas creo que se podría hacer pero no va a ser fácil.
Lo mejor seria una macro.

Como lo ves.

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
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por Andres Leonardo (1583 intervenciones) el 27/01/2021 19:16:59
Una macreo que seleccione los datos como separador el \n
Luego buscar el - buscar los dos años y su coinciden tomar los datos.
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
Val: 24
Ha disminuido su posición en 23 puestos en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por oscar (11 intervenciones) el 27/01/2021 22:33:15
Andres gracias por tu respuesta, me podrias anexar algun ejemplo para poderlo tomar y probarlo por favor. 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
sin imagen de perfil
Val: 24
Ha disminuido su posición en 23 puestos en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por oscar (11 intervenciones) el 27/01/2021 22:32:19
Muchas gracias por tu respuesta! Necesito extraer el año inicial y el año final de toda la celda omitiendo el salto de linea (\n), digamos 1994 y 2018, porque en un apartado necesito poner que la pieza "FL3258" sirve para autos "Chevrolet" de "1994 al 2018". Me podrías enviar algun ejemplo de como lo podría hacer por favor!

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
Imágen de perfil de Andres Leonardo
Val: 3.136
Plata
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por Andres Leonardo (1583 intervenciones) el 27/01/2021 23:20:29
Listo te adjunto

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
Sub BuscaAnios()
'
' BuscaAnios Macro
' Separa lal celdas y luego separa los años. luego busca el guion saca valores antes y despues d3el guion el resultado lo deja en hoja 2
'
' Acceso directo: Ctrl+Mayús+Q
'
Dim F As Integer ' filas de la hoja 1
Dim G As Integer ' filas de la hoja 2
Dim H As Integer ' Contador de Partes de la CELDA
Dim CarrosXCelda() As String
 
 
'Con esta parte genero en base a las celdas B de la hoja 1  una lista
' de registros en la base 2
F = 2
G = 2
While Sheets("Hoja1").Range("B" & F).Value <> ""
    Codigo = Sheets("Hoja1").Range("A" & F).Value
    CarrosXCelda = Split(Sheets("Hoja1").Range("B" & F).Value, "\n")
    For H = LBound(CarrosXCelda) To UBound(CarrosXCelda)
       Sheets("Hoja2").Range("A" & G).Value = Codigo
       Sheets("Hoja2").Range("B" & G).Value = CarrosXCelda(H)
       G = G + 1
    Next
    F = F + 1
Wend
 
'Ahora en la base 2 extraigo los datos y le pongo los valores de los años
F = 2 ' filas de la hoja 2
 
While Sheets("Hoja2").Range("B" & F).Value <> ""
dato = Sheets("Hoja2").Range("B" & F).Value
       Sheets("Hoja2").Range("C" & F).Value = Mid(dato, InStr(1, dato, "-") - 5, 4)
       Sheets("Hoja2").Range("D" & F).Value = Mid(dato, InStr(1, dato, "-") + 2, 4)
    F = F + 1
Wend
 
 
End Sub
ExtraeAnios
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
Val: 24
Ha disminuido su posición en 23 puestos en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por oscar (11 intervenciones) el 27/01/2021 22:33:33
Muchas gracias por tu respuesta! Necesito extraer el año inicial y el año final de toda la celda omitiendo el salto de linea (\n), digamos 1994 y 2018, porque en un apartado necesito poner que la pieza "FL3258" sirve para autos "Chevrolet" de "1994 al 2018". Me podrías enviar algun ejemplo de como lo podría hacer por favor!

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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Extraer ciertos valores de celdas

Publicado por Antoni Masana (2478 intervenciones) el 27/01/2021 23:40:29
Prueba esta macro.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Extraer_Años()
    Dim Fila As Long, Texto As String, Num As Integer, _
        Ini As Integer, b as integer, _
        Fin As Integer, a As Integer
 
    Sheets("Hoja1").Select
    Fila = 2
    While Cells(Fila, "B") <> ""
        Texto = Cells(Fila, "B"): Ini = 9999: Fin = 0
        For a = 1 To Len(Texto)
            If Mid$(Texto, a, 1) = "-" Then
                For b = -5 To 2 Step 7
                    Num = Val(Mid$(Texto, a + b, 4))  '-- Busca la anterior ( -5 ) y la posterior ( +2 )
                    If Num < Ini Then Ini = Num
                    If Num > Fin Then Fin = Num
                Next
            End If
        Next
        Cells(Fila, "C") = Ini
        Cells(Fila, "D") = Fin
        Fila = Fila + 1
    Wend
End Sub

Esta es de ejecución manual pero se puede hacer que cada vez que rellenes una celda de la columna B se ejecute la macro.

En tu ejemplo la tercera fila (fila 4) pones como fecha inicial 1986 y la macro encuentra como fecha inicial 1972.

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