Excel - MULTIPLICAR CON VARIAS CONDICIONES

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

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Jonathan (4 intervenciones) el 08/07/2020 05:36:15
Estimados, necesito de sus ayudas.

Necesito de su ayuda. Debo calcular en la "Hoja1" la columna F que se llama complementaria. Esta se calcula multiplicando el porcentaje que tiene el RUT de la columna A sobre el rut asociado por la columna G que se llama "Cons + Comp". En el excel adjunto hice un ejemplo, pero lo hice de forma manual en la columna F, pero esto es rapido cuando la cantidad de datos son pocos, pero en la realidad tengo miles de datos y los porcentajes me los entregan como la hoja "Porcentaje", por lo tanto hacerlo manual no es opción. He estado buscando la forma para hacerlo masivo y el problema es que en la columna Porcentaje el rut de la empresa principal se repite muchas veces ya que muestra el porcentaje que tiene sobre diferentes empresas. Es un poco dificil de explicar, pero deje un excel de ejemplo.

Agradeceré de sus ayudas, ya que he intentado miles de forma y no logro obtener los resultados del ejemplo.

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

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Antoni Masana (2485 intervenciones) el 08/07/2020 10:37:18
No entiendo como calculas el valor de la columna F, dices:

Esta se calcula multiplicando el porcentaje que tiene el RUT de la columna A sobre el rut asociado por la columna G que se llama "Cons + Comp".

¿ Que es: el porcentaje que tiene el RUT de la columna A ? En la columna A solo hay un número de 8 cifras que NO es un porcentaje ¿Con que lo multiplicas? ¿Con sigo mismo?

Supongo que con el valor de la columna A de la hoja Hoja1 vas la la hoja Porcentaje a buscar un valor, debo suponer que es el de la columna C, y lo multiplicas por algo que NO SE.

Explicate mejor, paso a paso como haces el calculo y te podre ayudar.

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: 12
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Jonathan (4 intervenciones) el 08/07/2020 13:47:29
Si, creo que esta un poco enredado, una explicación mejor, aqui va.

En el excel tengo 2 hojas, en la "Hoja 1" la columna A es como el codigo de una empresa, el identificador. En la hoja "Porcentaje" tengo dos codigos de cempresa, la columna A y la columna B. En esta última hoja la explicación, por ejemplo de la primera fila, significa que la empresa n° 12489824 es dueña del 50% de la empresa n° 16204309.

Ahora volvamos a la "Hoja1", la columna A es el identificador de la empresa, además de esta columna, ahora nos preocupamos de la columna F y G Para calcular la columna F, en el caso de la tercera fila que es el n° de empresa 12489824 necesitamos saber los porcentajes que aparecen en la segunda hoja, y estos son los siguientes:

RUT PRINCIPAL / RUT ASOCIADO / Porcentaje
12489824 . / 16204309 / 50
12489824 . / 19558492 / 20

La explicación de este recuadro es que la empresa n° 12489824 es dueña en un 50% de la empresa n° 16204309 y de un 20% de la empresa n° 19558492. En la hoja "Hoja1" existen dos tablas, la primera es el ejemplo del calculo de forma manual, por lo tanto el calculo de la primera fila sería asi:

=+G4*50%+20%*G5, donde la columna G es el monto sobre el cual se calcula los porcentajes, G4 es el monto para la empresa n° 16204309 y G5 es el monto para la empresa n° 19558492.

Pero este último calculo se hizo de forma manual, en la realidad tengo miles de n° de empresa y los porcentajes me lo entregan como la hoja "Porcentaje", por lo que necesito una formula que en la "Hoja1" tome el n° de empresa de la columna A y que vaya a buscar a la hoja "Porcentaje", identifique todas las veces que se menciona ese n° de empresa en la columna A y multiplique ese porcentaje por el monto de "Cons + Comp" asociado al n° de empresa de la columna B.

En resumen, en el excel de la "Hoja1" se debe llegar al mismo resultado que hay en el rango F3:F6, con el ejemplo de la fila 3, se debe llegar a esta formula:

=+G4*50%+20%*G5, pero necesito que ese % lo vaya a buscar a la hoja "Porcentaje" y sobre la celda de esta formula, también lo identifique según la columna B de la hoja "Porcentaje".

En este caso, tengo 1 numero de empresa que participa en otra 2 numero de empresa, en la realidad tengo 1 n° de empresa que participa en 100 n° de empresas y anotar cada uno de los % y cada una de las celdas no es viable, la idea que sea con una formula identifique todas las condiciones. Estuve intentando utilizar la función "SUMAPRODUCTO" pero no supe utilizarla muy bien.

Intente ser un poco más claro, pero he intentando tantas veces que ya me tiene bastante enredado jajaja. Asi que sería ideal si me puedes ayudar a obtener el mismo resultado que la columna F en la "Hoja1" pero con una formula masiva y flexible, te lo agradeceré muchisimo.

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

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Antoni Masana (2485 intervenciones) el 08/07/2020 17:42:24
A ver si lo entiendo porque tienes un lío enorme.

1
2
3
4
E3 depende de B3+C3+D3  -  F3 depende de G4 y G5  -  G3 depende de E3 y F3
E4 depende de B4+C4+D4  -  F4 depende de G5       -  G4 depende de E4 y F4
E5 depende de B5+C5+D5  -  F5 depende de G6       -  G5 depende de E5 y F5
E5 depende de B6+C6+D6  -  F6 (vacio)             -  G6 depende de E6 y F6

