se vedi in quel foglio nella colonna E, riga 2 c'è l'intestazione della tabella, il dollaro affianco al 2 sta per "se trascino la formula, la riga deve essere sempre la seconda".
INDIRETTO, come spiegato meglio qui: INDIRETTO (funzione INDIRETTO) - Supporto di Office (microsoft.com)
serve semplicemente a riferirsi ad un altro foglio, ma dinamicamente, ovvero prendendone il nome da un cella.
La formula che ci serve e' questa:
=SOMMA.PIU.SE('giorno 1'!G:G;'giorno 1'!B:B;$B4)
se il giorno non aveva gli spazi nel nome, non sarebbero serviti gli apici
=SOMMA.PIU.SE(giorno1!G:G;giorno1!B:B;$B4)
Piccola parentesI:
"SOMMA.PIU.SE, non fa altro che andare a sommare i dati di una colonna seguendo determinati criteri che l'intersezione riga/colonna deve rispettare, ovvero gli stiamo dicendo nel tuo caso: SOMMAMI I DATI PRESENTI NELLA COLONNA G se e solo se nella stessa riga all'altezza della COLONNA B e' presente questo valore (B4) che nel nostro caso è Caffe'."
ma come puoi vedere i dati non sono sempre in 'giorno 1' ma la colonna successiva si deve riferire al foglio successivo (giorno 2), per farlo dobbiamo prendere "dinamicamente" il nome del foglio e per farlo usiamo INDIRETTO,
qundi "'"&E$2&"'" si trasformera in 'giorno 1' (fai caso agli apici ' )
se non ci fossero stati gli apici bastava scrive E$2
quindi ricapitolando
=SOMMA.PIÙ.SE(INDIRETTO("'"&E$2&"'!"&"G:G");INDIRETTO("'"&E$2&"'!"&"B:B");$B4)
INDIRETTO("'"&E$2&"'!"&"G:G") => 'giorno 1'!G:G
INDIRETTO("'"&E$2&"'!"&"B:B") => 'giorno 1'!B:B
=
=SOMMA.PIÙ.SE('giorno 1'!G:G;'giorno 1'!B:B;$B4)
trascinando in basso la riga non cambia (resta 2) cambia il riferimento alla riga del criterio che da B4 diventa B5 B6 e cosi via (Caffe, Liquore etc.)
Spero di essere stato chiaro anche se mi sono dilungato.