• ベストアンサー

EXCELで受験票を作成したい(名簿の名前と受験番号を別シートに転記する方法)

いつも大変こちらではお世話になってます。 エクセルで、社内教育の受験票を作成しなければなりません。 内容は (1)シート「名簿」に受験番号と氏名 (A列に受験番号、B列に氏名がずらりとならんでます) (2)シート「受験票」には A   B    C    D 1行目 受験番号 受験番号 受験番号 受験番号 1行目 3行目 氏名   氏名   氏名   氏名 4行目 (以下ずっと同様の内容が続く) となっており、この2行目に受験番号、4行目に氏名を (1)の名簿のデータから転記していこうと思ってます。 件数がかなりあるので、何かいい方法がないかと マクロを使用しようと、試しにマクロの記録で手がかりをつかみたかったのですが、 長い長いVBAができるだけで、何の参考にもなりませんでした。。 マクロを使用しないでも、関数でもいいので、よい方法がないか 教えてください。ちなみにこの業務は1年に6回もあるらしいので、 何とか簡素化したく思ってます。

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

  • ベストアンサー
noname#204879
noname#204879
回答No.4

シート「受験票」において、 セル A1 に式 =INDEX(名簿!$A:$A,COLUMN()+((ROW(2:2)+2)/4-1)*4,1) を、 セル A4 に式 =INDEX(名簿!$B:$B,COLUMN()+((ROW(2:2)+2)/4-1)*4,1) を、 それぞれ入力して、範囲 A1:A4 を右方にズズーッとD列まで複写した後、範囲 A1:D4 を下方にズズーッと複写

paopao1234
質問者

お礼

お礼が大変遅くなり申し訳ありませんでした。 この方法でもできました!(これは自宅にてやってみました) ただ、できたのですが、なぜこれでできるのかを ずーーーーっと考えております(今も。。)4で除して 4を乗じる部分が難解で。。まだまだですね。

その他の回答 (3)

  • rin01
  • ベストアンサー率43% (33/76)
回答No.3

こんばんは~♪ >(1)シート「名簿」に受験番号と氏名 >(A列に受験番号、B列に氏名がずらりとならんでます) すでに、出来ているものでしたら ★A列の受験番号の範囲をコピー。 シート「受験票」の A2セルへ 形式を選択して貼り付け→行列を入れ替える では、ダメなのでしょうか? 氏名も同じくです。 ★関数でしたら シート「受験票」の A2: =INDEX(名簿!$A:$A,COLUMN(B1)) 右にコピーします。 A4: =INDEX(名簿!$B:$B,COLUMN(B1)) 右にコピーします。 で、いかがでしょうか? 。。。。Ms.Rinでした~♪♪

paopao1234
質問者

補足

ありがとうございます。NO.1の方への補足と同様になってしまいますが、補足いたします。 受験票のシートは     A     B    C     D 1行目 受験番号 受験番号 受験番号 受験番号 2行目 3行目 氏名   氏名   氏名   氏名 4行目 5行目 受験番号 受験番号 受験番号 受験番号 6行目 7行目 氏名   氏名   氏名   氏名 8行目 (以下9行目以降も同様のくりかえし) の構成で、列はD列までの4列でA4サイズに設定されてます。 おっしゃるようにデータを貼り付けると とりあえず2行目に全ての受験番号が、4行目に全ての氏名が 貼り付けられますが、4列までしかないため 4つずつを 切り取っていかねばならないのです・・

  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.2

Wordで受験票のフォームを作り、Excelのデータを取り込んで印刷するように差し込み印刷を設定したらどうでしょう。 過去に私も同様の要求に応えるExcelシートを作りましたが、マクロというよりVBAでプログラミングしました。 そう難しい内容ではないので、身近にVBAプログラミングができる人にお昼ご飯1回分くらいでつくってもらうのもよいでしょう。

paopao1234
質問者

補足

ありがとうございました。 身近にはVBAどころか、エクセルに関してはほとんど出来る人がいなくて(だから今回の受験票作成も私にまわってきているようですが) 誰かにお願いするのは難しそうです。。

  • zizi-chan
  • ベストアンサー率66% (14/21)
回答No.1

質問の意味をとり間違えていたら申し訳ありません。 シート名簿のA列のデータ(セルA1、セルA2、セルA3・・・)のデータを、シート受験票の2行目(セルA2、セルB2、セルC2・・・)に、貼り付けるという事でしょうか? それならば、シート名簿のA列のデータ(受験番号)をすべて範囲選択し→コピー→編集メニュー→形式を選択して貼り付け→行列を入れ替えるにチェックをいれて【OK】ボタン これで、列のデータを行に貼り付ける事ができます。 同じように、氏名のデータも貼り付けます。 ちなみにExcelのバージョンによっては、ツールボタンの貼り付けにも「行列を入れ替える」がありますので、そちらでも同じ結果になります。

paopao1234
質問者

補足

ありがとうございます。 質問の意味はおっしゃるとおりで、やってみたのですが 受験票のシートは     A     B    C     D 1行目 受験番号 受験番号 受験番号 受験番号 2行目 3行目 氏名   氏名   氏名   氏名 4行目 5行目 受験番号 受験番号 受験番号 受験番号 6行目 7行目 氏名   氏名   氏名   氏名 8行目 (以下9行目以降も同様のくりかえし) の構成で、列はD列までの4列でA4サイズに設定されてます。 おっしゃるようにデータを貼り付けると とりあえず2行目に全ての受験番号が、4行目に全ての氏名が 貼り付けられますが、4列までしかないため 4つずつを 切り取っていかねばならないのです・・