Contar cuantos números están repetidos en filas

Tengo varios números de cuatro cifras en varias filas y quisiera saber si hay una manera mediante código macro me arrojara cuantas veces aparece las dos ultimas o dos primeras cifras en una fila comenzando desde la columna z1 en adelante.

1 Respuesta

Respuesta
1

¿Las cifras a comparar están en col Z?

¿Dónde se encuentra en rango a comparar?

¿La misma cifra debe ser comparada con los 2 primeras cifras .. y también con las 2 últimas?

Deja un ejemplo resuelto para poder comparar resultados y así dejarte la solución correcta.

Sdos.

tengo el siguiente rango de datos "z1;tw42" como puedes ver son 42 filas y lo que necesito averiguar es cuantas veces se repiten las seis combinaciones de 4 cifras de un numero, me explico como son las seis combinaciones :

dos ultimas

dos primeras

primera y tercera

segunda y cuarta

segunda y tercera 

primera y ultima 

digamos que me ubico en la fila 20 y un msgbox "que combinacion quieres buscar" y digo "las dos ultimas" y me arroja que en la fila 20 las dos ultimas cifras se repiten 15 veces en esa fila 

espero haberme explicado bien

hola elsa matilde soy jhonfredy te dejo mi correo es que necesito su ayuda para modificar dos libros [email protected]

'... Cuantas veces se repiten las seis combinaciones de 4 cifras de un numero...'

¿Y dónde se encuentra ese número?

¿Es el mismo para todas las filas o en cada fila solicitarás las coincidencias para otro número?.

Lo ideal es que dejes una imagen para mostrar cómo presentas los datos.

Sdos!

elsa la información que necesito es saber cuantas veces se repiten las dos ultimas cifras o dos primeras cifras de un numero de 4 cifras en una fila, mi datos comienzan desde la columna z1 hasta la tw42

Algo como un msg box diciéndome "que fila desea analizar" y yo oprimiría la fila 25 digamos,

Y me arrojaría el listado de números que hay en esa fila ordenados de menor a mayor (puede ser en un formulario) y yo analizaría cuantas veces se repiten los números con las dos ultimas que más se repiten

No me contestaste acerca de la ubicación del nro ni tampoco de la tabla resultante.

Por ahora: el número buscado se ubica en UA1 y la tabla de resultados en col UC.

Luego necesitarás otra macro para ordenar esa columna y pasarla a un formulario. Si necesitas ayuda con eso que sea en consulta aparte.

Entonces, agregando el segundo InputBox la macro te quedará así:

Sub buscaCoincidencias()
'rango a evaluar
    Set rgoTabla = ActiveSheet.Range("Z1:TW42")
'el número buscado se coloca en celda UA1
    dato = ActiveSheet.[UA1]
'consultar qué fila debe evaluarse
    filx = Val(InputBox("¿Qué fila deseas evaluar?"))
    If filx = "" Or filx > 42 Then Exit Sub
'establecer el tipo de coincidencias según lista
    tipo = Val(InputBox("¿Qué tipo de coincidencias buscas?"))
    If tipo = "" Or tipo > 6 Then Exit Sub
'según el tipo elegido se coloca la lista de resultados en col UC y luego se ordena
Columns("UC:UC").ClearContents
Select Case tipo
    Case Is = 1
        nro = Left(dato, 2)
        Call DosPrimeras(nro, filx)
    Case Is = 2
        nro = Right(dato, 2)
        Call DosUltimas(nro, filx)
        'completar los Case hasta 6
End Select
MsgBox "Fin del proceso"
End Sub
Sub DosPrimeras(nro, x)
'1er fila de la tabla resultante
    y = 1
'se recorren las col Z:TW de la fila seleccionada
    For i = 26 To 543
        If Left(Cells(x, i), 2) = nro Then Range("UC" & y) = Cells(x, i): y = y + 1
    Next i
End Sub
Sub DosUltimas(nro, x)
'1er fila de la tabla resultante
    y = 1
'se recorren las col Z:TW de la fila seleccionada
    For i = 46 To 53
        If Right(Cells(x, i), 2) = nro Then Range("UC" & y) = Cells(x, i): y = y + 1
    Next i
End Sub

Para evaluar qué tipo de coincidencias debe buscar opté por una lista, donde 1 = las 2 primeras, 2 = las 2 últimas y así hasta 6. Falta completar el resto de los CASE, pero al no tener seguridad de si esto es lo que necesitas lo dejo para que pruebes las 2 primeras opciones. Luego deja otra consulta para el resto con las aclaraciones al caso. 

Sdos y no olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas