Excel horizontal apenas soma de uma matriz (matriz)

0

Eu tenho uma fórmula que gera um resultado de matriz 2D. Por exemplo:

{=ROW(4:6)^TRANSPOSE(ROW(1:3))}

(as chaves são adicionadas pelo excel quando você pressiona CTRL + SHIFT + ENTER )

Eu preciso somar apenas os elementos horizontais da matriz (então eu determinarei o máximo dessas somas).

Se eu tentar:

{=SUM(ROW(4:6)^TRANSPOSE(ROW(1:3)))}

Eu recebo a soma total, mas o que eu preciso é uma fórmula de matriz que gere um resultado de matriz contendo uma coluna (vertical) da soma de cada linha. Eu imagino algo como:

{=HORIZONTALSUM(ROW(4:6)^TRANSPOSE(ROW(1:3)))}

O que, no meu exemplo simples, contém uma matriz vertical de (24; 30; 36) Então eu poderia obter o máximo facilmente com:

{=MAX(HORIZONTALSUM(ROW(4:6)^TRANSPOSE(ROW(1:3))))}

E retorne 36 como no meu caso de exemplo.

Sei que posso escrever um UDF para fazer isso facilmente, mas as UDFs não são portáteis o suficiente, então estou procurando uma solução nativa.

    
por Mr Purple 24.02.2015 / 23:17

1 resposta

1

Isso faz o que você quer?

=MAX(ROW(4:6)*SUM(ROW(1:3)))

confirme com CTRL + SHIFT + ENTER

Se você somar o segundo array, você pode usar isso para multiplicar o primeiro array, porque isso será o mesmo que multiplicar os valores individualmente e, em seguida, somar os resultados

Editar: dados seus comentários se a matriz inicial for corrigida, então você pode usar a função MMULT como esta

=MAX(MMULT(ROW(4:6)*TRANSPOSE(ROW(1:3)),{1;1;1}))

o {1;1;1} mudaria dado o número de colunas na primeira matriz

    
por 24.02.2015 / 23:27