Necesitas una formula que realice lo siguiente:

Tomar el valor de la celda A de la hoja Hoja1 y lo busca en la tabla de la hoja Porcentaje tomar el código de la columna B en la hoja Porcentaje y si es el mismo que el valor anterior poner 0 en la celda de F de la hoja Hoja1 .

En caso contrario tomar el valor de la columna B de la hoja Porcentaje y lo busca en la hoja Hoja1 tomar el valor de la celda G y lo multiplique por el valor de la celda C de la hoja Porcentaje y lo pone en la celda F de la de la hoja Hoja1 en forma de formula, mirar si el código de la celda A existe otra vez en la de la hoja Porcentaje si existe tomar el valor de la columna B de la hoja Porcentaje y lo busca en la hoja Hoja1 tomar el valor de la celda G y lo multiplique por el valor de la celda C de la hoja Porcentaje y lo añade a la formula de la celda F de la hoja Hoja1 .

Y esto si solo tiene dos particiones.

Para el caso de una sola participación la formula es la siguiente:

1
2
3
=SI(A11=BUSCARV(A3;Porcentaje!$A$2:$C$6;2;FALSO);0;
        BUSCARV(BUSCARV(A3;Porcentaje!$A$2:$C$6;2;FALSO);$A$11:$G$14;7;FALSO) *
        BUSCARV(A3;Porcentaje!$A$2:$C$6;3;FALSO)/100)

En el caso del primer código la cosa se complica y es necesario hacer cambios en la tabla de porcentajes y utilizar columnas auxiliares.

Dale un vistazo a esta página.

https://exceltotal.com/encontrar-enesima-aparicion-excel/

Como puedes ver en el ejemplo que adjunto esta formula resuelve el 75% de los casos (3 de 4). Si la cosa se complica se podría hacer una macro porque mira que la formula es complicada.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Jonathan (4 intervenciones) el 08/07/2020 18:11:54
Antoni, muchas gracias, captaste completamente la esencia de lo que se debe hacer a pesar de que la explicación que hice fue demasiado enredada,

El problema es que la complicación del primer caso se repite en más de mil datos y en el que el N° de empresa posee participación sobre más de 200 otros n° de empresas.

Con respecto a las macros, solo conozco lo basico y modificar ciertos codigos, creo que tendré que modificar las tablas auxiliares.

Muchas gracias, 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

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Antoni Masana (2485 intervenciones) el 08/07/2020 19:22:06
Como te he dicho la cosa para hacerlo con formula se complica muchísimo, bueno decir muchísimo es quedarse corto.
Te puedo hacer una macro pero necesito un ejemplo más completo y con más casos.

Si no quieres subirlo en la WEB y prefieres enviarlo a mi correo te lo pongo: [email protected]

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
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

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Antoni Masana (2485 intervenciones) el 09/07/2020 00:31:15
Estaba aburrido y me he puesto a programar la macro que no tiene ningún secreto.

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Sub Macro2()
    Dim Fila_Rut_Princ As Long, Codigo_Princ As Long, _
        Fila_Porcentaj As Long, Codigo_Asoci As Long, _
        Fila_Rut_Asoci As Long, Porcentaje As Byte, Formula As String
 
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
    Application.EnableEvents = False
    ActiveSheet.DisplayPageBreaks = False
 
    Sheets("Hoja1").Select
 
    Fila_Rut_Princ = 3
    While Cells(Fila_Rut_Princ, "A") <> ""
        Codigo_Princ = Cells(Fila_Rut_Princ, "A")
        Formula = ""
 
        Sheets("Porcentaje").Select
 
        Fila_Porcentaj = 2
        While Cells(Fila_Porcentaj, "A") <> ""
            If Codigo_Princ = Cells(Fila_Porcentaj, "A") Then
               Codigo_Asoci = Cells(Fila_Porcentaj, "B")
               Porcentaje = Cells(Fila_Porcentaj, "C")
 
               Sheets("Hoja1").Select
 
               Fila_Rut_Asoci = 3
               While Cells(Fila_Rut_Asoci, "A") <> ""
                   If Codigo_Asoci = Cells(Fila_Rut_Asoci, "A") Then
                      Formula = Formula + IIf(Len(Formula) = 0, "=", "+")
                      If Porcentaje = 0 Then
                          Formula = Formula + "0"
                      Else
                          Formula = Formula + "(R" & Fila_Rut_Asoci & "C7 * " & Porcentaje & "/100)"
                      End If
                   End If
                   Fila_Rut_Asoci = Fila_Rut_Asoci + 1
                Wend
 
                Sheets("Porcentaje").Select
            End If
            Fila_Porcentaj = Fila_Porcentaj + 1
        Wend
 
        Sheets("Hoja1").Select
 
        Cells(Fila_Rut_Princ, "F").FormulaR1C1 = Formula
 
        Fila_Rut_Princ = Fila_Rut_Princ + 1
    Wend
 
    Application.ScreenUpdating = True
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    ActiveSheet.DisplayPageBreaks = True
    Application.CutCopyMode = False
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 12
Ha aumentado su posición en 4 puestos en Excel (en relación al último mes)
Gráfica de Excel

MULTIPLICAR CON VARIAS CONDICIONES

Publicado por Jonathan (4 intervenciones) el 09/07/2020 16:38:07
Antoni, la macro es perfecta, hace exactamente lo que necesito y soluciona todos los problemas que tenia.

Muchisimas gracias !!!!!!
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