SumaProducto o Función para calcular según condiciones

Tengo un libro en el cual iré ingresando información mensual, requiero realizar un calculo donde me agrupe las operaciones por mes más 3 condiciones adicionales, la cuales son; En la hoja Cliente el cliente debe ser si en la columna AH, agrupado por fecha según la columna AJ de la misma Hoja Cliente, en la columna AP debe ser Si y debe tener una Participación en la hoja participación o una operación Cerrada en la Hoja Cerrados. Adjunto el archivo esperando que puedan ayudarme, en la hoja Aprobados Mensual debo colocar el calculo de cada mes, es decir cuantos cumplen con esta información en enero, cuantos en febrero y así sucesivamente. En la Cela A3 de Aprobados mensuales comencé la función pero me da error.

Respuesta
1

No está el archivo, si quieres envíame tu archivo y me explicas con ejemplos, colores y comentarios lo que necesitas.

Mi correo [email protected]

En el asunto del correo escribe tu nombre de usuario “Gerardine Rodriguez” y el título de esta pregunta.

Te anexo la macro para realizar los conteos.

Sub ContarPorMes()
'Por.Dante Amor
    Set h1 = Sheets("Clientes")
    Set h2 = Sheets("Participacion")
    Set h3 = Sheets("Cerrados")
    Set h4 = Sheets("Aprobados Mensual")
    '
    u4 = h4.Range("A" & Rows.Count).End(xlUp).Row
    If u4 < 3 Then u4 = 3
    h4.Range("A3:L" & u4).ClearContents
    j = 3
    '
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If UCase(h1.Cells(i, "AH")) = "SI" And UCase(h1.Cells(i, "AP")) = "SI" Then
            mes = Month(h1.Cells(i, "AJ"))
            'busca en Participacion
            Set b = h2.Columns("B").Find(h1.Cells(i, "B"), lookat:=xlPart)
            If Not b Is Nothing Then
                'busca en Cerrados
                Set c = h3.Columns("C").Find(h1.Cells(i, "B"), lookat:=xlPart)
                If Not c Is Nothing Then
                    'Cuenta
                    h4.Cells(j, mes) = h4.Cells(j, mes) + 1
                End If
            End If
        End If
    Next
    MsgBox "Terminado"
End Sub

Saludos.Dante Amor

1 respuesta más de otro experto

Respuesta
1

Si tienes Excel 2010 (o posterior), tienes 2 opciones "sencillas".

  1. Utilizando tablas dinámicas
  2. Utilizar la función sumar. Si. Conjunto

Está medio enredado la explicación, pero te diría que avances con la opción 2 y cualquier cosa pregunta

Sumar si conjunto no me permite hacer lo que requiero, ya que solo maneja dos criterios y los que necesito requieren de más, además el código quedaría muy extenso quisiera fuera en suma producto por que resume muchas cosas adicionalmente me permite utilizar valores lógicos como Y / O

Sumar. Si. Conjunto NO tiene límite en la cantidad de condiciones a verificar, la que tu dices es sumar. Si que SI tiene límite (y es una sola condición)

Además te comento que sumaproducto para lo que tu requieres es una fórmula matricial (que por definición es mucho más lenta de recalcular, en caso que tengas muchos datos te acordarás de mí...)

De lo anterior insisto en que uses sumar. Si. Conjunto (te recuerdo que siempre que tengas Excel 2010 o posterior, si no es así, entonces efectivamente la solución deberá ser sumaproducto :(

Entiendo bueno segun lo que se de SumaProducto no solo calcula matricial sino rangos tambien, lo que pasa es que todos los rangos no tengo la misma cantidad de datos ni estan en la misma hoja, son varias hojas y si en una tengo 100 en otra tengo 25 y en la otra 65 no van en el mismo rango de columna ni en la misma fila aplica segun la informacion que ese en cada columna en particular, no se si me entiende. 

¿Podrías subir el archivo en algún lugar y compartir el mismo?

Porque si los rangos no son iguales, entonces no estoy seguro de entender el requerimiento y creo que debería ver el archivo para brindarte una mejor ayuda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas