Excel - como produzir um array de células não adjacentes para uso no SUMPRODUCT

0

Estou tentando calcular uma pontuação para cada registro em um conjunto de dados. A pontuação é obtida pela soma de uma série de pontuações menores determinadas por um multiplicador e uma figura associada.

Se as figuras associadas fossem um intervalo simples de dentro do conjunto de dados, eu usaria a SUMPRODUCTpara multiplicar as duas matrizes e resumir. No entanto, devido ao fato de que alguns dos números precisam ser derivados, eu precisaria ser capaz de construir um array com as várias figuras.

Eu estou esperando para obter uma fórmula como

=SUMPRODUCT(multipliers,--([a],[b],min(.6,([a]+[c])/[d]),[f]="abc")

Isso pode ser feito criando várias colunas de verificação e referindo-se a elas, mas alguém pode sugerir como executar esse cálculo elegantemente em uma única célula, já que o segundo argumento do SUMPRODUCT não funcionará?

Aqui está uma cópia para download da planilha https://dl.dropboxusercontent.com/u/40423572/sumproduct%20example.xlsx

Um único cálculo As fórmulas usadas

Steph Locke
fonte
O segundo argumento do exemplo SUMPRODUCT não funciona. Usando o assistente fx, é "Inválido". Tentar referenciar especificamente algumas colunas da tabela ( =SUMPRODUCT(multiplier,--([a],[b],[c],[d]))) resulta em um erro VALUE. Gostaria de saber como superar esse problema e / ou como usar outra função que possa fazer o que estou tentando alcançar.
Steph Locke
Então, para ficar claro, você está tentando substituir sua tabela / resultado mult / valor / total por uma única fórmula (para cada linha na tabela 1)?
Madball73
Sim. Isso permitiria executar o calc para muitos registros em vez de apenas um.
Steph Locke
Eu quero =SUMPRODUCT({1,3,4,5},{30000,10000,0.6,1})onde o segundo lote são valores de coluna ou valores derivados
Steph Locke
@Raystafarian, eu adicionei um link para uma cópia da planilha
Steph Locke

Respostas:

2

Se você precisar para cada linha, você não precisa / quer SUMPRODUCT.

Apenas use:

=1*[@a]+3*[@b]+4*(MIN(0.6,([@a]+[@c])/[@d]))+5*IF([@f]="abc",1,0)

Você pode substituir 1/3/4/5 com referências / nomes de células, se necessário.

Madball73
fonte