• ベストアンサー

Excel2003で最初のシートからいくつかのシートへ順番で反映させるには?

Excel初心者なのですが、どなたか分かりやすく説明をお願い致します。 シート1のA1セルに名前、B1セルに生年月日、C1セルに性別、D1セルに身長、E1セルに体重などと横に個人データを入力していき、A2、A3と名前の順で100名分のデータを主で管理するとして、シート2にはその個人表として違う書式のものにA1からE1までのデータが反映するものを作り、シート3にはA2からE2、シート4にはA3からE3と同じ名前の順で100名分反映させたいのですがどなたか良い方法を教えて下さい。m(_ _)m

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

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

初心者といっているワリには、難しいことを聞いていますよ。 シートが別になると関数のセルの複写による、参照番地の変化の機能が使えません。 だからエクセルは本課題には向いてないのです。 シートのコピーの機能を使うことになるのかなと思いいます。 方法は (1)INDIRECT関数利用(回答既出) (2)行番号指定 の(2)を説明する。 例データ  Sheet1 の A1:D6 名前 生年月日 性別 身長 a1 b1 c1 d1 a2 b2 c2 d2 a3 b3 c3 d3 a4 b4 c4 d4 a5 b5 c5 d5 ーー Sheet2に B列   C列 姓名 a3  <-第2行 生年月日 b3 性別 c3 身長 d3 の上記の項目見出しと 下記関数式 C2には =INDEX(Sheet1!$A$1:$F$100,$G$1+1,1) C4には =INDEX(Sheet1!$A$1:$F$100,$G$1+1,2) C6には =INDEX(Sheet1!$A$1:$F$100,$G$1+1,3) C8には =INDEX(Sheet1!$A$1:$F$100,$G$1+1,4) を入れる。 実際では、入れるセルはレイアウトを考えて配置する。 G1に3と入れると上記のようになる。 ーー このシートをコピーする。 G1にSheet1の行数に当たる数を入れる。 上例ではG1に、3を入れると3行目のデータが表示されている。 ーー 名前を指定して入れるなら、F1に氏名を入れ G1には=MATCH(F1,Sheet1!$a$1:$a$100,0)と入れると良い。 ==== シートコピーを100枚なども大変で VBAでやるような課題と思うが、無理して関数利用にしている。

visvim
質問者

お礼

ご回答ありがとうございますm(_ _)m 即回答いただきましたが、他の業務でなかなか作業ができずお礼ができませんでした。 No.1回答でも助かりましたが、より分かりやすく説明していただきありがとうございます。 こちらのやり方でうまく業務が効率化されました。 また困ったことがありましたら、よろしく御願いします。

その他の回答 (1)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

完全に自動化は出来ませんが、INDIRECT関数を使用すれば少しは楽にできそうです。 例)シート3が(シート1の)2行目を参照するとして 1)シート3のF1に参照する行(この場合は2)を記入しておく 2)シート3のA1~E1に「=INDIRECT("Sheet1!A" & $F$1)」~「=INDIRECT("Sheet1!E" & $F$1)」を入力   (「Sheet1」にはシート1の名前を入れておく。)   (これで、シート3のA1~E1にシート1のA2~E2が表示される。) 3)シート3内でのデータ参照は2)でできた1行目を参照する形にしてシート全体を作成する。 4)シート3が完成したら、コピーしてシート4を作成。 5)シート4が参照したい人(行番号)を、シート4のF1に入れる(例:3)   (F1に3を入れると、シート4は参照する行がシート1の3行目になる)    ・・・・・・・・・・4)5)の繰返し・・・・・・・・・・・ 注)説明上、1行目を「参照する行」の表示場所にしましたが、もちろん他の行でも可能です。  また、この行が表示されていると邪魔でしょうから、セットした後は、非表示行にしてしまえば気にならなくなると思います。  100回のシートのコピーとF1に1~100まで入力するのを自動化するのにはマクロが必要となります。

visvim
質問者

お礼

ご回答ありがとうございますm(_ _)m 即回答いただきましたが、他の業務でなかなか作業ができずお礼ができませんでした。100回のシートのコピーとF1に1~100まで入力は面倒ですが、だいぶ楽になりました。ありがとうございます。

