• ベストアンサー

【エクセル2002】 3列150行のデータをNアップみたいに印刷指定することはできますか?

A列はひらがなのイニシャル(例.あ) B列は整理番号(例.112) C列は氏名 が入力されているシートがあります。 入力行は対象者の増減で毎回変わりますが、約150行です。 これは、氏名の五十音早見表です。対象者が何番の整理番号かを調べるのに利用しています。 例えば、鈴木一郎さんは、下の表では23番だと見つけ出せます。 す 11 鈴木アリサ す 23 鈴木一郎 す 86 砂川太郎 こんな感じで約150人分が上から下へ一列に並んでいるのですが、印刷時にはなるべく一枚に印刷したいので、印刷時の指定で3列になるような指定方法はあるでしょうか? 例 あ 50 朝田真央   た 89 田仲真紀   ま 16 丸井陽一  い 12 池田千鶴   た 57 田宮沙希   み 88 宮田信治 い 44 石田真一   た 13 田村幸一   み 77 宮村ミク   ・             ・              ・   ・             ・              ・ ちなみに、現在は印刷シートとデータシートを分けて、印刷シートはデータシートからリンクさせるようにして、画面上も3列に並ぶようにして、それを印刷しています。 印刷シートのセルE2に、=Sheet1!A51 として、表示させる方法です。 そうじゃなくて、データシートを印刷するときの指定方法で、3列になる = 1ページにおさまるような印刷指定方法はないものでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

(A)VBA向きの問題ですね。 (B)関数で氏名欄列に注目して1列のものを他シートに3列に変える事はできます。 (A) VBEの標準モジュールに、下記を貼り付け、実行。 Sub test01() For j = 1 To 3 For i = 0 To 15 Worksheets("Sheet1").Cells(Int(i / 3) + 1, (i Mod 3) * 3 + 4 + j) = Worksheets("Sheet1").Cells(i + 1, j) Next i Next j Range("E1:M6").PrintOut End Sub 例データ A1:C15で a 1 あ b 2 い c 3 う d 4 え e 5 お f 6 か g 7 き h 8 く i 9 け j 10 こ k 11 さ l 12 し m 13 す n 14 せ o 15 そ の場合、実行後E1:M5に a 1 あ b 2 い c 3 う d 4 え e 5 お f 6 か g 7 き h 8 く i 9 け j 10 こ k 11 さ l 12 し m 13 す n 14 せ o 15 そ 実用には (1)データ最下行数を捉えるコード (2)2列に折りたたんだ後の、印刷領域の最後行を捉えるコード が必要ですが、Range(・・).End(xlUP).RowでWEB照会デモしてみてください。 (2)Sheet2のA1に =INDEX(Sheet1!$A$1:$C$15,((ROW()-1)*3)+((COLUMN()-1)/3)+1,MOD(COLUMN()-1,3)+1) と入れて、I1まで式を横方向に複写。 次にA1:I1を下方向に式を5行複写。 結果Sheet2にA1:I5に a 1 あ b 2 い c 3 う d 4 え e 5 お f 6 か g 7 き h 8 く i 9 け j 10 こ k 11 さ l 12 し m 13 す n 14 せ o 15 そ

pocorino
質問者

お礼

VBAとは、すごいですね。 大変参考になりました。 ありがとうございました。

その他の回答 (1)

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.1

印刷補助用のツールを使用すると、何も考えなくて良いです。 FinePrint5 http://www.nsd.co.jp/share/fineprint/ Excelから1列で印刷するよう、FinePrint宛てに印刷。 FinePrintでNアップ指定してプリンタ宛てに印刷実施。 -- > データシートを印刷するときの指定方法で、 ってのは厳しいかと。 質問者さんのように参照形式で印刷用のシートを作るのが無難。

pocorino
質問者

お礼

>参照形式で印刷用のシートを作るのが無難。 ですか、ないものねだりだったようですね。 紹介の製品も参考にさせていただきます ありがとうございました。

