Operação de array do Excel: como obter esse array?

Operação de array do Excel: como obter esse array?

Eu tenho as duas matrizes a seguir:

 {a,b,c}

 {d,e,f}

Como faço para obter essa matriz?

 {a*d,b*e,c*f}

Por exemplo, uma matriz é {0,1,1}, outra é {255.122,0}. Eu preciso desta matriz:

{0,122,0}

É realmente simples assim.

Isso está relacionado a este tópico:Excel: procure a última célula diferente de zero e não vazia no intervalo filtrado

Descobri que esta fórmula SUBTOTAL(2,OFFSET(R5,ROW(R5:R200)-ROW(R5),0)) fornece 1 para os dados filtrados (visíveis) e 0 para aqueles filtrados (invisíveis). Então, este é um array com 196 elementos de 0 ou 1.

Outra matriz, OFFSET(R5,ROW(R5:R200)-ROW(R5),0), basicamente, é apenas R5:R200.

Se eu puder multiplicar cada elemento de um array por sua contraparte correspondente em outro array e obter um novo array, então, a LOOKUP a seguir fornecerá o último número diferente de zero nos dados filtrados.

=PESQUISA(2,1/NOVA MATRIZ,R5:R200)

Isso ocorre porque a matriz SUBTOTAL fornece 1 para cada célula filtrada (visível) e quando é multiplicada pelo conteúdo da célula, as células visíveis com conteúdo 0 se tornarão 0 na nova matriz (o segundo 1 em {0,1,1 } vezes 0 em {255.122,0}). Portanto, a última célula diferente de zero será captada pelo LOOKUP.

Responder1

Como @Jeeped afirmou, use INDEX:

INDEX({0,1,1}*{255,122,0},0)

Isso retornará a matriz {0,122,0} para outra fórmula

Como você pode ver se somarmos os números:

=SUM(INDEX({0,1,1}*{255,122,0},0))

Que retorna 122

Responder2

Esta fórmula pode obter elementos de um array na forma desejada:

insira a descrição da imagem aqui

  • Insira esta fórmula na célula A44e preencha até que seja necessário.

=A42*D42

Ajuste as referências de células na fórmula conforme necessário.

Responder3

Digamos que você tenha nas células A1, B1 e C1 1, 2 e 3 respectivamente. E nas células A2, B3 e C2 você tem 4, 5 e 6 respectivamente.

Na célula A3, você pode inserir a fórmula:

= A1:C1 * A2:C2

e irá gerar um array de {4,10,18} que irá se espalhar em A3, B3 e C3 respectivamente.

informação relacionada