関連するQ&A

  • Excel2013の条件付き書式が印刷に反映されな

    お世話になります。 Windows7 Pro 32bitでOffice Pro Plus 2013のExcel2013を利用しています。 シートAとシートBが同じ構造になっていて シートAとシートBの同じセルの値が違う場合に 条件付き書式で太字斜体にするように設定しています。 このファイルをExcel2000、2003、2010、2013ユーザが利用するので 下記の式で条件を入れています。 =A1<>INDIRECT("シートB!"&CELL("ADDRESS",A1)) どのバージョンでも画面上は正しく書式が変わりますが 何故かExcel2013では印刷すると書式が反映されません。 (2000、2003では反映されます) INDIRECTを利用しないと2013でも正常に印刷に反映されましたが 2003形式に保存はできませんし、何か良い対策法はありませんでしょうか。 自分が思いつくのは下記くらいです。。 シートAの枠外にシートBの内容を参照させて、シートA内のみで条件付き書式を設定する。 以上、よろしくお願い致します。

  • 【Excel VBA】別シートへの反映方法

    こんばんは。 現在月間&日ごとのスケジュール表をVBAで作成しています。 そこで質問です。 Sheet1のA列に日付、B列に予定、C列に人の名前 があります。 Sheet1のC列の人の名前を各日付ごとの シート(シート名は1日、2日、3日・・・)のセル「E5」へ 反映させたいのですが、どうしても分かりません。 分かり難い質問で、大変申し訳ありませんが、アドバイスよろしくお願いします。

  • EXCEL:何の関数を使えば良いか教えてください

    シート1にB2から順に1名ずつ名前が入力されています。 シート2のB2にシート1のB2にある名前を反映させ、 シート3のB2にシート1のB3にある名前を反映させ、 シート4のB2にシート1のB4にある名前を反映させ、 というのを順に続けていきたいのですが、何か良い方法はありますでしょうか? ちなみにあわよくばシート名も各シートのB2セルの名前にしてしまいたいです。 うまい方法が思いつかず、今のところ手打ちでおこなっているのですが、「手打ちならエクセルでなくてもよくない?」と悶々としております。

  • エクセルで選んだセルによって文章を反映させる

    たびたびお世話になります。 エクセルでシート1にA,B,C,Dの4個のセルがあり このどれかに会社名又は個人名が入ります。 (必ず一つです) 毎回コピペでシート2のEのセルに反映させてますが どれかに入力したら自動的にシート2に反映させる方法は ないでしょうか? おわかりになる方ご教授下さい。

  • 【Excel】数式のみセルに反映

    Excel2007です。 数式のみセルに反映させたいのです。 「数式」を選択しても、計算式は反映されますが、数字はそのままなのでこれを 数字はクリアにして、書式と計算式だけ別のセルに反映させたいのですが、できますか?

  • 【エクセル】シート1のデータを他のシートへ反映したい

    エクセルのシート1のデータを他のシートへ反映させる方法を教えていただきたく思います。 (検索したのですが、自分の状況とは違っていてわからなかったので新たに質問させていただきます) 具体的には、 シート1のセルA1に日付を入力します。 そうすると、シート2~シート7のセルG4にもそのシート1のA1のデータが表示されるようにしたいのです。 そして、シート1のA1のデータを変更すると、 自動的にシート2~シート7のセルG4のデータも変更されるようにしたいです。 以前は、 =シート1!A1 という式で動いていたのですが、 なぜか急に、一度セルG4を指定してenterキーを押して確定してからでないと データが変わらなくなってしまいました。 自動的に反映されるようにするにはどうすればよいのでしょうか? よろしくお願い致します。

  • エクセル関数 シート名をセルに反映させたい

    シート名をセルに反映させたいのですが,以下のようなことができるでしょうか。 =CELL("filename",A1)を使えば,シート名を反映させられるようであることは,ネットで調べて分かったのですが,たとえば,シート2を作成した時に,シート1のA2のセルのところに,自動でシート2の名前を入力できるような関数はありますか?その後,シート3を作成した時に,同様にシート1のA3のところに自動で入力したいのですが,そのようなことが可能でしょうか。 説明が下手で申し訳ないのですが…

  • 【エクセル】シート間で反映させたいのですが、結合されたセルがあるため困っています。

    お世話になります。 あまりエクセルに詳しくないのですが、データをエクセルで表にまとめなくてはならなくなりました。 データは複数シートでまとめています。 Sheet1にすべてのもととなる名簿をまとめ、このシートを更新すると他のシートにも自動的に反映するようにしたいと考えています。 その方法として、「=Sheet1!A1」などと入力して反映させようとしていたのですが、複数あるシートのうち何枚かは反映させたい部分がセルの結合されており、上記のようにするとひとつ飛ばしに反映されてしまいます。 例: 【sheet1】 1 Aさん 2 Bさん 3 Cさん 4 Dさん 5 Eさん 6 Fさん 【sheet2】 1   Aさん 2 3   Cさん 4 5   Eさん 6 わかりにくいですが、このような感じです。 sheet1を無理やりセルの結合させることも考えたのですが、私以外の者も表を扱うこととなるためなるべくシンプルにしたいと思い断念しました…。 セルの結合はそのままで、Sheet1に入力した内容を他のシートに反映させる方法はありますでしょうか? 似たような質問も検索してみたのですが、関数?など複雑なものが多く、よく理解できませんでした。(平均値や標準偏差など簡単な計算はしたことがあるのですが、複雑なものは未経験です。) わがままを言って申し訳ございません。 勉強不足でありご迷惑おかけしますが、何卒よろしくお願いいたします。

  • Excel セル入力データをシート名に反映させるには?

    大変お世話になります。 Excelにて、勤怠表を作成しているのですが、 休日表を作り、そのシート名を「2007年度休日」としています。 そして勤怠表のシート名「山田」(各個人名を入力)の各シートに リンクさせているのですが、シート「2007年度休日」の セルA2 部分に 2007 と入力しているデータを反映させて セルA2を書き換えるごとに シート名も一緒に変更出来ればと思うのですが 出来ますでしょうか? 分かる方、お教えください。宜しくお願い致します。

  • エクセル 別シートの祝日データを使いたいのですが

    シート1で条件付き書式で祝日の色を変えるときに、数式にcountifを使い、あらかじめシート2に名前定義してある祝日データの書かれたセルを用いて=countif(祝日,$A1)としてるんですが、シート1には反映されません。 シート2の日付は色が変わりますので間違ってはいません。 これではなんのための名前定義なのか意味がわかりません。 どうしたら別シートにも反映されますか?

専門家に質問してみよう