Macro en Excel que escriba valores de una celda, solo si en otras dos celdas de esa misma fila esta escrito algo en especifico.

En una hoja de calculo, ingreso datos por fila, de la fila 19 en adelante, en la columna ''M''. Lo que necesito es que según la palabra que tenga la celda en la columna ''C'' y la celda en la columna ''P'' correspondiente a la fila en la que estoy ingresando datos, se le sume el valor, que ingrese en la celda de la columna ''M'' de la misma fila, al valor en otra celda especifica.

Me explico,

Cada fila tiene un pedido diferente en las cuales, la celda de la columna ''C'' representa el cliente para ese pedido, la columna ''P'' tiene el tipo de producto y la ''M'', la cantidad total de productos que hay realizada de ese pedido.

Mas arriba tengo un resumen de todo lo producido, que quiero que se llene de forma automática. Es una matriz que proporciona datos de la cantidad total producido en función del tipo de producto y el cliente.

Si por ejemplo en la celda M20 ingreso el valor de 200 y en la celda C20 dice OMG y en la P20 dice pantalón, quiero que ese valor de 200 se sume automáticamente en el valor de la celda L4, que es la correspondiente a los pantalones producidos del cliente OMG.

1 Respuesta

Respuesta
1

Lo que necesitas es la función SUMAR. SI. CONJUNTO

Te dejo un enlace donde está perfectamente explicado su funcionamiento

https://exceltotal.com/la-funcion-sumar-si-conjunto-en-excel/ 

También puedes utilizar criterios del estilo "<>pantalón" como puedes ver en esta fórmula

=SUMAR.SI.CONJUNTO(E6:E11;F6:F11;"<>pantalon")

Perfecto,

Pero si quiero poner un criterio con dos alternativas? es decir, en vez que solo se sume si dice pantalón, que se sume si dice pantalón o si dice camisa en la misma celda.

Probe con un tercer criterio, pero de esa forma no se suma hasta que se cumplan lo 3 criterios y lo que realmente quiero es el mismo criterio con 2 alternativas.

Entonces utiliza la función SUMAPRODUCTO así:

=SUMAPRODUCTO((E6:E11)*((F6:F11)="pantalon")+(E6:E11)*((F6:F11)="camisa"))

Donde en E estan los importes y en F las descripciones que deverás cambiar para tu caso

Creo que esta te valdrá

No entendí, ¿osea qué función cumple una multiplicación en lo que quiero? Además, intente ponerlo como me dijiste y no me funciono.

Por cierto, gracias por estar ayudándome. Espero por tu respuesta.

Con sumaproducto tendras un array de zeros cuando no se cumple la condicion (falso) y unos para cuando se cumpla la condicion y multiplica esos unos por el valor de la columna de importes.

Ahora estoy con el móvil y no te puedo explicar mejor, pero a mi me ha funcionado la fórmula. Investiga un poco sobre sumaproducto a ver si lo resuelves, sino el lunes te lo explico mejor

Ahora si entendí y me funciona, pero me falta poner la otra condición en función del cliente. Recuerda que el objetivo es que se sume con 2 condiciones y que estas condiciones puedan tener varias alternativas.

Ignora el comentario de arriba, ya pude hacerlo. Solo le agregue otro múltiplo condicionado a ambos sumandos.

Muchas gracias, cada respuesta fue de gran ayuda.

Me alegro haberte podido ayudar a entender uno de los usos de la función SUMAPRODUCTO

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas