O que você quer fazer é verificar se a coluna está igual OU se a coluna NEXT está preenchida. Por essa versão da lógica também incluirá colunas em branco, mas isso não afeta o total.
Então, vamos usar dois arrays diferentes, um deslocado por um, então estou adicionando B1: H1, o que significa que você terá que deixar uma coluna em branco H1, dessa forma durante o cálculo de cada célula podemos ser considerando seu valor e o valor da próxima célula.
O que você quer fazer é isso, mas isso NÃO FUNCIONARÁ
{=SUM(A1:G1*OR(B1:H1="",MOD(COLUMN(A1:G1),2)=0)}
A razão pela qual o acima não funciona é porque o OR não preservará o array, e produzirá um único valor VERDADEIRO / FALSO mesmo dentro de uma função de matriz como você está usando.
Então, vamos fazer um OR de algébrica que é (1- (1-CONDITION1) * (1-CONDITION2)). Isso funciona porque TRUE é um 1 e FALSE é um 0, como você já está aproveitando, a multiplicação é um AND, mas dizendo NOT (Not Condition1 AND Not Condition2) é o equivalente de Condition1 ou Condition2. Se isso não faz sentido, tente passar por todas as 4 possibilidades de combinações True / False.
Então finalmente ficamos com:
{=SUM(A1:G1*(1-(1-(B1:H1=""))*(1-(MOD(COLUMN(A1:G1),2)=0))))}