Como somar cada segunda coluna dependendo do valor da primeira coluna

0

Equipe

Isso está me enlouquecendo.

Eu sei como somar cada segunda coluna em uma linha: ie {= SUM (A1: G1 * (MOD (COLUNA (A1: G1), 2) = 0))}

O que preciso saber é como somar todas as primeiras colunas, a menos que haja um valor na segunda coluna, no ponto em que use a segunda coluna. ie = SUM (SE (B1="", A1, B1))

Mas eu preciso fazer isso em um intervalo decente.

Apenas um pouco de back ground eu tenho várias linhas de "Previsão da semana 1, da semana real 1, da semana de previsão 2, da semana real 2 ............"

Eu preciso somar a linha inteira usando valores 'reais' quando disponíveis, use os valores de 'previsão'

Qualquer ajuda seria incrível.

    
por Russell 30.07.2014 / 17:37

1 resposta

1

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))))}
    
por 30.07.2014 / 18:04