Como imprimir uma planilha do Excel em um layout de várias colunas?

13

Na planilha do Excel, tenho três colunas A, B, C muito finas, mas com muitas linhas (> 500). Agora, se eu imprimir isso, recebo 10 páginas quase vazias. Somente na borda esquerda de cada página vejo essas três colunas.

O que eu quero fazer é imprimir essa folha inteira em um layout de várias colunas. 2 ou 3 colunas por página seriam suficientes. Atualmente, estou fazendo isso copiando os valores do Excel, inserindo-os em um documento do Word e, em seguida, use a função de layout com várias colunas do Word. Não existe uma maneira de conseguir isso diretamente no Excel?

Para esclarecer meu problema: Atualmente, minhas páginas são assim

A B C
A B C
A B C
A B C
. . .

Mas o que eu quero é isso:

A B C     A B C     A B C
A B C     A B C     A B C
A B C     A B C     A B C
. . .     . . .     . . .
RoflcoptrException
fonte

Respostas:

10

Eu não acho que o Excel possa fazer isso. Uma possível solução alternativa é usar o Microsoft Word e percorrer as colunas: Como percorrer as colunas para usar menos páginas

Usando o MS Word para serpentear colunas (#msword)

Provavelmente, é o mais fácil de usar para uso único, pois não coloquei uma caixa de diálogo na macro do Excel descrita mais adiante.

  1. Selecione e copie colunas da planilha do Excel.
  2. Cole no Word, isso leva alguns instantes
  3. Selecione as linhas a serem repetidas na parte superior da tabela e indique isso no Word com Tabela -> Linhas para repetir
  4. Selecione a tabela inteira usando a âncora ou selecione a (s) célula (s) na tabela e, em seguida, Tabela -> Selecionar -> Tabela
  5. Indique o número de linhas usando o botão de colunas ou Formatar -> Colunas, se desejar ter mais controle sobre o posicionamento

Este exemplo funciona bem. O post também oferece outras possibilidades.

LarsTech
fonte
4

Se você possui uma tabela de origem chamada "tabela de dados", coloque esta fórmula em uma folha extra em todas as células (onde os dados impressos devem aparecer):

=OFFSET(datatable!$A$2;(ROW()-2)+((COLUMN()-1-MOD(COLUMN()-1;3))/3*4);MOD(COLUMN()-1;3))

( O de cima é traduzido do Alemão para Inglês A fórmula alemão testada é:. =BEREICH.VERSCHIEBEN(datatable!$A$2;(ZEILE()-2)+((SPALTE()-1-REST(SPALTE()-1;3))/3*4);REST(SPALTE()-1;3)) )

resultado esperado:

Isso transformará o conteúdo da planilha "tabela de dados":

A1 B1 C1
A2 B2 C2
A3 B3 C3
A4 B4 C4
A5 B5 C5
A6 B6 C6
...

para dentro:

A1 B1 C1    A5 B5 C5    ...
A2 B2 C2    A6 B6 C6    ...
A3 B3 C3    ...
A4 B4 C4    ...

Explicação:

Fundamentos:

por exemplo, OFFSET( datatable!$A$2; 3; 4 )referencia a célula em relação a $A$2, 3 linhas abaixo, 4 colunas à direita.

ROW()e COLUMN()são números, representando a posição da célula atual na planilha atual (por exemplo $A$1: coluna 1 / linha 1, $C$2= coluna 3 / linha 2).

O (-1)lugar é necessário porque estamos usando deslocamentos, e a primeira linha e coluna são 1, mas queremos que a primeira célula referenciada seja $A$2, $A$2e não o deslocamento 1.

O (ROW()-2)é para uma manchete no print-table / output- (É shold ser -1 se você não tem um título).
$A$2é para um título na fonte "tabela de dados". Sem título, deve ser referenciado com $A$1(em vez de $A$2).

Detalhes:

O terceiro parâmetro OFFSET(...;...;MOD(COLUMN()-1;3))é o deslocamento da coluna , sempre fará referência a uma das 3 primeiras colunas da origem "tabela de dados".
Ou seja $A$2, o deslocamento da coluna mais 0, 1, 2, 0, 1, 2, 0, 1, 2, ...

No segundo parâmetro, OFFSET(...; (ROW()-2) + ((COLUMN()-1-MOD(COLUMN()-1;3))/3*4) ;...)seleciona o deslocamento da linha .
Basicamente, a matemática aqui é y + x * 4.

4 é o número de linhas que você deseja exibir.
3 é o número de colunas na origem "tabela de dados".

O x é constituído pela coluna e pelo módulo 3.
COLUMN()-1é 0, 1, 2, 3, ... e assim por diante.
MOD(COLUMN()-1;3)será 0, 1, 2, 0, 1, 2, 0, 1, 2, ...

COLUMN()-1-MOD(COLUMN()-1;3)será 0, 3, 6, 9, ... e assim por diante, onde o valor está sendo alterado apenas a cada terceira coluna.
A divisão por 3 resultará em 0, 1, 2, 3, ...
Multiplicação com 4 resultará em 0, 4, 8, 12, ...

(Para obter explicações sobre o Modulo , consulte também MOD()a ajuda do excel, ou operação do módulo na wikipedia )

(Obrigado a Jake Kacher, pela ideia básica)

kicia
fonte
1

Você pode usar uma fórmula simples:

=OFFSET(Sheet1!$A$1,(ROW()-2)*5+COLUMN(),0)

para permitir que os dados fluam horizontalmente em 5 colunas.
Em seguida, você pode selecionar o tamanho da página, imprimir a primeira linha de cada página, etc.
Simples, limpo e sem necessidade de VBA.

Jake Kacher
fonte
3
Provavelmente útil para um Excel Guru - mas não tenho idéia de onde colocaria isso ou como usá-lo.
Anthony Nichols
1
Não faz exatamente o que foi solicitado, mas é interessante, mesmo assim. Se a coluna A tiver uma longa série de números, se você copiar esta fórmula para dizer C, D, E, F, G e arrastá-la para baixo um número suficiente de linhas, você obteria 5 colunas mais curtas de dados. Os dados fluem pelas cinco colunas, enquanto espero que você deseje que os dados fluam por cada coluna e se espalhem. Ainda assim, fórmula compacta muito interessante.
loneRanger 24/02/19
0

A maneira mais fácil que encontrei foi criar uma nova planilha e simplesmente recriar a tabela que se separa manualmente em colunas separadas.

por exemplo A1 =Sheet1!A1

B1 =Sheet1!B1

C1 =Sheet1!C1

D1 em branco (para uma coluna divisória)

então E1 =Sheet1!E51

F1 =Sheet1!B51

G1 =Sheet1!C51

E copie isso para mais de 50 linhas. Isso transforma uma tabela de 100 linhas de coluna única em uma tabela de 50 linhas de 2 colunas. Ajuste para atender às suas necessidades.

Obviamente, isso é manual e depende da contagem de linhas permanecer a mesma. Não seria difícil calcular dinamicamente o número de linhas necessárias a partir do número de linhas na tabela original e o número de colunas que você deseja. O único problema é se a tabela original se expandir além do que caberá em uma única página quando separada em colunas na nova planilha.

Dave Bradshaw
fonte
0

Se você possui o Adobe Indesign, pode colocar o arquivo excel nele e fazer esse layout com facilidade.

Igor Fomenko
fonte