- 締切済み
エクセルでの行変換
こんにちは。 こんなことできたらいいなあという気持ちなのですが、 1列に(または1行に)入力した文字や数列がありますよね。(注:セル上ではありません、1つの列や行で) それでですね、印刷をするときに、印刷プレビューを開くと1ページにはおさまらなくなり、1列のものが何ページにもまたがって、印刷されてしまいますよね。 そんなときの裏わざとして、 ”1列のものをいくつかの列に並べて、1ページにまとめられる設定” というのはできませんか? たとえば、文字や数列が規則正しく、上から、下までいったらいったら次の行というような形式になっている場合、文字や数式をセルに追加したい時、各列に含むセルの数が変わってしまったり、均一でなくなったりしてしまい、とても不便です。 よろしくお願いします。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
#3のものです。 >実際の印刷する最下行の数字で上記関数式の50を変えて下さい。 最下行の数字というのはB50、の関数式を50にしてしまうということですか? 違います。B1に入れる関数式の=OFFSET($A1,(COLUMN()-1)*50,0) の50の2文字を例えば印刷したときのA列の 最下行をA42にしたかったら、=OFFSET($A1,(COLUMN()-1)*42,0)に変えてください。A1:A42-->元のまま B1:B42はA43:A84が来る。C1:C42はA85:A126がくるので 印刷時に印刷範囲をA1:C42とすればA1:A126までのデータが1ページに印刷されるということです。 >??$って何を表しているのですか? 絶対番地参照といって、複写した時、列や行や列と行両方 が変化させないときに使います。割合(シェア)などを出すとき必要になる仕組みですから、勉強してください
- imogasi
- ベストアンサー率27% (4737/17069)
#3のものです。回答を入れてその後考えてみると (1)例えばSheet2にデータがあるとして、Sheet2は原本としてとっておいて余分な列を増やしたりしない。 (2)印刷用として1シートSheet3を使い Sheet3のA1に=Sheet2!A1といれ、例えばA45まで複写 Sheet3のB1に=Sheet2!A46と入れ、B46まで複写。 以下C1、D1も式を設定し46行まで複写。 (3)Sheet3を印刷。 この方が、単純で判りやすいかと思います。手間はかかりますが、如何様にも調節できます。 (4)Sheet3で全体範囲(印刷内容部)をずらし調節したい時は、左上隅のセルを指定しておいて、ShiftとCtrlを押しながらEndキーで全体範囲指定出来て、下辺で上矢印マウスポインタを出し移動させると、好きな位置にセットできます。関数式は崩れませんので、この方法も使えるケースがあるかなと思います。
- minarai
- ベストアンサー率30% (167/540)
ご質問の内容は、次のような感じでいいですか? 1. 例えばA列だけにデータが入っている表がある。 2. で、行数は用紙1枚に収まらない行数(例えば100行とか)。 3. 印刷すると、当然2ページ以上に分かれて印刷されちゃう。 4. だけど、1列しか入力してないから横は余っているのね。 5. だったら、紙ももったいないし、2ページ目に出ちゃった分を 右側の余っている分に入れられないかしら?? 上記の通りっていう仮定で話を進めます。違っていたらごめんなさい。 Excelだとムリではないでしょうか?Wordでしたら、段組編集とか袋とじ指定で可能なんですけど。もしも自分がそれをやらなきゃいけないなら、Excelで作った表をコピー&貼り付け か何かでWordに持って行って、それからページ設定等でどうにかすると思います。
- imogasi
- ベストアンサー率27% (4737/17069)
(テストデータ)A1:A2に1、2を入れフィルハンドルで下へ引っ張ります。140行ぐらいでもやって見ますか。 A1:A140に連続番号が入ります。 (関数式) B1セルに =OFFSET($A1,(COLUMN()-1)*50,0) と入れます。そしてB2:B50まで式を複写します。 B1:B50は51から100の数字が入ります。 B1セルをC1セルにフィルハンドル(+)で引っ張りましょう。C2:C50まで引っ張りましょう。 101から140までの数字が入ります。 ここで数字ではピンと来ないでしょから、A57のセルを 大阪と変えてみましょう。B7セルが大阪と変りました。 A106セルを京都と入力しますと、C6セルが京都になります。 (応用) 実際の印刷する最下行の数字で上記関数式の50を変えて 下さい。 関数式で$A1となっているところがミソなので$には注意を。 (2列以上がペアー) A、B、C列が組になっていてD、E、F列に移すときは D1に入れる関数式を(A列50行以下--->D列1行以下に 持ってくるための式) =OFFSET($A1,(COLUMN()-3)*50,0) にして、D列=4より3を引いて1(=A列)を参照するように変えてください。
「1ページに収める」のが目的なら、 (1) 印刷余白の調整 (2) 縮小印刷 (3) 必要に応じてB4、A3の用紙を使用 など。 お好きな方法でどうぞ。
補足
(1) 印刷余白の調整 (2) 縮小印刷 がちょっとよく分かりません。 1列になが~くセルが並んでいる場合です。それを自動的にいくつかの列に分けて、1ページにしたいんです。 ただ、1列のものを1ページにまとめるだけではなくて、いくつかの列に分ける設定にしたいんです。 追加したときも、そのいくつかの列が均一になっているような設定にしたいのです。 よろしくお願いいたします。
- tatuya_00_000
- ベストアンサー率15% (2/13)
印刷プレビュー→改ページプレビューで青い点線をドラッグしすると一ページ内に納まります。。
お礼
できませんでした。すみません。
補足
すごーい!! 自動的にA106セルに京都を入れるとC6セルに京都って入るんですね。なんか感動。 でも、次の応用が難しいですね。 >実際の印刷する最下行の数字で上記関数式の50を変えて 下さい。 最下行の数字というのはB50、の関数式を50にしてしまうということですか? そしたら、B50にはB49セル内の99の次に50って入ってしまうけれども、意味があるのですか? >関数式で$A1となっているところがミソなので$には注意を。 (2列以上がペアー) ??$って何を表しているのですか? 勉強不足でごめんなさい。