• ベストアンサー

一列に収っている語句を4列に振り分ける方法

順位が決められている約10000語のある語句を、Excel2003のA列1行にまとめています。 これをこのまま印刷したのでは、語句が紙の左端に偏った状態で刷られ、大量の紙が必要になってしまいます。 そこでこれを、例えば各1ページ256個ずつ収めるとして、語句にふられた順位通り、4列に自動的に表示させる・振り分けさせる事はExcelで可能でしょうか。 Excel以外の別の手段でこうできるのならexcelにこだわりません。 図で説明するとこんな感じです。  A 1 2 3 ・ ・ 10000 ↓ 「1ページ目」  A  B  C   D 1   65 129  193 2   66  ・  ・ 3   ・  ・  ・ 4   ・  ・  ・ ・   ・  ・  ・ 64  128  192  256 「2ページ」 257 ・ ・ 以下続く 上記の数字は、実際は数字ではなく単語だとお考えください。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

別シートの適当なセルに以下の式を貼り付けて、右方向、および下方向にコピーしてみてください =OFFSET(Sheet1!$A$1,INT((ROW(A1)-1)/64)*256+(COLUMN(A1)-1)*64+MOD(ROW(A1)-1,64),0) でも1頁に64行は入りますか? この手の質問は「例えば」で質問すると、後で苦労することがあります。もし行数を変えるなら式をどう変えればよいか考えてみてください。

cara2005
質問者

お礼

最初は手作業でやっていたのですが、お陰様で助かりました。 ありがとうございました。

その他の回答 (1)

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

INDIRECT関数でできそうですね。 INDIRECT関数は引数の文字に応じて参照するアドレスを変更することができます。 例:=INDIRECT("A"&1+64)→ =INDIRECT(A65) =A65 あとは縦横に応じたアドレスが指定されるように引数を与えるだけです。 INDIRECT関数の代わりにOFFSET関数でも同様に可能です。 例:=OFFSET(A1,64,0,1,1) → =A65 あとは縦横に応じた数値を計算で求めるように式を組んで引数として与えるだけです。 印刷用に別のシートにこの関数を設定すれば、希望どおりの印刷ができると思います。

cara2005
質問者

お礼

ありがとうございました。

関連するQ&A