関連するQ&A

  • エクセル キーとなる項目で判別し重複データ行を削除したい

    エクセル2002を使用しています。 差込印刷用のデータとして整える方法を教えていただきたいと存じます。 具体的には、子供ごとのレコードデータから、親宛の封筒宛名ラベルを作成したいと考えていて、2人兄弟や3人兄弟の場合でも封筒は1通なので、 キーとなる項目を目安に、不必要な行を削除すればできると考えましたが、具体的な方法がわからないでいます。 現在のデータは、以下のものです。(簡潔にするために列を部分的に省いています) 世帯コード   親の氏名   住所           子の氏名 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 三郎 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 四郎 0011556    山田 花子  埼玉県川口市中央     山田 洋子 0011556    山田 花子  埼玉県川口市中央     山田 和夫 0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 陸 これを、次のように「世帯コード」で判別して世帯ごとの最初の行だけを抜き出したり、2行目以降を削除したりできれば、差込印刷用のデータとして利用できると思います。 世帯コード   親の氏名   住所           子の氏名 0011223    鈴木 一郎  東京都千代田区一丁目   鈴木 次郎 0011556    山田 花子  埼玉県川口市中央     山田 洋子 0153355    佐藤 次郎  千葉県船橋市海浜     佐藤 みく 0002333    鈴木 一郎  神奈川県川崎区高津区   鈴木 空 (世帯ごとに一行ずつになっています。親の氏名のうち、鈴木 一郎 さんは、同姓同名の方です。世帯コードが違うので区分できます。) エクセルの機能でこのようにできる方法はあるでしょうか? もしくは別の方法でも、宛名ラベルを親宛に一枚印刷できる方法があるでしょうか? お願いいたします。 データ用のシートですので、行や列の挿入や別シートの利用などはすべてできますので、よろしくお願いいたします。

  • エクセルの縦長(4列500行)データの印刷について教えてください。

    エクセルの縦長(4列500行)データの印刷について教えてください。 エクセルのシート1のA B C D 列にそれぞれ500行のデータがはいっています。 印刷すると、用紙の右のほう半分は空白で、10枚印刷されてしまいます。 用紙の右のほうも使って、1枚にABCD列のセット×4くらい印刷できる方法は ないでしょうか? ↓こんな感じに印刷したいのですが.. ABCD ABCD ABCD ABCD 1 1 1 1 51・・51 101・・101 151・・151 2 2 2 2 52・・52 102・・102 152・・152 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 1列の縦長のデータはINDIRECT関数でできたのですが、 ↓ =INDIRECT("YK!A"&(COLUMN(A1)-1)*50+ROW(A1)) 列が増えると複雑ですごく時間がかかってしまいます。 どなたか詳しい方教えてください。よろしくお願いします。

  • エクセルで印刷

    エクセルのシートに名簿があります。 A列に番号(1~70)、B列に住所、C列に氏名・・G列まであります。 シート2の指定したセル(c3.c5・・)にシート1の指定した 番号の住所、氏名を印刷したいのです。 同じシートでも構いません。 シート上側に印刷フォーム、下側に名簿を移します。 番号指定、印刷、1枚づつの印刷でも構いません。 過去の質問を見たのですが難しくて理解できません。 PC初心者ですが宜しくお願いします。

  • excelでマクロを使用した連続印刷について

    A2セルから通し番号、氏名、住所等のデータが入力されている「データ」シートがあり、 VLOOKUPを使用してB3セルに「データ」シートのA列にある「通し番号」を 入力すると氏名・住所等が反映される「印刷」シートがあります。 例えば「データ」シートのC列(住所)に「東京都」という文字列が 含まれている宛名のみを連続で印刷したい場合、 どのようなマクロになりますでしょうか? (マクロ内に「東京都」と指定する方法と、 シート内の特定セルに入力した文字列で指定する方法が ありますでしょうか?) wordでの差し込み印刷や、宛名ソフト等の使用は考えておりません。 よろしくお願いいたします。

  • エクセルでデータを指定して印刷したい

    ●Sheet1に以下のようにデータが入っています。   A B C 1 あ 100 黄 2 い 200 緑 3 う 300 赤 ●Sheet2のセルA1に1を入力すると、 Sheet3に あ 100 黄、 Sheet2のセルA1に3を入力すると、 Sheet3に う 300 赤 と表示するようにしています。 今までは、データも少なく、Sheet2で印刷したいデータを選択し、 Sheet3を印刷していましたが、データが増えた為、Sheet2のA1に1を、 A2に3を入力して、印刷のボタンのようなものを作り、そこをクリック すると、1から3までをSheet3の表示状態で印刷したいのですが… データを全部印刷するなどはいろいろ調べてわかりましたが、 この、範囲指定はかなり調べましたが、わかりません。 どなたか、よろしくお願いします。

  • Excelで、他のシートのデータを取り込む(統合する)には?

    下記のような「Sheet1」のデータ(学年)に、「Sheet2」のデータ(住所)を取り込もうとしています(データは架空例です)。Sheet1・2は、A列の内容が共通していますが、「Sheet2」のほうがデータ数が少ないです。LOOKUP関数を使えばいいのかと思いましたが、LOOKUPはデータ行数が完全一致している必要があるのか、うまくいきません。 要するに、「Sheet1」のA列に一致する文字列が「Sheet2」のA列にあった場合、その行のB列の内容を「Sheet1」のC列に入れる、というようにしたいのです。どのような手順で行えば可能でしょうか。よろしくお願いします。 --- ■Sheet1(学年データ) 1氏名(A)   学年(B) 2阿部一郎  1年 3伊藤二郎  2年 4上田三郎  3年 5江藤四郎  4年 ■Sheet2(住所データ) 1氏名(A)  住所(B) 2伊藤二郎 東京都○○区 3江藤四郎 大阪府○○市 ■ほしいデータ(Sheet1) 1氏名(A)   学年(B)   住所(C) 2阿部一郎  1年 3伊藤二郎  2年    東京都○○区 4上田三郎  3年 5江藤四郎  4年    大阪府○○市

  • エクセルの複数シートをNアップ印刷することは可能でしょうか?

    1つのシートにA4・1ページ分のデータが入っていて、8ページ分のデータ(8シート)があります。 これをNアップでA4の紙1枚に2ページ分。 合計4枚として印刷したいのですが可能でしょうか? 可能であれば、設定方法を教えてください。 1ページづつ別シートにしている理由は、それぞれ列と行の幅が違うためです。 できればPDFなどに変換せず、エクセルのままで印刷できる方法を教えてください。 よろしくお願いします。

  • エクセル複数シートのデータをワードに差し込み印刷

    データはエクセルの複数シートにあります。 A2列に氏名、D4列に出欠、他の列には日付、課題などが入力されています。 欠席者のみに、氏名入りで、欠席した回の課題をお知せする文書を作りたいです。 シートがひとつなら、ワードの差込印刷を使ったことがあります。でも、複数シートからデータをとりたい時は、ワードの差込印刷はできますか? ワードの差込印刷が無理なら、エクセルの他のシートにお知らせを作って、差込印刷みたいなことができる方法はありますか? エクセルだけでできたら、それはそれで嬉しいのですが。

  • エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか?

    エクセルで,同じ列にある複数の重複する名前を抽出する方法はありますか? たとえばA1~A100に氏名が入力されている中に鈴木一郎,佐々木次郎,高橋三郎など重複して氏名が入力されているとします。どの氏名が重複入力されているか不明なので,オートフィルターで抽出するのはチョット不便です。 この場合,鈴木一郎,鈴木一郎,佐々木次郎,佐々木次郎,高橋三郎,高橋三郎と言うように上から順番に重複している氏名を抽出して表示する関数はありますか?

  • EXCELで「行と列を入れ替える」操作を何回も繰り返して自動実行する方法はないでしょうか?

    EXCELシート上で、セルを範囲指定してコピー後に、コピー先のセル上で[形式を指定して貼り付け]を選択し、画面上の[行列を入れ替える]のチェックボックスに印を入れて実行すると、行と列が入れ替わった表が貼り付けられますよね。 このような操作を何千回も繰り返す必要があるのですが、今は1回ずつキーボード操作を行っているのでかなり時間がかかっています。 自動的に上記の操作が実行されるようにする方法はありませんでしょうか? ちなみに、「行と列を入れ替えたいセルはすべて同じシート(ブック)上にあります。」 例)(EXCEL上で次のように並んでいます) 【現状の並び方】 氏名1 住所1 電話1 氏名2 住所2 電話2  ・  ・ (上記のようなセルデータが数千つづく) 【上記のデータを次のように並べたいのです】 氏名1 住所1 電話1 氏名2 住所2 電話2  ・  ・ (数千つづく) 何か方法がありましたら、お教え願います。 どうぞ宜しくお願いいたします。

専門家に質問してみよう