Cuál es el nº que más se repite con un nº dado en distintas filas y cuál el segundo más repetido.

Tengo seis columnas, todas con números, no hay espacios en blanco, ninguno de los números de una fila se repite, lo que necesito es saber ¿cuál es el nº que más se repite con un número que yo introduzca en una celda, a lo largo de las filas, y cuál el segundo número más repetido?

Ej:

En el ejemplo suponiendo que me refiero en una celda específica al 15, el nº que más aparece en la misma fila que el 15 es el 25, y como segundo nº el 10.

Espero que puedan ayudarme, muchas gracias. Alberto.

2 Respuestas

Respuesta
1

Te anexo la macro, cambia en la macro [A4:F10] por el rango donde tienes todos los números.

Cambia en la macro [B2] por la celda en la que vas a poner tu número.

La macro te va a poner el número que aparece más veces en la celda C2, y en la celda D2 al que está como segundo .

Sub BuscaRepetido()
'Por.Dante Amor
    Set r = [A4:F10] 'rango de celdas con los números
    Set celda = [B2] 'celda donde vas a poner el número
    '
    Dim cuentas
    valor = celda.Value
    cuenta = r.Count
    ini = r.Row
    fin = r.Rows.Count + ini - 1
    cin = r.Column
    cfi = r.Columns.Count + cin - 1
    xmin = Application.Min(r)
    xmax = Application.Max(r)
    ReDim cuentas(xmax, 1)
    '
    For i = ini To fin
        Set b = Rows(i).Find(valor, lookat:=xlWhole)
        If Not b Is Nothing Then
            For j = cin To cfi
                If Cells(i, j) <> valor Then
                    m = Cells(i, j)
                    cuentas(m, 1) = cuentas(m, 1) + 1
                End If
            Next
        End If
    Next
    '
    For k = 1 To xmax
        sacar = cuentas(k, 1)
        If sacar > maxsacar Then
            maxsacar = sacar
            max2 = max1
            max1 = k
        Else
            If sacar > maxsacar2 Then
                maxsacar2 = sacar
                max2 = k
            End If
        End If
    Next
    Set numeros = Nothing
    Set cuentas = Nothing
    '
    celda.Offset(0, 1) = max1
    celda.Offset(0, 2) = max2
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: BuscaRepetido
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

Saludos. Dante Amor

Respuesta

No entiendo muy bien lo que planteas, pero haber su te sirve.

=MODA($A$4:$A$10) , para fila
=MODA($A$4:$F$4), para columna

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas