Funzione SUMIF con più criteri che utilizzano VBA in Microsoft Excel
In questo articolo, impareremo come utilizzare la funzione SUMIF in VBA con più criteri in Excel utilizzando il codice VBA.
Per ottenere l’output, utilizzeremo una combinazione di funzioni OFFSET e COUNTA per creare l’elenco di Name Manager.
Facci capire con un esempio:
-
Abbiamo un rapporto sulle vendite per venditore, regione e prodotto per gli anni dal 2012 al 2014.
-
Vogliamo scoprire la cifra di vendita che soddisfa le seguenti condizioni: –
-
Per tutte le condizioni; dobbiamo creare intervalli di nomi Per creare intervalli di nomi dinamici per il venditore:
Premi il tasto di scelta rapida CTRL + F3> Fai clic su Nuovo e inserisci la formula come = OFFSET (Foglio1! $ B $ 1,1,0, COUNTA (Foglio1! $ A: $ A) -1)
Allo stesso modo, crea intervalli denominati per altre condizioni * Premi CTRL + F3 per aprire la finestra Gestione nomi (fai riferimento agli elenchi già creati)
-
Utilizzando la funzione Incolla nomi nella scheda Formule, otterremo l’intero elenco di intervalli di nomi definiti nelle celle.
-
Fare clic su Paste List
nDate * = OFFSET (Foglio1! $ A $ 1,1,0, COUNTA (Foglio1! $ A: $ A) -1)
nProduct * = OFFSET (Foglio1! $ D $ 1,1,0, COUNTA (Foglio1! $ A: $ A) -1)
nRegion * = OFFSET (Foglio1! $ C $ 1,1,0, COUNTA (Foglio1! $ A: $ A) -1)
nVendite * = OFFSET (Foglio1! $ E $ 1,1,0, COUNTA (Foglio1! $ A: $ A) -1)
nSalesman * = OFFSET (Sheet1! $ B $ 1,1,0, COUNTA (Sheet1! $ A: $ A) -1)
Dobbiamo seguire i passaggi indicati di seguito per avviare l’editor VB Fare clic sulla scheda Sviluppatore Dal gruppo Codice, selezionare Visual Basic
-
Fare clic su Inserisci, quindi su Modulo
-
Questo creerà un nuovo modulo.
-
Inserisci il seguente codice nel modulo Sub VBASumifs () mysalesman = [H3] myregion = [H4] myproduct = [H5]
tsales = Application.WorksheetFunction.SumIfs ([nsales], [nsalesman], mysalesman, [nregion], myregion, [nproduct], myproduct)
[H6] = tsales End Sub
Fare clic su Inserisci barra multifunzione> Forme> Disegna un’immagine Fare clic con il tasto destro sull’immagine e fare clic su Assegna macro
-
Dopo aver assegnato la macro; fare clic sul pulsante Aggiorna vendite e otterremo l’output nella cella H6
Nota: – Dopo aver cambiato il nome del venditore, la regione e il prodotto, fare clic su Aggiorna vendite.
Per scoprire le vendite che soddisfano le condizioni tra 2 date; seguente è l’istantanea dei criteri:
Useremo il seguente codice:
Sub Sumifs2Dates ()
mysalesman = [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
-
Premendo il tasto di scelta rapida ALT + F8 per aprire la finestra Macro e quindi selezionare la macro.
-
In alternativa, puoi premere F5 per eseguire il codice nella schermata VBA.
-
Dopo aver eseguito la macro otterremo l’output nella cella H8
È così che possiamo utilizzare SUMIF più criteri in VBA per calcolare le vendite totali tra 2 date.