Você pode usar uma declaração IF para sua primeira pergunta:
=IF(AND(D5<>"",E5<>""),D5*E5,"")
& para criar um intervalo dinâmico, você pode usar OFFSET .
Pressione Ctrl + F3 e clique em New .
Em seguida, insira a fórmula abaixo na caixa referente a:
Mude a Folha1 para a da folha em que o seu Total Geral é
Altere $ A $ 1 para a célula em que o cabeçalho Grand Total está.
& Altere $ A: $ A para a coluna que possui o total geral.
=OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A)-1,1)
Dê um nome ao intervalo e, em seguida, você pode usar as informações abaixo para resumi-lo:
=SUM(example)