Función de cálculo SUMAR.SI con múltiples criterios, utilizando VBA en Microsoft Excel
En este artículo, aprenderemos cómo usar la función SUMIF en VBA con múltiples criterios en Excel usando código VBA.
Para obtener el resultado, usaremos una combinación de funciones OFFSET & COUNTA para crear la Lista de Administrador de Nombres.
Entendamos con un ejemplo:
-
Tenemos un informe de ventas para el vendedor, la región y el producto para los años 2012 a 2014.
-
Queremos conocer la cifra de Ventas que cumple las siguientes condiciones: –
-
Para todas las condiciones; necesitamos crear rangos de nombres Para crear rangos de nombres dinámicos para el vendedor:
Presione CTRL + F3> Haga clic en Nuevo e ingrese la fórmula como = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
De manera similar, cree rangos con nombre para otras condiciones * Presione CTRL + F3 para abrir la ventana Administrador de nombres (consulte las listas que ya están creadas)
-
Usando la función Pegar nombres en la pestaña Fórmulas, obtendremos la lista completa del rango de nombres definidos en las celdas.
-
Haga clic en Pegar lista
nDate * = OFFSET (Sheet1! $ A $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
nProduct * = OFFSET (Sheet1! $ D $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
nRegion * = OFFSET (Sheet1! $ C $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
nVentas * = COMPENSACIÓN (Hoja1! $ E $ 1,1,0, CONTAR (Hoja1! $ A: $ A) -1)
nVENDEDOR * = COMPENSACIÓN (Hoja1! $ B $ 1,1,0, CONTAR (Hoja1! $ A: $ A) -1)
Debemos seguir los pasos que se mencionan a continuación para iniciar el editor de VB. Haga clic en la pestaña Desarrollador. Desde el grupo Código, seleccione Visual Basic
-
Haga clic en Insertar y luego en Módulo
-
Esto creará un nuevo módulo.
-
Ingrese el siguiente código en el Módulo Sub VBASumifs () mysalesman = [H3] myregion = [H4] myproduct = [H5]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)
[H6] = tsales End Sub
Haga clic en Insertar cinta> Formas> Dibujar una imagen Haga clic derecho en la imagen y haga clic en asignar macro
-
Después de asignar la macro; haga clic en el botón Actualizar ventas y obtendremos el resultado en la celda H6
Nota: – Después de cambiar el nombre del vendedor, la región y el producto, debe hacer clic en actualizar ventas.
Para conocer las Ventas que cumplen las condiciones entre 2 fechas; A continuación se muestra la instantánea de los criterios:
Usaremos el siguiente código:
Sub Sumifs2Dates ()
misvendedor = [H3] myregion = [H4] myproduct = [H5]
stdate = [H6]
EndDate = [H7]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct, [ndate], «> =» & stdate, [ndate], «⇐» & EndDate)
[H8] = tsales End Sub
-
Presionando ALT + F8 tecla de atajo para abrir la ventana Macro y luego seleccionar la macro.
-
Alternativamente, puede presionar F5 para ejecutar el código en la pantalla VBA.
-
Después de ejecutar la macro obtendremos la salida en la celda H8
Así es como podemos usar múltiples criterios SUMIF en VBA para calcular las ventas totales entre 2 fechas.