SUM Da Folha 1 Colunas para a Folha 2 Linhas

0

Tentei pesquisar por um tempo, não vi o que estava procurando.

Na Planilha1, tenho aproximadamente 100 colunas, cada uma representando um item. Cada linha é preenchida por uma quantidade desse item. Como você pode imaginar, é muito chato rolar para a direita continuamente, então criei Sheet2 ("Quantidades"). Nesta folha, criei os mesmos cabeçalhos que sheet1, exceto que, em vez de cada item ter uma coluna, eu fiz cada item em uma linha. Então, por exemplo:

Folha1:

A1:I1 contains customer information.  No calculating needs to be done here.
J1:DG1 contains a bunch of items (fish, salad, etc).
J2 contains quantity of fish that was ordered by customer A2.
J3 contains quantity of fish that was ordered by customer A3.
K2 contains quantity of salad that was ordered by customer A2.
K3 contains quantity of salad that was ordered by customer A3. 

Folha2:

A1:A102 contains same information as J1:DG1.

Entendido até agora? Ótimo. :)

Na Planilha2, gostaria que B1:B102 fosse igual ao SUM de seu equivalente na Planilha1. Portanto, por exemplo, B1 na Planilha2 seria: =SUM(Sheet1!J2:J1048576) (soma da coluna inteira J). Isso funciona muito bem. O problema é como copiar essa fórmula para que ela preencha B2:B102 . Se eu copiar o que escrevi acima está em B1, recebo um erro. Isso funciona, se eu tentar copiar forumula B1 para C1:DG1 , mas que derrota o propósito, eu preciso para colar para baixo. (a transposição também não funciona).

TIA

    
por Daniel 21.08.2014 / 16:21

2 respostas

0

Encontrou uma solução alternativa. 2º post em encadeamento vinculado. ( Espelho )

Como mencionei no OP, se eu tentasse criar Sheet2 B1 =SUM(Sheet!J:J) e, em seguida, copiar isso para a direita, nas colunas , continuaria corretamente a fórmula para corresponder a C1 =SUM(Sheet1!K:K), D1 =SUM(Sheet1!L:L, etc ). O problema era, no entanto, que, se tentássemos copiar a fórmula para baixo, em todas as linhas, a fórmula seria manipulada incorretamente. O problema ocorreu mesmo se eu copiei pela primeira vez para a direita, entre as colunas e, em seguida, com cut/paste-special-transpose . Graças à solução alternativa, consegui corrigir o problema de transposição e obter todas as células em Sheet2 B:B para representar um SUM de Sheet1 .

Boa sorte!

Editar: Adicionando o espelho da solução alternativa, caso isso desapareça.

    
por 21.08.2014 / 22:35
0

Isso pode ser feito usando a função INDEX . Para aumentar a confusão sobre essa função, a Microsoft optou por implementar dois tipos diferentes dessa função. Nós vamos usar o "array" -variant. Mais informações sobre esta função aqui . Essa função nos permite selecionar uma matriz (sua planilha 1) e escolher uma linha ou coluna dela. A função INDEX retorna uma referência a essa linha ou coluna. Em seguida, usaremos SUM para adicionar todos os itens da coluna. O truque final é selecionar a coluna da direita. Para fazer isso, procuraremos o número row (usando ROW ) na Planilha 2 e usá-lo para referenciar a coluna direita na Planilha 1.

Agora, para a fórmula: coloque isso em B2 (a coluna A tem os nomes dos produtos) '= SUM (INDEX (Folha1! $ A: $ DG; 9 + LINHA (Folha2! A1)))' e copie e cole até onde for necessário.

Duas notas na fórmula:

  • não há segundo argumento na função INDEX , fazendo a função retornar uma referência a coluna inteira, que é então adicionada ( SUM );
  • a adição de 9 tow ROW é necessária porque os dados do produto começam na coluna J, a décima coluna, então 9 + 1 = 10, a primeira coluna a ser selecionada.

Uma observação final: para selecionar uma coluna inteira, use a nota J:J em vez de J1:J1048576 como sugerido na sua pergunta.

    
por 21.08.2014 / 18:31