COMO HACER Que por cada 5 elementos me una lista me ponga un uno y se sume

Tengo un problema con una lista con valores necesito saber una una lista de 6500 registros cuantas personas necesitare para cubrir una necesidad

Tengo dos condicionando en la lista tengo estas columnas

Distrito- Municipio -SecciónTipo -SecciónPadrón -Electoral -Listado Nominal-Casilla-Tipo Casilla

La columna casilla tiene dos valores URBANA y NO URBANA-

La condición que necesito poner por cada 10 URBANAS una persona que cuide las casillas y por cada 5 casillas NO URBANA necesito poner una persona que las cuide

Yo necesito saber cuantas personas necesito para las URBANAS y CUANTAS para las no urbanas

2 Respuestas

Respuesta
1
Respuesta

Esta macro hace algo parecido, cuenta las casillas no urbanas y urbanas luego hace la división entre 5 o 10 según la condición y te da el total de personas si la cantidad no es exacta te dirá cuantas personas necesitas para completarlas.

Sub ANALIZAR_DATOS()
Set DATOS = Range("A1").CurrentRegion
With DATOS
    .Columns(7).Copy: .Columns(.Columns.Count + 3).PasteSpecial
    .Columns(.Columns.Count + 3).RemoveDuplicates Columns:=1
    Set TABLA = .Columns(.Columns.Count + 3).CurrentRegion
End With
With TABLA
    Set TABLA = .Rows(2).Resize(.Rows.Count - 1, .Columns.Count)
    .Cells(0, 2) = "CANTIDAD"
     .Cells(0, 3) = "PERSONAS"
        For I = 1 To .Rows.Count
            CASILLA = .Cells(I, 1)
            CUENTA = WorksheetFunction.CountIf(DATOS.Columns(7), CASILLA)
            If CASILLA = "URBANA" Then
                PERSONAS = WorksheetFunction.Quotient(CUENTA, 10)
                RESIDUOS = CUENTA Mod 10
            Else
                 PERSONAS = WorksheetFunction.Quotient(CUENTA, 5)
                 RESIDUOS = CUENTA Mod 5
            End If
            .Cells(I, 2) = CUENTA
            .Cells(I, 3) = PERSONAS
            .Cells(I, 4) = RESIDUOS
        Next I
End With
End Sub

Hola muchas gracias por responder fíjate que no me correo y no entiendo mucho del código por que no se donde poner el rango y la hoja donde tengo la información 

Así es, y esa precisamente es la información que no pusiste por eso puse la imagen para que vieras que el ejemplo esta elaborado a partir de la celda A1 de la hoja1, si no corrió es porque necesitas ajustar la macro a tus datos, en este caso solo tienes que cambiar la range("A1") por la celda donde empiecen tus datos. La instrucción range("a1"). Currentregion es para definir rangos de información sin importar si es uno o un millón.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas